The present invention relates to an application program establishing platform and a system of performing the application program establishing platform. In particular, it relates to an establishing platform which allows any user to establish an application program based on a user-defined if-that-than-that rule by oneself.
For recent years, with the prosperous developments of mobile technologies, the various mobile devices, such as a smart phone, a tablet computer, a phablet, a wearable device and so on, are rapidly improved and universalized. These various mobile devices respectively rely upon different operating systems (OSs) to drive, to arrange and to manage the typical operations in the device. There are several kinds of compilers corresponding to the respective operating systems provided for the general users, the ordinary consumers or the technical staff to encode or to compile the specific source codes executable under the specific operating system environment. The users can uses the compiler to program various application program (App), such as an entertainment game App, a finical App, a LBS service App, a communication App, a GPS-based App and so on, which are all executable on the mobile device.
However, as known to everyone, developing an App for running on the currently most popular Android smart phone is never to be an easy thing to do. The developer must get started from very initially and learn the Android SDK developing platform, the Eclipse developing environment, the Web related technologies and the Java syntax etc. Usually the developer must be a senior professional programmer. An ordinary user or consumer can never have an opportunity to develop one's own application program to run on a mobile device.
This is to say, in order to program an application program to execute on the mobile device, the developer must have quite professional capability and foundation regarding programming. For a minimum requirement, the developer shall understand the Html language, Java language, Android system and iOS system at least. Except the good programming capability, developing a successful application program further requires the very attractive digital contents. Therefore, to accomplish an application program is actually a laboring demanding task and also requires massive designs and plans. Hence, there needs a very convenience and simplified way to establish an application program. Especially there is a need to provide an ease way by which every ordinary user and general consumer can even establish the one's own application program, in particular to establish an IFTTT-based application program.
There is a need to solve the above deficiencies/issues.
The present invention provides an application program establishing platform. The application program establishing platform, which is configured to be implementable on a computer to provide a user with a user interface for establishing an application program based on a user-defined logical determining criterion and implementable on a mobile device, includes a managing module. The managing module is configured to provide the user to set the user-defined logical determining criterion, wherein the user-defined logical determining criterion is based on an if-this-than-that rule, and to compile the application program into a format implementable on the mobile device.
The present invention further provides a system of performing an application program establishing platform. The system of performing an application program establishing platform, by which system a user accesses the application program establishing platform having a user interface through a browser to establish an application program based on an if-this-than-that rule and implementable on a mobile device, includes a server and a user end. The server in which the application program establishing platform is installed is user for performing the application program. The user end is electrically connected to the server through an internet and capable of performing the browser, through which browser the user accesses the application program establishing platform, wherein the application program establishing platform comprises a managing module configured to provide the user to set up the if-this-than-that rule.
A more complete appreciation of the invention and many of the attendant advantages thereof are readily obtained as the same become better understood by reference to the following detailed description when considered in connection with the accompanying drawing, wherein:
a) shows a schematic diagram illustrating the editing area for the user interface provided by the IFTTT App establishing platform in accordance with the present invention;
b) shows a schematic diagram illustrating the setting area for the user interface provided by the IFTTT App establishing platform in accordance with the present invention;
a) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
b) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
a) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
b) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
c) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
d) shows a schematic diagram illustrating the IFTTT rule addition page provided by the IFTTT App establishing platform in accordance with the present invention;
The present disclosure will be described with respect to particular embodiments and with reference to certain drawings, but the disclosure is not limited thereto but is only limited by the claims. The drawings described are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes. The dimensions and the relative dimensions do not necessarily correspond to actual reductions to practice.
It is to be noticed that the term “including”, used in the claims, should not be interpreted as being restricted to the means listed thereafter; it does not exclude other elements or steps. It is thus to be interpreted as specifying the presence of the stated features, integers, steps or components as referred to, but does not preclude the presence or addition of one or more other features, integers, steps or components, or groups thereof. Thus, the scope of the expression “a device including means A and B” should not be limited to devices consisting only of components A and B.
The disclosure will now be described by a detailed description of several embodiments. It is clear that other embodiments can be configured according to the knowledge of persons skilled in the art without departing from the true technical teaching of the present disclosure, the claimed disclosure being limited only by the terms of the appended claims.
The computer described in the present disclosure is preferably a personal computer, a desktop computer or notebook computer, the mobile device described in the present disclosure is preferably a smart phone, a tablet computer or a phablet (a.k.a. a tablet phone), the internet described in the present disclosure is preferably a cable network, a wireless network, a cloud network, a local area network (LAN) or a wide area network (WAN), and the application program described in the present disclosure is hereinafter referred to as App for short, which App is a program implementable through the aforementioned mobile device. For the sake of describing the present invention simply and definitely, the aforementioned computer is to be exemplarily described with respect to but not limited to a desktop computer and the aforementioned mobile device is to be exemplarily described with respect to but not limited to a smart phone.
The present invention requires the uses of the cloud networks related services and technologies, such as a software as a service (SaaS) technology, a platform as a service (PaaS) technology and an infrastructure as a service (IaaS) technology etc. A service provider refers to an entity in responsible to design, develop, manage or maintain an application program establishing platform described in the present disclosure and in accordance with the present invention. The App in the present disclosure is an application program related to and based on the geographic information system (GIS) technology, the global positioning system (GPS) technology and the location based services (LBS) technology and can show the geographic-based contents including the GIS-related information, the GPS-related information and the LBS-related information, which is capable of rendering users to quickly understand the geographic-based information regarding the area where she/he currently stays.
It is to be noticed that the present disclosure includes contents in Taiwan patent application number 100126878, entitled as “Method of Providing Contents for Mobile Computing Device” and filed on 28 Jul. 2011, contents in Taiwan patent application number 101102719, entitled as “Method of Establishing Community Application Program for Mobile Computing Device” and filed on 20 Jan. 2012, contents in Taiwan patent application number 101115678, entitled as “System and Method of Establishing Application Program for Mobile Computing Device” and filed on 2 May 2012 and contents in Taiwan patent application number 101123945, entitled as “Establishing System and Method for Establishing Application Program for Mobile Computing Device and Having Capability Controlling Input and Output Interface” and filed on 3 Jul. 2012, which above-identified applications have the Applicants the same as the present invention does and are incorporated into this application by reference as if fully set forth herein.
Syntax IFTTT (IF This Then That) is typically referred to as a conditional selection structure which is a basic and necessary syntax in all kinds of the computer program language. The IFTTT syntax is also regarded as a condition-triggered automation tool, which means that if a triggering event, a specific event, a specific input or a stimulation occurs, then a responding task, a specific response, a specific task or a specific action is triggered, activated, started or enabled in response thereto. A complete IFTTT syntax including the this part (the triggering event) and the that part (the responding task) also refers to as an IFTTT rule or an IFTTT recipe.
Accordingly, the present invention proposes a cloud technology-based establishing platform which allows an ordinary user or a general consumer to be able to establish an IFTTT-based application program including a user-defined IFTTT rule and executable on a mobile device by oneself. The IFTTT application is an if-this-then-that automation tool, which is also known as “an automatic task”, “a logical determination” or “a condition-trigger-response determination”. The establishing platform further combines the input/output interface control technology, so that an ordinary user or a general consumer can even establish an application program having the capability to remotely control an external device separated from the mobile device.
For a smart phone, the mobile device 102 includes an application processor, a wireless communication module, a display module, multiple functional modules, multiple sensor modules and so on, wherein the wireless communication module is preferably one selected from a wireless signal power amplifier chip, a radio frequency chip and a combination thereof, the multiple functional modules are preferably one of an audio encoding/decoding chip, a memory chip, power management chip, battery management chip and so on, and the multiple sensor modules are preferably one of a motion sensor chip, an acceleration sensor, a magnetic sensor, an infrared ray emission LED, a front image sensor, a rear image sensor, a luminance sensor, a touch-sensed chip, a GPS signal sensor, a proximity sensor, a temperature sensor, a counter sensor, a timer and so on.
The wireless communication module in the mobile device 102 is used for receiving or transmitting a wireless signal from or to a base station. Each of the multiple sensor modules is used for sensing a specific event, generating a sensing signal corresponding to the specific event and sending the sensing signal to the application processor. An IFTTT-based application program in accordance with the present invention is installed in the application processor. After the application processor receives the sensing signal, the IFTTT application program performs a user-defined logical determining criterion including a user-defined condition. The program then determines whether the sensing signal satisfies the user-defined condition based on the criterion, and if the sensing signal meets the user-defined condition, the application processor is then triggered to perform a specific task in response to the specific event, to complete the entire IFTTT-based operation.
It is to be noticed that the IFTTT-based App includes an I/O control functional subroutine to enable the mobile device to communicate with an external device in bi-direction by Wi-Fi or Bluetooth wireless communication technology, wherein the external device is preferably one of a weighing scale 104, an oximeter 105, a remote control vehicle, a camera and so on, whereby the mobile device is allowed to control the external device through the I/O interfaces in the mobile device by the I/O control functional subroutine in the IFTTT-based App, which technology is fully disclosed in Taiwan patent application number 101123945 which is fully incorporated into this application by reference as if set forth herein.
Thus, the mobile device, for example, a smart phone preferably, is to be a very smart phone based on the user-defined “if-this-then-that” rule. For example, a user can define to enable several beep sounds when the smart phone approaches to a predetermined location, to trigger the flashlight or the camera when the smart phone is moved or shook or to active the camera at a specific time on a specific date and so on. Therefore, any smart phone to be installed with such IFTTT-based App can serve a user better as a smart assistance, a smart notificationer, a smart sound maker or a smart motion sensor etc. In the present invention, it is capable of rendering any user to autonomously set up this IFTTT-based App by oneself by an App establishing platform. Any user can define a triggering event, a responding task in correspondent to or in response to the triggering event and various parameters in an IFTTT rule by one self through simply operating the App establishing platform. The platform then complies and packs the user-defined condition for IFTTT rule as an App implementable on the mobile device, so that any user can create an IFTTT-based App implementable on a mobile device in accordance with to the IFTTT rules of one's own, so as to achieve a customized IFTTT-based App.
The IFTTT-based App establishing platform (hereinafter termed as “platform” for short) is installed on the server 103. The platform is an App generator based on such as PaaS technology and is designed, developed, managed and maintained by a service provider. The platform opens the IFTTT conditions regarding the triggering event, the responding tasks and various IFTTT parameters to any user and provides a simple option form which provides any user to set up the conditions simply through filling and selecting the form in a convenience and easy way, so as to set up the IFTTT rules of one's own by the user. After the user completes the form, the platform complies, programs, packs and encodes an App including these conditions including the triggering event, the responding tasks and various IFTTT parameters to become as an application program executable on the mobile device. For example, for an android system, the platform can establish the .apk app. The user can then install this App on the mobile device to perform the IFTTT missions. By this way, any user or an ordinary consumer can easily, simply and quickly make an IFTTT-based App in accordance with demands of one's own. The platform involves the technologies disclosed in TW patent application number 100038225, TW patent application number 101102719, TW patent application number 101115678 and TW patent application number 101123945, which are fully incorporated into this application by reference as if fully set forth herein.
This embodiment is used for describing the IFTTT App for mobile device and the IFTTT App establishing platform thereof.
During operating, when the user successfully logs into the establishing platform, she/he can click the IFTTT management button 230 situated in the upper left corner in the functional area 210 within the setting area B. After clicking, the user enters an IFTTT rule addition page 240 which is shown in the editing area A as shown in
In the first embodiment, the IFTTT rule addition page 240 as shown in
If a user wants to newly add an IFTTT rule, the addition process can be completed through operating the IFTTT rule addition page 240. First the user specifies an appropriate title to represent the IFTTT rule and input it into the Title field 250 in the IFTTT rule addition page 240. Then the user clicks the IF pull-down menus 260 to select a triggering event to be detected. In this embodiment, there are four triggering events provided to the user to be exemplarily described with respect to but not limited to a compass-based triggering event, a GPS-based triggering event, a posture-based triggering event and an acceleration-based triggering event.
As shown in
If the compass-based triggering event is selected in the IF pull-down menus 260 and an angle representing the North direction is filled into the angle field 270, when the smart phone is oriented toward the North direction, the smart phone is capable of making several beep sounds, activating a flashlight or linking to a URL hyperlink address, in response to the orientation of the smart phone.
As shown in
According to the GPS-based IFTTT rule, when the smart phone enters into or quits a specific radius based on the inputted latitude and longitude as a center point, the responding tasks such as making several beep sounds, activating a flashlight or linking to an URL hyperlink is to be performed if the triggering event occurs.
As shown in
When the user completes the configurations for the IFTTT rule, if the user returns to the editing area A in the options management page 200 as shown in
Consequently, the user can further click the Modify Icon following with the corresponding IFTTT rule to enter a button data modification page 290 as shown in
In the second embodiment, the above-mentioned I/O control technology which is realized through an I/O control functional subroutine is now integrated and combined into the application program establishing platform, so as to generate an IFTTT-based App capable of controlling an external device. An Arduino SoC (system on chip) remote control toy car preferably acts as an external device in this second embodiment. A standard Bluetooth wireless communication protocol is preferably adopted as the I/O communication interface between the mobile device and the external device. If user installs the IFTTT-based App on the mobile device, she/he can remotely control the toy car through the App installed on the mobile device. As shown in
The second embodiment is used for describing the integration and combination of the above-mentioned I/O control technology with the present application program establishing platform in order to further control an external device. In following with the above-mentioned descriptions to
In the IFTTT Rule Addition page 300, a “wireless device” option is additionally included in the IF pull-down menus 360. First, the user selects the “wireless device” option in the IF pull-down menus 360 and next selects the wireless communication protocol intended to use, such as a Wi-Fi protocol or a Bluetooth protocol, through the Wireless Device pull-down menus 390. In this embodiment, a Bluetooth protocol is preferably selected as the wireless communication protocol. Then the user inputs the specific ID for the external device in the Device ID field 391. It is assumed that the specific ID for the external device is Appsduino, and then the character string “Appsduino” is inputted into the Device ID field 391. Then the user selects the “Transmit Strings or Orders” option in the That pull-down menus 380 and inputs the strings or orders into the Transmit Strings or Orders field 393. In this embodiment, since the Arduino SoC accepts orders from the Arduino open source code which consists of a series of umbers, the Arduino order 633113 for representing moving forward is inputted into the Transmit Strings or Orders field 393. Therefore, an IFTTT rule that a corresponding task to instruct the toy car to move forward is activated when any user touches the moving forward arrow shown on the control interface 700 is generated.
By the same token, multiple IFTTT rules regarding controlling the external device, such as the toy car, to move backward, to turn right, to turn left and to stop are generated. In the mean time, there are multiple titles for the above-mentioned IFTTT rules newly appearing in the IFTTT Rule Addition page 300 in the editing area A, as shown in
Then the user drags the mouse to select a box area which entirely covers the forward triangle symbol, namely the neighboring area around the forward triangle button 510. At the mean time, the Coords field in the first row in the image map area block shows the corner coordinates for the selected box area, which are (99, 60, 215, 150) in this second embodiment. Then the user fills the identifier name representing moving forward into the Href field in the first row, which is ifttt_android(1) in this second embodiment. Similarly, the user drags the mouse to select a box area which entirely covers the backward triangle symbol, namely the neighboring area around the backward triangle button 520. At this time, the Coords field in the second row in the image map area block shows the corner coordinates for the selected box area, which are (100, 261, 220, 351) in this second embodiment. Then the user fills the identifier name representing moving forward into the Href field in the second row, which is ifttt_android(2) in this second embodiment. Accordingly, the character strings ifttt_android(1) representing moving forward is to be mapped to the area within the coordinates set (99, 60, 215, 150) and the character strings ifttt_android(2) representing moving backward is to be mapped to the area within the coordinates set (100, 261, 220, 351). Therefore, as the user touch the area within the coordinates set (99, 60, 215, 150) representing the forward triangle button, this touch event is regarded as a triggering event and then the predetermined action (to drive the toy car to move forward, namely the corresponding task) set by the character strings ifttt_android(1) is activated or enabled to drive the toy car to move forward. Similarly, as the user touch the area within the coordinates set (100, 261, 220, 351) representing the backward triangle button, this touch event is regarded as a triggering event and then the predetermined action (to drive the toy car to move backward, namely the corresponding task) set by the character strings ifttt_android(2) is activated or enabled to drive the toy car to move backward.
There are further embodiments provided as follows.
An application program establishing platform, which is configured to be implementable on a computer to provide a user with a user interface for establishing an application program based on a user-defined logical determining criterion and implementable on a mobile device, includes: a managing module configured to provide the user to set the user-defined logical determining criterion, wherein the user-defined logical determining criterion is based on an if-this-than-that rule, and to compile the application program into a format implementable on the mobile device.
The platform according to Embodiment 1, the managing module is configured to provide the user to set the user-defined logical determining criterion by one of a menu-based operation and a click-based operation.
The platform according to Embodiment 1 further includes: a compiling module configured to compile the user-defined logical determining criterion into an application program executable on a mobile device.
The platform according to Embodiment 1, the mobile device further includes: a wireless communication module used for transmitting/receiving a wireless communication signal; a plurality of sensor modules, each of which sensor modules is used for sensing a specific triggering event and correspondingly generating a sensing signal; and an application processor receiving the sensing signal and performing the user-defined logical determining criterion, wherein the user-defined logical determining criterion is used for determining whether the sensing signal satisfies a predetermined condition, and if the sensing signal satisfies the predetermined condition, the application processor is triggered to perform a specific responding task in response to the specific triggering event.
The platform according to Embodiment 4, the application program based on the user-defined logical determining criterion is installed in the application processor and the application processor performs the user-defined logical determining criterion through performing the application program.
The platform according to Embodiment 4, the plurality of sensor modules are one selected from a group consisting of a motion sensor, an acceleration meter, an electronic compass, an infrared ray light emitting diode, a front camera, a main camera, an luminance sensor, a touch sensor, a global positioning system module, an image sensor, a magnetic field sensor, an orientation sensor, a proximity sensor, an near field sensor, a temperature sensor, a counter, a count-up timer, a count-down timer and a combination thereof.
The platform according to Embodiment 1, the mobile device is one selected from a smart phone, a tablet computer, a phablet, a wearable device and a combination thereof.
The platform according to Embodiment 1, the computer is one selected from a personal computer, a desktop computer, a notebook computer and a combination thereof.
The platform according to Embodiment 1, the application program implementable on the mobile device is based on one selected from a geographic information system (GIS) technology, a global positioning system (GPS) technology, a location based services (LBS) technology and a combination thereof.
The platform according to Embodiment 1, further comprising a plurality of cloud technology related services which is selected from a software as a service (SaaS) technology, a platform as a service (PaaS) technology, an infrastructure as a service (IaaS) technology and a combination thereof.
A system of performing an application program establishing platform, by which system a user accesses the application program establishing platform having a user interface through a browser to establish an application program based on an if-this-than-that rule and implementable on a mobile device, includes: a server in which the application program establishing platform is installed; and a user end electrically connected to the server through an internet and capable of performing the browser, through which browser the user accesses the application program establishing platform, wherein the application program establishing platform comprises a managing module configured to provide the user to set up the if-this-than-that rule.
The system according to Embodiment 11, the mobile device is one selected from a smart phone, a tablet computer, a phablet, a wearable device and a combination thereof.
The system according to Embodiment 11, the user end is one selected from a personal computer, a desktop computer, a notebook computer and a combination thereof.
The system according to Embodiment 11, the internet is one selected from a cable network, a wireless network, a cloud network, a local area network (LAN) or a wide area network (WAN) and a combination thereof.
While the disclosure has been described in terms of what are presently considered to be the most practical and preferred embodiments, it is to be understood that the disclosure need not be limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims, which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures. Therefore, the above description and illustration should not be taken as limiting the scope of the present disclosure which is defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
102118126 | May 2013 | TW | national |