WO2012040936A1 - Application launching method and system - Google Patents

Application launching method and system Download PDF

Info

Publication number
WO2012040936A1
WO2012040936A1 PCT/CN2010/077537 CN2010077537W WO2012040936A1 WO 2012040936 A1 WO2012040936 A1 WO 2012040936A1 CN 2010077537 W CN2010077537 W CN 2010077537W WO 2012040936 A1 WO2012040936 A1 WO 2012040936A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
application
database
user equipment
user
Prior art date
Application number
PCT/CN2010/077537
Other languages
French (fr)
Inventor
Siyuan Huang
Zhihong Guo
Hao Zhang
Original Assignee
France Telecom Research & Development Beijing Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom Research & Development Beijing Company Limited filed Critical France Telecom Research & Development Beijing Company Limited
Priority to PCT/CN2010/077537 priority Critical patent/WO2012040936A1/en
Publication of WO2012040936A1 publication Critical patent/WO2012040936A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Definitions

  • the present invention relates in general to telecommunication services and more specifically to application launching on a user equipment.
  • a user of a user equipment may use a tactile screen of the user equipment to navigate in or between applications.
  • a call function allows the user of the user equipment to call a person to be contacted in a telecommunication network by either selecting the person to be contacted in a list of contacts or by entering the phone number of the person to be contacted.
  • a function of an application may be applied to one or more data.
  • the call function is applied onto the identifier of the person to be contacted in a list of contacts or onto the phone number of the person to be contacted.
  • Existing input methods look for improving the function of typing texts and are only designed to analyze the user's need via typed words.
  • the main features of existing input methods imply the ability to switch between different kinds of keyboards (e.g. Dual Qwerty, Full Qwerty, 9 key phone board); predict information according to letters already typed or according to abbreviation; mistyping auto-correction function according to the grammar rules and the context; adapt to input history; customize the dictionary with self added words on the keyboard; web mode support for vocabulary updating.
  • a solution described in Chinese patent 101276377 "Method, system for acquiring resource related information and application in search engine" discloses a method for collecting the names of functions associated with applications and searching theses functions in a search engine.
  • a drawback of this solution is that there is no user interaction, i.e. no choice for the user, and no further use of the searched functions.
  • the invention proposes a method of triggering an application running on a user equipment, said user equipment being operatively coupled with :
  • a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data, the method comprising the acts of:
  • An advantage of the invention is that an application may be triggered or launched directly upon selection by a user of said function in a list suggested subsequently to a user input. There is therefore no need for the user to open a specific application to further trigger one or more corresponding function(s).
  • the method according to the invention proposes a one step straightforward solution to operate applications upon selection by the user of the application in a list suggested while providing a user input.
  • Another advantage of the present invention is that a user may only use a unique user interface such as e.g. a browser to search and trigger applications. It is therefore easier and faster for the user to trigger a given function.
  • a unique user interface such as e.g. a browser to search and trigger applications. It is therefore easier and faster for the user to trigger a given function.
  • Another advantage is the ability to access different applications directly from user input texts without going to an intermediate page like e.g. a Homescreen or an application menu. It is therefore easier and faster for the user to trigger a given function.
  • Another advantage of the present invention is the dynamic and adaptable way of combining an application launcher with an input method. Entries corresponding to applications are not static on the display of the user equipment but appear (i.e. are suggested) and may be selected for launch as the user is providing one or more inputs. This make the functions more native and relevant to the user as these options are generated after analyzing the user's needs (i.e. inputs).
  • the invention also proposes a method according to claim 2.
  • An advantage is that, for each new or updated application available to the user equipment, the corresponding entries may be stored in the second database and indexed, e.g. by a search engine unit, allowing therefore the list of suggesting items to comprise, subsequent to the user input, all relevant suggestions of applications and data available to the user equipment.
  • Another advantage is that each application in the second database may be associated with the corresponding data in the first database, allowing therefore a direct association between application and data, making the suggestion in the list of suggested items straightforward.
  • the invention also proposes a method according to claim 3.
  • An advantage is that, for each new or updated application available to the user equipment, the corresponding entries may be stored in the second database and indexed, e.g. by a search engine unit, allowing therefore the list of suggesting items to comprise, subsequent to the user input, all relevant suggestions of applications and data available to the user equipment.
  • Another advantage is that, as each application may be associated with a category of data in the first database (e.g. phone numbers, email addresses...) the association is easier to perform between an application and a category of data, allowing the user equipment to provide a list of suggesting items comprising applications that support a given category of data as input data rather than a given data.
  • the invention also proposes a method according to claim 4.
  • An advantage of having the first and second databases stored on the user equipment is that all the data and application entries are stored on the user equipment, which allows the user equipment to be independent from other entities.
  • Another advantage is that, as data and applications are stored locally on the user equipment, the search engine unit may only perform a search on all data and application entries on the user equipment without having to request an external entity.
  • Another advantage is that the search in the first and second database is easier and faster.
  • the invention also proposes a method according to claim 5.
  • An advantage of having applications stored on the user equipment is that the triggering of applications may be done locally and directly on the user equipment, making it easier and faster.
  • the invention also proposes a method according to claim 6.
  • An advantage is that a user may be provided, subsequently to selecting a data in the list of suggested items and prior to selecting an application in the list of suggested items, with a list of applications restricted to the application(s) associated with the selected data. It is therefore more convenient and easier for the user to choose between fewer functions.
  • the invention also proposes a user equipment according to claim 9. Advantages of the user equipment are similar to those of the associated method.
  • the invention also proposes a system according to claim 16. Advantages of the system are similar to those of the associated method and user equipment.
  • the invention also proposes a readable computer program according to claim 17. Advantages of the readable computer program are similar to those of the associated method.
  • Figure 1 schematically illustrates a system according to an embodiment of the present invention
  • Figure 2A schematically illustrates a user equipment according to an embodiment of the present invention
  • Figure 2B schematically illustrates a user equipment according to an embodiment of the present invention
  • Figure 2C schematically illustrates a user equipment according to an embodiment of the present invention
  • Figure 3A schematically illustrates a method according to an embodiment of the present invention
  • Figure 3B schematically illustrates databases according to an embodiment of the present invention
  • Figure 3C schematically illustrates databases according to an embodiment of the present invention
  • Figure 3D schematically illustrates databases according to an embodiment of the present invention
  • Figure 3E schematically illustrates a method according to an embodiment of the present invention
  • Figure 3F schematically illustrates a method according to an embodiment of the present invention
  • Figure 4 schematically illustrates a method according to an embodiment of the present invention
  • Figure 5 schematically illustrates a method according to an embodiment of the present invention
  • Figure 6 schematically illustrates a software architecture of a system according to an embodiment of the present invention
  • Figure 7 schematically illustrates a software architecture of a system according to an embodiment of the present invention.
  • Figure 1 describes an illustrative embodiment of the system according to the invention.
  • a user equipment 100 is operable to use applications in a communication network 110.
  • Applications may be stored on the user equipment 100 (such as e.g. in a database comprised in the user equipment) or stored on a device 120 (such as e.g. in a database on a server) coupled with the user equipment 100 in the communication network 110 so that said applications are further accessible for use by the user equipment 100.
  • a function allows the use of a feature of the application.
  • a function is a functionality of the application.
  • a call function allows the user of the user equipment to call a person to be contacted in a communication network 110 by either selecting the person to be contacted as a (input) data in a list of contacts (stored in the user equipment 100 for instance) or by entering (i.e. providing) the phone number of the person to be contacted as a (input) data.
  • a function may be seen in extenso as an application. Functions may also comprise be sub-functions. Therefore, in the description here under, a function may be refer to as an application in the generic sense.
  • a function of an application may be applied to one or a plurality of data.
  • the call function may be applied onto "the identifier of the person to be contacted in a list of contacts” or onto "the phone number of the person to be contacted” or applied both to "the identifier of the person to be contacted in a list of contacts” and "the professional phone number of the person to be contacted” (and not for example to "the home phone number of the person to be contacted”).
  • Figure 2A describes an illustrative embodiment of the user equipment 100 according to the invention.
  • the units and databases described here under may be all embedded onto the user equipment 100 or some of them may be distributed onto devices coupled to the user equipment 100 in the communication network 110.
  • the user equipment 100 may be operatively coupled with a first database 201 and a second database 202.
  • the first database 201 and the second database 202 may be stored on the user equipment 100.
  • the first database 201 may comprise a plurality of data available to the user equipment 100.
  • the second database 202 may comprise a plurality of entries, each entry corresponding to an application available on the user equipment 100, wherein said application supports at least one data of the first database 201 as an input data.
  • An installation unit 205 allows installing or upgrading applications in the second database 202.
  • a user interface unit 210 allows providing a user interface to a user for said user to provide inputs to the user equipment 100.
  • Inputs may be for example alphanumerical characters such as words for identifying an item.
  • An item is an object that may be of any type such as a name, a number (e.g. a phone number%), any word, etc...
  • an item may be a link, an address, an application (application name, application icon%), a function (name, icon%), a data etc...
  • the user interface unit 210 allows receiving selection from the user such as e.g. selection of items (e.g. data or application).
  • a display unit 220 allows displaying information to the user.
  • the display unit 220 may display a list of suggestions or suggested items so that the user of the user equipment 100 may further select one item in the list.
  • the display unit 220 may also be used to provide the user interface mentioned here above in a graphical way (in other words, a Graphical User Interface (GUI)).
  • GUI Graphical User Interface
  • a search engine unit 230 allows searching for items (i.e. resources such as files, applications, links etc..) either locally on the user equipment 100 or in the communication network 110.
  • the search engine unit 230 allows also for indexing application entries. The indexing allows a given application to be associated with a given data or a given category of data so that said application may be searched and suggested in a list of suggested items when the associated data is typed or selected by a user subsequently to a user's input in the search engine.
  • the search engine unit 230 may comprise for instance a browser for browsing on the communication network 110, an Instant Messaging engine etc... The search may therefore be performed using a browser and an input such as e.g. a keyword provided to the browser. The input may be provided by a user of the user equipment 100 using the user interface 210.
  • the search engine unit 230 may perform the search itself.
  • a suggestion item 235 allows suggesting items to the user such as e.g. key words, data or applications.
  • the search engine unit 230 may be coupled with a server, in the communication network 110, which performs the search and provides item search results.
  • the search engine unit 230 may further comprise or be coupled with the suggestion unit 235.
  • the suggestion unit 235 allows providing to a user of the user equipment 100 one or a plurality of suggestion(s) of item(s) (i.e. a list of suggested items and/or key words) that may correspond to the input received by the search engine unit 230, such as e.g. a keyword provided by a user of the user equipment 100.
  • a triggering unit 240 allows triggering a function of an application operable by the user equipment 100.
  • the triggering unit 240 may directly launch the function or may launch the application and then the function. For example, when a phone number is provided and a call function is selected, the triggering unit 240 may trigger the call function of the phone application using the provided phone number in order to call the person associated with the provided phone number.
  • FIG. 2B and 2C describe illustrative embodiments of the user equipment 100 according to the invention, and more specifically illustrative embodiments of a user interface 210 according to the invention.
  • the user interface unit 210 of the user equipment 100 may comprise an input area 260, a candidate area (270, 272), a key word suggestion area 275 and an editing area 280.
  • a candidate area 270, 727) allows the user to visualize a list of suggested items.
  • the list of suggested items may comprise items accessible in the communication network 110 (such as e.g. links to web sites or resources located in the communication network 110), application items (e.g.
  • a list of suggested items may be presented in one single area grouping areas 270 and 272 or may presented into two separate candidate areas 270 and 272 (respectively a data candidate area and an application candidate area).
  • the data candidate area 270 allows suggesting data in the first database 201 and the application candidate area 272 allows suggesting entries in the second database 202.
  • the input area 260 and the candidate area 272 may be swapped (i.e. displayed in turns) in order for the user to switch from inputting to selecting.
  • the swap may be for example a drop down gesture 325 on a tactile screen of the user equipment 100.
  • the user interface 210 may be coupled with a search engine unit 230 that may comprise a browser 285.
  • the browser 285 of the search engine unit 230 may allow using for example an existing search engine like e.g. GoogleTM.
  • the browser 285 allows entering inputs such as e.g. alphanumerical characters into an editing area 280. Inputs may be provided to the editing area 280 using an external keyboard or an input area 260.
  • a suggestion unit 235 may provide suggestions in a suggestion area 275 in order to facilitate and speed up the input provision by the user. For example, by typing a few letters into the editing area 280, the user may be provided with a whole word or a plurality of words so that the user may further select one or more of the word(s), avoiding thus typing the whole word(s).
  • the examples here above of a browser module and an Instant Messaging module are in no way limiting of the scope of the present invention as the device may comprise any similar module that may be coupled with an input area 260, a data candidate area 270, an application candidate area 272, a key word suggestion area 275 or an editing area 280 for performing the method according to the invention.
  • Figure 3A describes an illustrative embodiment of the method according to the invention in reference to the units of Figure 2A.
  • the method allows, for a user equipment 100, triggering an application running on said user equipment 100.
  • the user equipment 100 may be operatively coupled with:
  • a first database 201 comprising a plurality of data available to the user equipment
  • a second database 202 comprising a plurality of entries, each entry corresponding to an application available on the user equipment 100, said application supporting at least one data of the first database 201 as an input data.
  • an installation unit 205 allows obtaining the availability of at least one application
  • a search engine unit 230 allows indexing the corresponding application entries in the second database 202, said indexing allowing the association between the application and at least one data supported by the application in the first database 201.
  • the two preliminary acts 302 and 303 may be performed successively in this order.
  • the data of the plurality of data in the first database 201 are of different categories and, in two preliminary acts 306 and 307:
  • an installation unit 205 allows obtaining the availability of at least one application
  • a search engine unit 230 allows indexing the corresponding application entries in the second database 202, said indexing allowing the association between the application and at least one category of data supported by the application in the first database 201.
  • the two preliminary acts 306 and 307 may be performed successively in this order.
  • association between the application and at least one data supported by the application in the first database 201 are described in Figures 3B, 3C and 3D.
  • the first database 201 and the second database 202 may be built depending on the type of associations between data and applications as described in Figures 3B, 3C and 3D. These illustrative embodiments of associations are shown as examples and do not limit the scope of protection of the present invention as other similar association may be used.
  • phone numbers 1 and 2 stored in the first database 201 are associated with one or more application(s) through application entry 1 and application entry 2 stored in the second database 202.
  • email addresses 1 and 2 stored in the first database 201 are associated with one or more application(s) through application entry 2 and application entry 3 stored in the second database 202.
  • the application corresponding to application entry 1 stored in the second database 202 is associated with phone number 1 and email address 2 stored in the first database 201.
  • the application corresponding to application entry 2 stored in the second database 202 is associated with phone number 2 and email address 3 stored in the first database 201.
  • the application corresponding to application entry 1 stored in the second database 202 is associated with the category of data "phone number" of the phones numbers stored in the first database 201.
  • the application corresponding to application entry 2 stored in the second database 202 is associated with the categories of data "phone number” and “email address” of respectively the phones numbers and email addresses stored in the first database 201.
  • the application corresponding to application entry 3 stored in the second database 202 is associated with the category of data "email address" of the email addresses stored in the first database 201.
  • the first and second databases may be stored on the user equipment 100.
  • the applications may be stored on the user equipment 100.
  • the first database may be incremented when receiving a user selection which is not in the database.
  • This new data may be stored temporarily in the first database in a default category which is associated with a set of basic application entries (call, search, etc) of the second database. If the user chooses one of these application entries, the data may then be stored permanently and indexed in different categories according to the selected application entry.
  • a user interface may be provided by the user interface unit 210 of the user equipment 100 for receiving a user input.
  • An illustrative embodiment of a user interface that may be provided by the user equipment 100 for receiving a user input according to the invention is described here above in reference to Figure 2B.
  • the method may further comprise, prior to the act of providing a list of suggested items, an act 315 of providing a list of suggestions of key words in a candidate area 270, said key words comprising at least one data in the first database 201, and an act 317 of selecting one of said at least one data in said list of suggestions of key words, the provided list of suggested items further comprising only at least one entry supporting the at least one selected data (in other words, the provided list of suggested items further comprises only entries supporting the at least one selected data or is restricted to entries supporting the at least one selected data).
  • a suggestion unit 235 allows providing a list of suggested items upon reception of the user input previously provided in act 310.
  • the list of suggested items comprises at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database.
  • the list of suggested items further comprises data to apply function to and wherein the act of triggering is performed by applying to at least one data in the list of suggested items upon selection by a user of said function and said at least one data in the list of suggested items.
  • an action of the user may allow switching or selecting the different user interface areas.
  • this may be a drop down gesture 325 on a tactile screen of the user equipment 100 in order for instance to swap between the input area 260 and the application candidate area 272 as described on Figures 3E/3F.
  • Any type of gestures and a any type of configuration between the different areas may be used without limiting the scope of the present invention.
  • the selection of at least one data and at least one entry supporting the at least one data in the list is received from the user.
  • the at least one data may be chosen in the data candidate area 270 and the at least one application may be chosen in the application candidate area 272.
  • the at least one data and at least one entry supporting the at least one data in the list may be one unique item in the list and may be chosen for example in the candidate area 272 (as described in Figure 3F here under).
  • the act of receiving a selection comprises firstly receiving a selection of at least one data and the list of suggested items is restricted to applications supporting the selected at least one data.
  • an application corresponding to the at least one entry may be triggered using the selected data as an input data.
  • the triggering of an application implies that at least one functionality or feature of the application may be executed or performed.
  • the triggering of the application comprises executing the application using said at least one input data. For example: if the user types 'Eiffel Tower', then a list of relevant applications launch options with the typed word will pop-up: 'show Eiffel Tower on Orange Maps' ; 'find Eiffel Tower in Orange Wikipedia', etc...
  • one selected application may be triggered using one selected data.
  • a plurality of selected applications may be triggered using one selected data.
  • one selected application may be triggered using a plurality of selected data.
  • a plurality of selected applications may be triggered using a plurality of selected data.
  • FIG. 3E and 3F describe an illustrative embodiment of the method according to the invention.
  • References are made to the act 310 to 340 of Figure 3A.
  • An Instant Messaging application is being used by a user on the user equipment 100.
  • the user types in a provided user interface in an act 310, an input "Martin” in the editing area 280 using the input area 260.
  • Suggestions of data are provided in a data candidate area 270 in an act 315.
  • the user may confirm by selecting the word "Martin” in the data candidate area 270 in an act 317.
  • a drop down gesture allows switching from the input area 260 to an application candidate area 272 that suggests a list of items comprising the selected data "Martin” associated with applications supporting "Martin” as an input parameter.
  • the user may then select an item in an act 330 such as e.g. ["Martin” + IM application].
  • the selection allows then the trigger of the IM application to send Instant Messages to Martin.
  • FIG. 4 describes an illustrative embodiment of the method according to the invention in the form of a sequence diagram and in its application, referred here under as ISL (Input Sensitive Launcher), to a tactile user equipment using a soft keypad.
  • ISL Input Sensitive Launcher
  • the ISL may collect applications information such as for example application name, basic application functions, and how to launch these applications and functions in order to built the second database 202.
  • the input method may be launched by the Android platform automatically, when the user click an editing area such as search editing box in the browser for searching.
  • applications or application functions may be listed in an application candidate area of a soft keypad according to the user input.
  • the user may drag down the soft keypad to display the application candidate area to launch applications or application functions.
  • applications or application functions may be listed directly in a suggestion area according to current user input when user types with soft keypad.
  • the user may then select (e.g. by clicking on) an icon in the suggestion area 275 or the candidate areas (270, 272) to launch the application or the application function or go to an intermediate page which lists different options.
  • the ISL may propose Dailer, SMS or Email applications in the candidate area (270, 272) of a soft keypad for a given user input identified as a contact name; or propose GMap to search or 118712 to discover Points of Interest (POIs) for a user input identified as an address.
  • POPs Points of Interest
  • the ISL may be implemented as an input method with a soft keypad including input area, suggestion area and candidate area, which will be used to catch user inputs and display data and candidate applications.
  • the ISL may display the candidate applications in the suggestion area during the user inputting text continually; or display the applications in the candidate area, when a "drop down" gesture on the soft keypad's input area captured.
  • the candidate applications may be calculated by ISL from a matching matrix recorded in a directory database as described hereunder in reference to Figure 6.
  • the ISL will collect the information of the installed applications on the device which comprise for example: application package name, basic application functions, and how to launch these applications by the Android Intent mechanism.
  • the ISL may react to a user input text as follows:
  • the ISL input method is started by Android system for instance when the user clicks an editing area on the UI, such as an edit box in browser or activity.
  • the ISL may start a task to listen the user's input actions.
  • the ISL may perform the following:
  • the ISL may get the user input in act 415,
  • the ISL may analyze the text content, matching the content with the candidate applications in act 420.
  • the ISL may refresh the suggestion area with data suggestions and applications suggestions (icon) in act 425.
  • the ISL may continue the task to listen the user's input actions (act 405) after suggestion area refreshes successfully.
  • the ISL may switch the input area to candidate area with application launch options.
  • the ISL may continue the task to listen the user's input actions (act 405). If the user clicks suggestion text content (act 440):
  • the ISL may send the text content to the editing area, allowing the area to display the text that user inputted.
  • This text content may also be identified as a data temporally stored. User may be displayed with the candidate area according this data by dropping down the soft keypad or selecting a data in the data candidate area.
  • the ISL may continue the task to listen the user's input actions. If the user clicks on a data in the data candidate area:
  • the ISL may display corresponding applications in the application candidate area.
  • the ISL may record the selected data into the Address Directory database of ISL. o If the user clicks an application other than Map or POI for example, the ISL may record the number of clicks on the application, and modify the priority of the candidate applications in Candidate Application Directory by the number of clicks of the applications,
  • the application may be launched and the data may be transferred to the application for the launch.
  • the data are carried within the "intent" that starts the application.
  • Figure 5 describes an illustrative embodiment of the method according to the invention for analyzing input from a user.
  • Text and application icons may be displayed in the suggestion area 275, data candidate area 270 and application candidate area 272.
  • the way to generate text suggestions may be based on any existing input methods. Such methods use a directory containing the common words and search the directory with the text input by the end user, and display the search result as suggestions text to the end user.
  • the ISL may reuse the common way to organize the directory and to display the suggestion text which might be put in the editing area or suggestion area and highlighted as launch data.
  • the display of application icons in the suggestion area is generated after analyzing the input text content and matching them to a specific data type.
  • the analysis may be based on a search in the contact book and call log for contact and phone number data (first database).
  • ISL relies on Address Directory and a search into the office address, home address in the system address book if available (first database).
  • the method according to the invention may starts after there are at least two characters input by a end user.
  • the ISL may match the text to be a contact's information, including contact's name and email prefix. If the matching is successful, the candidate area may display the icon of the applications include Dialer, SMS, IM, Email and Note (act 510).
  • step one the ISL may match the text to be a telephone number (act 515).
  • the ISL may search the telephone number in the system address book and call logs by the text input. If the matching is successful, the suggestion area may display the icon of the applications include Dialer, SMS, and Note (act 520).
  • step two the ISL may match the text to be address information (act 525).
  • the ISL may search the office and home address in the system address book, and the address recorded in ISL Address Directory, by the text input. If the matching is successful, the suggestion area may display the icon of the applications include Map, 118712, Note, and Calendar (act 530).
  • step three the ISL may match the text to be time expression (act 535). If the matching is successful, the suggestion area may display the icon of the applications include Note, and Calendar (act 540).
  • the ISL may display the Search and Map applications' icon (act 545).
  • the application whose name starts with the text input may be displayed at the beginning of the all the application suggestion.
  • the application When the user click the icon of an application, the application may be launched by intent containing the data required.
  • the data may be exactly what user inputs. It may be also possible to implement an intermediate page with different launch options if several launch options available with the same data.
  • the data picked by user may also go through acts 505 to 545 to list the launch options in the candidate area.
  • the application directory (in second database) may be updated after an application install or uninstall from the device or when new functions of an application are available.
  • the application directory (in second database) may be upgraded together with the ISL from Android market, or from a standalone upgrade server.
  • Figure 6 describes an illustrative embodiment of a software architecture of the user equipment according to the invention.
  • functions and applications to be suggested may be calculated from a matching matrix.
  • Each data may be indexed in different categories.
  • Each category may be associated with at least one application entry.
  • the matrix may handle the mapping of different categories with applications by bidirectional pointers. This may facilitate the calculation by avoiding direct mapping of huge input data with application entries.
  • the suggestions in the suggestion area 275 and candidate area (270, 272) and corresponding suggested items of applications/functions in the candidate area may be handled by a "Pattern match” module and a database called "ISL Directory".
  • This directory may comprise two sub-directories called “Address Directory” and "Candidate Application Directory”.
  • the type of data could be predefined as contact name, phone number, address info, time and general text.
  • the suggest contact book and phone number data according to user input text may rely on system contact book and call logs (first database).
  • a standalone directory may be used in the ISL Directory to match contact or telephone numbers with user inputs.
  • the ISL Directory may rely partly on the system address book as a first database. But the ISL may still use "Address Directory" to record a general text as address info when user selects this general text as data to launch Maps/POI related applications during the usage of the ISL.
  • ISL may call a "Pattern match” module to match the user input as a time.
  • ISL Directory may comprise the second database called "Candidate Application Directory" to record the candidate applications for different types of data (contact name, phone number or address, etc).
  • the ISL Candidate Application Directory may scan the installed applications on the device. If the application scanned is recognized by ISL as a candidate application to handle a specific type of data (i.e. the GMap application can handle address information) it may be recorded in the ISL Application Directory.
  • An initialization of specification may be implemented together with ISL on how to recognize applications, by analyzing the application package name, what kind of text/file the application can handle, and the launch data of the application. These operations may be carried out by the installation unit 205 (in reference to Figure 2).
  • the candidate application and its order in the candidate area may be updated during the usage of ISL, by recording the user's input and selection into the application directory.
  • the Candidate Application Directory will also be updated when applications install or uninstall from the device. As inputs are provided, the procedure below may be performed. As shown in Figure 5, the ISL may match the text as the procedures below:
  • the ISL service will extend from the InputMethodService class in Android SDK. It contains ISLInputArea and ISLCandidateArea, that are extends from KeyboardArea and Area classes in Android SDK separately.
  • the ISLService will create the other two areas of the ISL; analyse the input text based on the matching rules; send the text to editing area; send the candidate application and suggestion text to ISLCandidateArea.
  • the ISLService will init the candidate application directory in DirectoryDB during the first launch of the input method, and then it will check the directory database to get suggestion applications for a specific text input.
  • the ISLService can update the DirectoryDB during the usage of the ISL.
  • the DirectoryDB can also upgrade together with the ISL from Android Market or, the ISLService retrieves new items from a server for upgrading.
  • the ISLInputArea will show the soft keypad and react to the user's gesture on the soft keypad. It will switch its display between a soft keypad and a window filled with the candidate applications.
  • the ISLCandidateArea will display the suggestion text and candidate applications. It also reacts to the user's clicking on the candidate items, to determine what item is clicked by the user, and notify the ISLService to send text clicked to edit control, or launch the application clicked.
  • the PackageObserver is a subclass of BroadcastReceiver, which will receive the system notifications when application install and uninstall. It may update the
  • DirectoryDB when it recognize an application is a candidate handler application for contact, telephone number, address, time or a plain text.
  • the DirectoryDB will save all of the candidate handler applications for specific content, includes the application's package name and launching data.
  • Figure 7 describes an illustrative embodiment of a software architecture of the user equipment according to the invention.
  • the DirectoryDB may contain two databases (first and second); the candidate application directory will store the application package name, the content it can handle, and the launching data of the application; the address directory will store the address text, used during the ISL match text to be address information.
  • the DirectoryDB can be upgrade from a specific upgrading server, which will store the lastest candidate applications for some kind of content and the address text.
  • the ISL can retrieve those information from upgrading server periodically.

Abstract

A method of triggering an application running on a user equipment, said user equipment being operatively coupled with a first database comprising a plurality of data available to the user equipment and a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data, the method comprising the acts of providing a user interface for receiving a user input; providing a list of suggested items upon reception of said user input, said list of suggested items comprising at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database; receiving from the user the selection of at least one data and at least one entry supporting the at least one data in the list and; triggering the application corresponding to the at least one entry using the selected data as an input data.

Description

APPLICATION LAUNCHING METHOD AND SYSTEM
Field of the Invention
The present invention relates in general to telecommunication services and more specifically to application launching on a user equipment.
Background of the Invention
Nowadays, with the use of smart touch user equipments, the interaction between users and their equipments are greatly diversified due to the plurality of different applications such as for example phone, instant messaging, browser for Internet access, emails, games etc... In particular, a user of a user equipment may use a tactile screen of the user equipment to navigate in or between applications.
Most of these applications comprise functions. For example, in a phone application, a call function allows the user of the user equipment to call a person to be contacted in a telecommunication network by either selecting the person to be contacted in a list of contacts or by entering the phone number of the person to be contacted. A function of an application may be applied to one or more data. For example, in the example of the phone application, the call function is applied onto the identifier of the person to be contacted in a list of contacts or onto the phone number of the person to be contacted.
Existing input methods look for improving the function of typing texts and are only designed to analyze the user's need via typed words. The main features of existing input methods imply the ability to switch between different kinds of keyboards (e.g. Dual Qwerty, Full Qwerty, 9 key phone board); predict information according to letters already typed or according to abbreviation; mistyping auto-correction function according to the grammar rules and the context; adapt to input history; customize the dictionary with self added words on the keyboard; web mode support for vocabulary updating.
Consequently, existing input method do not propose interaction between the input and applications that may be operable by the user equipment.
Document WO/2007/018416 "User input method and device of mobile communication terminals" discloses a user input method and device of a user equipment that allows displaying a menu screen comprising images associated with each function necessary for controlling the user equipment. In this solution, the functions are predefined and cannot thus be selected according to the user inputs and applications installed on the user equipment. Such a pre-defined function solution can hardly improve the user experience when the application profile on user equipments is dynamic (i.e. user install and uninstall the applications), which is the case for most of the existing user equipments nowadays. Another solution, described in US patent 2010010994 "Mobile application discovery through mobile search", proposes a local application search using a search engine unit. The main drawback of this solution is that the suggested applications are not selected by the user nor launched. Moreover, there is no trigger of the applications associated with the functions.
A solution, described in Chinese patent 101276377 "Method, system for acquiring resource related information and application in search engine", discloses a method for collecting the names of functions associated with applications and searching theses functions in a search engine. A drawback of this solution is that there is no user interaction, i.e. no choice for the user, and no further use of the searched functions.
Furthermore, a major drawback of all the existing solutions is that new application(s) or new function(s) (added e.g. subsequently to an application upgrade) or new data associated with applications or functions may not be taken into account in further searches.
Today there is no solution to efficiently launch applications that allow reducing the burden and costs and thus improving efficiency of such user equipments.
Today there is a need for a application launching solution that can be easily implemented on the existing user equipments and communication infrastructures.
Summary of Invention
It is an object of the present system to overcome disadvantages and/or make improvement over the prior art.
To that extend, the invention proposes a method of triggering an application running on a user equipment, said user equipment being operatively coupled with :
- a first database comprising a plurality of data available to the user equipment,
- a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data, the method comprising the acts of:
- providing a user interface for receiving a user input,
- providing a list of suggested items upon reception of said user input, said list of suggested items comprising at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database,
- receiving from the user the selection of at least one data and at least one entry supporting the at least one data in the list and,
- triggering the application corresponding to the at least one entry using the selected data as an input data.
An advantage of the invention is that an application may be triggered or launched directly upon selection by a user of said function in a list suggested subsequently to a user input. There is therefore no need for the user to open a specific application to further trigger one or more corresponding function(s). The method according to the invention proposes a one step straightforward solution to operate applications upon selection by the user of the application in a list suggested while providing a user input.
Another advantage of the present invention is that a user may only use a unique user interface such as e.g. a browser to search and trigger applications. It is therefore easier and faster for the user to trigger a given function.
Another advantage is the ability to access different applications directly from user input texts without going to an intermediate page like e.g. a Homescreen or an application menu. It is therefore easier and faster for the user to trigger a given function.
Another advantage of the present invention is the dynamic and adaptable way of combining an application launcher with an input method. Entries corresponding to applications are not static on the display of the user equipment but appear (i.e. are suggested) and may be selected for launch as the user is providing one or more inputs. This make the functions more native and relevant to the user as these options are generated after analyzing the user's needs (i.e. inputs).
The invention also proposes a method according to claim 2. An advantage is that, for each new or updated application available to the user equipment, the corresponding entries may be stored in the second database and indexed, e.g. by a search engine unit, allowing therefore the list of suggesting items to comprise, subsequent to the user input, all relevant suggestions of applications and data available to the user equipment. Another advantage is that each application in the second database may be associated with the corresponding data in the first database, allowing therefore a direct association between application and data, making the suggestion in the list of suggested items straightforward.
The invention also proposes a method according to claim 3. An advantage is that, for each new or updated application available to the user equipment, the corresponding entries may be stored in the second database and indexed, e.g. by a search engine unit, allowing therefore the list of suggesting items to comprise, subsequent to the user input, all relevant suggestions of applications and data available to the user equipment. Another advantage is that, as each application may be associated with a category of data in the first database (e.g. phone numbers, email addresses...) the association is easier to perform between an application and a category of data, allowing the user equipment to provide a list of suggesting items comprising applications that support a given category of data as input data rather than a given data.
The invention also proposes a method according to claim 4. An advantage of having the first and second databases stored on the user equipment is that all the data and application entries are stored on the user equipment, which allows the user equipment to be independent from other entities. Another advantage is that, as data and applications are stored locally on the user equipment, the search engine unit may only perform a search on all data and application entries on the user equipment without having to request an external entity. Another advantage is that the search in the first and second database is easier and faster.
The invention also proposes a method according to claim 5. An advantage of having applications stored on the user equipment is that the triggering of applications may be done locally and directly on the user equipment, making it easier and faster.
The invention also proposes a method according to claim 6. An advantage is that a user may be provided, subsequently to selecting a data in the list of suggested items and prior to selecting an application in the list of suggested items, with a list of applications restricted to the application(s) associated with the selected data. It is therefore more convenient and easier for the user to choose between fewer functions.
The invention also proposes a user equipment according to claim 9. Advantages of the user equipment are similar to those of the associated method.
The invention also proposes a system according to claim 16. Advantages of the system are similar to those of the associated method and user equipment.
The invention also proposes a readable computer program according to claim 17. Advantages of the readable computer program are similar to those of the associated method.
Brief Description of the Drawings
Embodiments of the present invention will now be described solely by way of example and only with reference to the accompanying drawings, where like parts are provided with corresponding reference numerals, and in which :
Figure 1 schematically illustrates a system according to an embodiment of the present invention;
Figure 2A schematically illustrates a user equipment according to an embodiment of the present invention;
Figure 2B schematically illustrates a user equipment according to an embodiment of the present invention;
Figure 2C schematically illustrates a user equipment according to an embodiment of the present invention;
Figure 3A schematically illustrates a method according to an embodiment of the present invention;
Figure 3B schematically illustrates databases according to an embodiment of the present invention; Figure 3C schematically illustrates databases according to an embodiment of the present invention;
Figure 3D schematically illustrates databases according to an embodiment of the present invention;
Figure 3E schematically illustrates a method according to an embodiment of the present invention;
Figure 3F schematically illustrates a method according to an embodiment of the present invention;
Figure 4 schematically illustrates a method according to an embodiment of the present invention;
Figure 5 schematically illustrates a method according to an embodiment of the present invention;
Figure 6 schematically illustrates a software architecture of a system according to an embodiment of the present invention;
Figure 7 schematically illustrates a software architecture of a system according to an embodiment of the present invention.
Description of Preferred Embodiments
The following are descriptions of exemplary embodiments that when taken in conjunction with the drawings will demonstrate the above noted features and advantages, and introduce further ones. In the following description, for purposes of explanation rather than limitation, specific details are set forth such as architecture, interfaces, techniques, devices etc., for illustration. However, it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims. Moreover, for the purpose of clarity, detailed descriptions of well-known devices, systems, and methods are omitted so as not to obscure the description of the present system. Furthermore, routers, servers, nodes, gateways or other entities in a telecommunication network are not detailed as their implementation is beyond the scope of the present system and method. Unless specified otherwise, the exemplary embodiment will be described hereafter in its application to a user equipment in a telecommunication network. In addition, it should be expressly understood that the drawings are included for illustrative purposes and do not represent the scope of the present system.
Figure 1 describes an illustrative embodiment of the system according to the invention. In the system according to the invention, a user equipment 100 is operable to use applications in a communication network 110. Applications may be stored on the user equipment 100 (such as e.g. in a database comprised in the user equipment) or stored on a device 120 (such as e.g. in a database on a server) coupled with the user equipment 100 in the communication network 110 so that said applications are further accessible for use by the user equipment 100.
Applications comprise functions. A function allows the use of a feature of the application. In other words, a function is a functionality of the application. For example, in a phone application, a call function allows the user of the user equipment to call a person to be contacted in a communication network 110 by either selecting the person to be contacted as a (input) data in a list of contacts (stored in the user equipment 100 for instance) or by entering (i.e. providing) the phone number of the person to be contacted as a (input) data. A function may be seen in extenso as an application. Functions may also comprise be sub-functions. Therefore, in the description here under, a function may be refer to as an application in the generic sense.
A function of an application may be applied to one or a plurality of data. For example, in the example of the phone application, the call function may be applied onto "the identifier of the person to be contacted in a list of contacts" or onto "the phone number of the person to be contacted" or applied both to "the identifier of the person to be contacted in a list of contacts" and "the professional phone number of the person to be contacted" (and not for example to "the home phone number of the person to be contacted").
Figure 2A describes an illustrative embodiment of the user equipment 100 according to the invention. The units and databases described here under may be all embedded onto the user equipment 100 or some of them may be distributed onto devices coupled to the user equipment 100 in the communication network 110. The user equipment 100 may be operatively coupled with a first database 201 and a second database 202. In an illustrative embodiment of the system according to the invention, the first database 201 and the second database 202 may be stored on the user equipment 100. The first database 201 may comprise a plurality of data available to the user equipment 100. The second database 202 may comprise a plurality of entries, each entry corresponding to an application available on the user equipment 100, wherein said application supports at least one data of the first database 201 as an input data.
An installation unit 205 allows installing or upgrading applications in the second database 202.
A user interface unit 210 allows providing a user interface to a user for said user to provide inputs to the user equipment 100. Inputs may be for example alphanumerical characters such as words for identifying an item. An item is an object that may be of any type such as a name, a number (e.g. a phone number...), any word, etc... In particular, an item may be a link, an address, an application (application name, application icon...), a function (name, icon...), a data etc... The user interface unit 210 allows receiving selection from the user such as e.g. selection of items (e.g. data or application). A display unit 220 allows displaying information to the user. For example, the display unit 220 may display a list of suggestions or suggested items so that the user of the user equipment 100 may further select one item in the list. The display unit 220 may also be used to provide the user interface mentioned here above in a graphical way (in other words, a Graphical User Interface (GUI)).
In an illustrative embodiment of the system according to the invention, a search engine unit 230 allows searching for items (i.e. resources such as files, applications, links etc..) either locally on the user equipment 100 or in the communication network 110. The search engine unit 230 allows also for indexing application entries. The indexing allows a given application to be associated with a given data or a given category of data so that said application may be searched and suggested in a list of suggested items when the associated data is typed or selected by a user subsequently to a user's input in the search engine. The search engine unit 230 may comprise for instance a browser for browsing on the communication network 110, an Instant Messaging engine etc... The search may therefore be performed using a browser and an input such as e.g. a keyword provided to the browser. The input may be provided by a user of the user equipment 100 using the user interface 210. In an illustrative embodiment of the system according to the invention, the search engine unit 230 may perform the search itself.
A suggestion item 235 allows suggesting items to the user such as e.g. key words, data or applications.
In an illustrative embodiment of the system according to the invention, the search engine unit 230 may be coupled with a server, in the communication network 110, which performs the search and provides item search results. The search engine unit 230 may further comprise or be coupled with the suggestion unit 235. The suggestion unit 235 allows providing to a user of the user equipment 100 one or a plurality of suggestion(s) of item(s) (i.e. a list of suggested items and/or key words) that may correspond to the input received by the search engine unit 230, such as e.g. a keyword provided by a user of the user equipment 100.
A triggering unit 240 allows triggering a function of an application operable by the user equipment 100. The triggering unit 240 may directly launch the function or may launch the application and then the function. For example, when a phone number is provided and a call function is selected, the triggering unit 240 may trigger the call function of the phone application using the provided phone number in order to call the person associated with the provided phone number.
Figure 2B and 2C describe illustrative embodiments of the user equipment 100 according to the invention, and more specifically illustrative embodiments of a user interface 210 according to the invention. The user interface unit 210 of the user equipment 100 may comprise an input area 260, a candidate area (270, 272), a key word suggestion area 275 and an editing area 280. As inputs are provided by the user via the editing area 280 using the input area 260 and optionally suggestions selected from the suggestion area 275, a candidate area (270, 727) allows the user to visualize a list of suggested items. The list of suggested items may comprise items accessible in the communication network 110 (such as e.g. links to web sites or resources located in the communication network 110), application items (e.g. links towards applications embedded on the user equipment 100 or external applications usable by the user equipment 100 etc.), function items (e.g. links triggering functions comprised in applications embedded on the user equipment 100 or external applications usable by the user equipment 100 etc.), data items (e.g. data used by functions comprised in applications embedded on the user equipment 100 or external applications usable by the user equipment 100 etc.), mixed items (e.g. data and application or function). In an illustrative embodiment of the user equipment according to the invention, a list of suggested items may be presented in one single area grouping areas 270 and 272 or may presented into two separate candidate areas 270 and 272 (respectively a data candidate area and an application candidate area). In an illustrative embodiment of the user equipment according to the invention, the data candidate area 270 allows suggesting data in the first database 201 and the application candidate area 272 allows suggesting entries in the second database 202. In an illustrative embodiment of the user equipment according to the invention, the input area 260 and the candidate area 272 may be swapped (i.e. displayed in turns) in order for the user to switch from inputting to selecting. The swap may be for example a drop down gesture 325 on a tactile screen of the user equipment 100.
In an illustrative embodiment of the user equipment 100 according to the invention, the user interface 210 may be coupled with a search engine unit 230 that may comprise a browser 285. The browser 285 of the search engine unit 230 may allow using for example an existing search engine like e.g. Google™. The browser 285 allows entering inputs such as e.g. alphanumerical characters into an editing area 280. Inputs may be provided to the editing area 280 using an external keyboard or an input area 260.
In an illustrative embodiment of the user equipment according to the invention, as inputs are provided to the editing area 280, a suggestion unit 235 may provide suggestions in a suggestion area 275 in order to facilitate and speed up the input provision by the user. For example, by typing a few letters into the editing area 280, the user may be provided with a whole word or a plurality of words so that the user may further select one or more of the word(s), avoiding thus typing the whole word(s).
The examples here above of a browser module and an Instant Messaging module are in no way limiting of the scope of the present invention as the device may comprise any similar module that may be coupled with an input area 260, a data candidate area 270, an application candidate area 272, a key word suggestion area 275 or an editing area 280 for performing the method according to the invention.
Figure 3A describes an illustrative embodiment of the method according to the invention in reference to the units of Figure 2A. The method allows, for a user equipment 100, triggering an application running on said user equipment 100.
The user equipment 100 may be operatively coupled with:
- a first database 201 comprising a plurality of data available to the user equipment,
- a second database 202 comprising a plurality of entries, each entry corresponding to an application available on the user equipment 100, said application supporting at least one data of the first database 201 as an input data.
In an illustrative embodiment of the method according to the invention, in two preliminary acts 302 and 303:
- an installation unit 205 allows obtaining the availability of at least one application,
- a search engine unit 230 allows indexing the corresponding application entries in the second database 202, said indexing allowing the association between the application and at least one data supported by the application in the first database 201.
In an illustrative embodiment of the method according to the invention, the two preliminary acts 302 and 303 may be performed successively in this order.
In an illustrative embodiment of the method according to the invention, the data of the plurality of data in the first database 201 are of different categories and, in two preliminary acts 306 and 307:
- an installation unit 205 allows obtaining the availability of at least one application,
- a search engine unit 230 allows indexing the corresponding application entries in the second database 202, said indexing allowing the association between the application and at least one category of data supported by the application in the first database 201.
In an illustrative embodiment of the method according to the invention, the two preliminary acts 306 and 307 may be performed successively in this order.
Examples of association between the application and at least one data supported by the application in the first database 201 are described in Figures 3B, 3C and 3D. The first database 201 and the second database 202 may be built depending on the type of associations between data and applications as described in Figures 3B, 3C and 3D. These illustrative embodiments of associations are shown as examples and do not limit the scope of protection of the present invention as other similar association may be used.
In Figure 3B, phone numbers 1 and 2 stored in the first database 201 are associated with one or more application(s) through application entry 1 and application entry 2 stored in the second database 202. And email addresses 1 and 2 stored in the first database 201 are associated with one or more application(s) through application entry 2 and application entry 3 stored in the second database 202.
In Figure 3C, the application corresponding to application entry 1 stored in the second database 202 is associated with phone number 1 and email address 2 stored in the first database 201. And the application corresponding to application entry 2 stored in the second database 202 is associated with phone number 2 and email address 3 stored in the first database 201.
In Figure 3D, the application corresponding to application entry 1 stored in the second database 202 is associated with the category of data "phone number" of the phones numbers stored in the first database 201. The application corresponding to application entry 2 stored in the second database 202 is associated with the categories of data "phone number" and "email address" of respectively the phones numbers and email addresses stored in the first database 201. The application corresponding to application entry 3 stored in the second database 202 is associated with the category of data "email address" of the email addresses stored in the first database 201.
In an illustrative embodiment of the method according to the invention, the first and second databases may be stored on the user equipment 100.
In an illustrative embodiment of the method according to the invention, the applications may be stored on the user equipment 100.
In an illustrative embodiment of the method according to the invention, the first database may be incremented when receiving a user selection which is not in the database. This new data may be stored temporarily in the first database in a default category which is associated with a set of basic application entries (call, search, etc) of the second database. If the user chooses one of these application entries, the data may then be stored permanently and indexed in different categories according to the selected application entry.
In an act 310, a user interface may be provided by the user interface unit 210 of the user equipment 100 for receiving a user input. An illustrative embodiment of a user interface that may be provided by the user equipment 100 for receiving a user input according to the invention is described here above in reference to Figure 2B.
In an illustrative embodiment of the method according to the invention, the method may further comprise, prior to the act of providing a list of suggested items, an act 315 of providing a list of suggestions of key words in a candidate area 270, said key words comprising at least one data in the first database 201, and an act 317 of selecting one of said at least one data in said list of suggestions of key words, the provided list of suggested items further comprising only at least one entry supporting the at least one selected data (in other words, the provided list of suggested items further comprises only entries supporting the at least one selected data or is restricted to entries supporting the at least one selected data).
In an act 320, a suggestion unit 235 allows providing a list of suggested items upon reception of the user input previously provided in act 310. The list of suggested items comprises at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database.
In an illustrative embodiment of the method according to the invention, the list of suggested items further comprises data to apply function to and wherein the act of triggering is performed by applying to at least one data in the list of suggested items upon selection by a user of said function and said at least one data in the list of suggested items.
In an illustrative embodiment of the method according to the invention, in an act 325, an action of the user may allow switching or selecting the different user interface areas. For example, this may be a drop down gesture 325 on a tactile screen of the user equipment 100 in order for instance to swap between the input area 260 and the application candidate area 272 as described on Figures 3E/3F. Any type of gestures and a any type of configuration between the different areas may be used without limiting the scope of the present invention.
In an act 330, the selection of at least one data and at least one entry supporting the at least one data in the list is received from the user. In an illustrative embodiment of the method according to the invention, the at least one data may be chosen in the data candidate area 270 and the at least one application may be chosen in the application candidate area 272. In an illustrative embodiment of the method according to the invention, the at least one data and at least one entry supporting the at least one data in the list may be one unique item in the list and may be chosen for example in the candidate area 272 (as described in Figure 3F here under).
In an illustrative embodiment of the method according to the invention, the act of receiving a selection comprises firstly receiving a selection of at least one data and the list of suggested items is restricted to applications supporting the selected at least one data.
In an act 340, an application corresponding to the at least one entry may be triggered using the selected data as an input data.
The triggering of an application implies that at least one functionality or feature of the application may be executed or performed. In an illustrative embodiment of the method according to the invention, when one or more data are needed by an application as input data, the triggering of the application comprises executing the application using said at least one input data. For example: if the user types 'Eiffel Tower', then a list of relevant applications launch options with the typed word will pop-up: 'show Eiffel Tower on Orange Maps' ; 'find Eiffel Tower in Orange Wikipedia', etc...
In an illustrative embodiment of the method according to the invention, one selected application may be triggered using one selected data.
In an illustrative embodiment of the method according to the invention, a plurality of selected applications may be triggered using one selected data.
In an illustrative embodiment of the method according to the invention, one selected application may be triggered using a plurality of selected data.
In an illustrative embodiment of the method according to the invention, a plurality of selected applications may be triggered using a plurality of selected data.
Figure 3E and 3F describe an illustrative embodiment of the method according to the invention. References are made to the act 310 to 340 of Figure 3A. An Instant Messaging application is being used by a user on the user equipment 100. The user types in a provided user interface in an act 310, an input "Martin" in the editing area 280 using the input area 260. Suggestions of data are provided in a data candidate area 270 in an act 315. Then the user may confirm by selecting the word "Martin" in the data candidate area 270 in an act 317. In an act 325, a drop down gesture allows switching from the input area 260 to an application candidate area 272 that suggests a list of items comprising the selected data "Martin" associated with applications supporting "Martin" as an input parameter. The user may then select an item in an act 330 such as e.g. ["Martin" + IM application]. The selection allows then the trigger of the IM application to send Instant Messages to Martin.
Figure 4 describes an illustrative embodiment of the method according to the invention in the form of a sequence diagram and in its application, referred here under as ISL (Input Sensitive Launcher), to a tactile user equipment using a soft keypad. This is in no way limiting the scope of the present invention as the invention may be transposed to non-tactile user equipment.
In an illustrative embodiment of the method according to the invention, the ISL may collect applications information such as for example application name, basic application functions, and how to launch these applications and functions in order to built the second database 202.
In an illustrative embodiment of the method according to the invention, taking Android operating system as an example, the input method may be launched by the Android platform automatically, when the user click an editing area such as search editing box in the browser for searching.
In an illustrative embodiment of the method according to the invention, applications or application functions may be listed in an application candidate area of a soft keypad according to the user input. In other words, when the user inputs with the soft keypad and optionally highlights a suggestion text in a data candidate area, the user may drag down the soft keypad to display the application candidate area to launch applications or application functions.
In an illustrative embodiment of the method according to the invention, applications or application functions may be listed directly in a suggestion area according to current user input when user types with soft keypad. The user may then select (e.g. by clicking on) an icon in the suggestion area 275 or the candidate areas (270, 272) to launch the application or the application function or go to an intermediate page which lists different options. For example, the ISL may propose Dailer, SMS or Email applications in the candidate area (270, 272) of a soft keypad for a given user input identified as a contact name; or propose GMap to search or 118712 to discover Points of Interest (POIs) for a user input identified as an address.
The ISL may be implemented as an input method with a soft keypad including input area, suggestion area and candidate area, which will be used to catch user inputs and display data and candidate applications. The ISL may display the candidate applications in the suggestion area during the user inputting text continually; or display the applications in the candidate area, when a "drop down" gesture on the soft keypad's input area captured. The candidate applications may be calculated by ISL from a matching matrix recorded in a directory database as described hereunder in reference to Figure 6. The ISL will collect the information of the installed applications on the device which comprise for example: application package name, basic application functions, and how to launch these applications by the Android Intent mechanism.
As shown Figure 4, the ISL may react to a user input text as follows:
The ISL input method is started by Android system for instance when the user clicks an editing area on the UI, such as an edit box in browser or activity.
In act 405, The ISL may start a task to listen the user's input actions.
Based on the user input, a character or a gesture on soft keypad, the ISL may perform the following:
If the user input a text in act 410:
o The ISL may get the user input in act 415,
o The ISL may analyze the text content, matching the content with the candidate applications in act 420.
o The ISL may refresh the suggestion area with data suggestions and applications suggestions (icon) in act 425.
o The ISL may continue the task to listen the user's input actions (act 405) after suggestion area refreshes successfully.
If the user does a "drop down" gesture on the soft keypad (act 430): o In act 435, the ISL may switch the input area to candidate area with application launch options.
o The ISL may continue the task to listen the user's input actions (act 405). If the user clicks suggestion text content (act 440):
o The ISL may send the text content to the editing area, allowing the area to display the text that user inputted. This text content may also be identified as a data temporally stored. User may be displayed with the candidate area according this data by dropping down the soft keypad or selecting a data in the data candidate area.
o The ISL may continue the task to listen the user's input actions. If the user clicks on a data in the data candidate area:
o The ISL may display corresponding applications in the application candidate area.
If the user clicks an application in the application candidate area:
o If the user clicks a Map or POI application for example, the ISL may record the selected data into the Address Directory database of ISL. o If the user clicks an application other than Map or POI for example, the ISL may record the number of clicks on the application, and modify the priority of the candidate applications in Candidate Application Directory by the number of clicks of the applications,
o The application may be launched and the data may be transferred to the application for the launch. On the android platform, the data are carried within the "intent" that starts the application.
Figure 5 describes an illustrative embodiment of the method according to the invention for analyzing input from a user.
Text and application icons may be displayed in the suggestion area 275, data candidate area 270 and application candidate area 272. The way to generate text suggestions may be based on any existing input methods. Such methods use a directory containing the common words and search the directory with the text input by the end user, and display the search result as suggestions text to the end user. The ISL may reuse the common way to organize the directory and to display the suggestion text which might be put in the editing area or suggestion area and highlighted as launch data.
The display of application icons in the suggestion area is generated after analyzing the input text content and matching them to a specific data type. The analysis may be based on a search in the contact book and call log for contact and phone number data (first database). For address info, ISL relies on Address Directory and a search into the office address, home address in the system address book if available (first database). In an illustrative embodiment of the method according to the invention, the method according to the invention may starts after there are at least two characters input by a end user.
In act 505, the ISL may match the text to be a contact's information, including contact's name and email prefix. If the matching is successful, the candidate area may display the icon of the applications include Dialer, SMS, IM, Email and Note (act 510).
If step one fails, the ISL may match the text to be a telephone number (act 515). The ISL may search the telephone number in the system address book and call logs by the text input. If the matching is successful, the suggestion area may display the icon of the applications include Dialer, SMS, and Note (act 520).
If step two fails, the ISL may match the text to be address information (act 525). The ISL may search the office and home address in the system address book, and the address recorded in ISL Address Directory, by the text input. If the matching is successful, the suggestion area may display the icon of the applications include Map, 118712, Note, and Calendar (act 530).
If step three fails, the ISL may match the text to be time expression (act 535). If the matching is successful, the suggestion area may display the icon of the applications include Note, and Calendar (act 540).
If all the matching above fail, the ISL may display the Search and Map applications' icon (act 545).
For all of the steps above, the application whose name starts with the text input may be displayed at the beginning of the all the application suggestion.
When the user click the icon of an application, the application may be launched by intent containing the data required. The data may be exactly what user inputs. It may be also possible to implement an intermediate page with different launch options if several launch options available with the same data.
If user highlights a suggestion text and drops down the input area to show the applications/functions in the candidate area. The data picked by user may also go through acts 505 to 545 to list the launch options in the candidate area.
The application directory (in second database) may be updated after an application install or uninstall from the device or when new functions of an application are available.
The application directory (in second database) may be upgraded together with the ISL from Android market, or from a standalone upgrade server.
Figure 6 describes an illustrative embodiment of a software architecture of the user equipment according to the invention. In an illustrative embodiment of the method according to the invention, functions and applications to be suggested may be calculated from a matching matrix. Each data may be indexed in different categories. Each category may be associated with at least one application entry. The matrix may handle the mapping of different categories with applications by bidirectional pointers. This may facilitate the calculation by avoiding direct mapping of huge input data with application entries.
The suggestions in the suggestion area 275 and candidate area (270, 272) and corresponding suggested items of applications/functions in the candidate area may be handled by a "Pattern match" module and a database called "ISL Directory". This directory may comprise two sub-directories called "Address Directory" and "Candidate Application Directory". For example, the type of data could be predefined as contact name, phone number, address info, time and general text. The suggest contact book and phone number data according to user input text may rely on system contact book and call logs (first database). In an illustrative embodiment of the method according to the invention, a standalone directory may be used in the ISL Directory to match contact or telephone numbers with user inputs. In an illustrative embodiment of the method according to the invention, for example for a geographic address identification, the ISL Directory may rely partly on the system address book as a first database. But the ISL may still use "Address Directory" to record a general text as address info when user selects this general text as data to launch Maps/POI related applications during the usage of the ISL. In an illustrative embodiment of the method according to the invention, for example or Time data, ISL may call a "Pattern match" module to match the user input as a time. Besides the Address Directory, ISL Directory may comprise the second database called "Candidate Application Directory" to record the candidate applications for different types of data (contact name, phone number or address, etc).
At the first launch of the ISL, the ISL Candidate Application Directory may scan the installed applications on the device. If the application scanned is recognized by ISL as a candidate application to handle a specific type of data (i.e. the GMap application can handle address information) it may be recorded in the ISL Application Directory. An initialization of specification may be implemented together with ISL on how to recognize applications, by analyzing the application package name, what kind of text/file the application can handle, and the launch data of the application. These operations may be carried out by the installation unit 205 (in reference to Figure 2).
The candidate application and its order in the candidate area may be updated during the usage of ISL, by recording the user's input and selection into the application directory. The Candidate Application Directory will also be updated when applications install or uninstall from the device. As inputs are provided, the procedure below may be performed. As shown in Figure 5, the ISL may match the text as the procedures below:
The ISL service will extend from the InputMethodService class in Android SDK. It contains ISLInputArea and ISLCandidateArea, that are extends from KeyboardArea and Area classes in Android SDK separately.
The ISLService will create the other two areas of the ISL; analyse the input text based on the matching rules; send the text to editing area; send the candidate application and suggestion text to ISLCandidateArea.
The ISLService will init the candidate application directory in DirectoryDB during the first launch of the input method, and then it will check the directory database to get suggestion applications for a specific text input.
The ISLService can update the DirectoryDB during the usage of the ISL. The DirectoryDB can also upgrade together with the ISL from Android Market or, the ISLService retrieves new items from a server for upgrading.
The ISLInputArea will show the soft keypad and react to the user's gesture on the soft keypad. It will switch its display between a soft keypad and a window filled with the candidate applications.
The ISLCandidateArea will display the suggestion text and candidate applications. It also reacts to the user's clicking on the candidate items, to determine what item is clicked by the user, and notify the ISLService to send text clicked to edit control, or launch the application clicked.
The PackageObserver is a subclass of BroadcastReceiver, which will receive the system notifications when application install and uninstall. It may update the
DirectoryDB when it recognize an application is a candidate handler application for contact, telephone number, address, time or a plain text.
The DirectoryDB will save all of the candidate handler applications for specific content, includes the application's package name and launching data.
The construction of the DirectoryDB is shown on Figure 7.
Figure 7 describes an illustrative embodiment of a software architecture of the user equipment according to the invention. The DirectoryDB may contain two databases (first and second); the candidate application directory will store the application package name, the content it can handle, and the launching data of the application; the address directory will store the address text, used during the ISL match text to be address information. The DirectoryDB can be upgrade from a specific upgrading server, which will store the lastest candidate applications for some kind of content and the address text. The ISL can retrieve those information from upgrading server periodically.

Claims

1. A method of triggering an application running on a user equipment, said user equipment being operatively coupled with :
- a first database comprising a plurality of data available to the user equipment,
- a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data,
the method comprising the acts of:
- providing a user interface for receiving a user input,
- providing a list of suggested items upon reception of said user input, said list of suggested items comprising at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database,
- receiving from the user the selection of at least one data and at least one entry supporting the at least one data in the list and,
- triggering the application corresponding to the at least one entry using the selected data as an input data.
2. A method according to claim 1, said method further comprising the preliminary acts of:
- obtaining the availability of at least one application,
- indexing the corresponding application entries in the second database, said indexing allowing the association between the application and at least one data supported by the application in the first database.
3. A method according to claim 1, wherein the data of the plurality of data in the first database are of different categories, said method further comprising the preliminary acts of:
- obtaining the availability of at least one application,
- indexing the corresponding application entries in the second database, said indexing allowing the association between the application and at least one category of data supported by the application in the first database.
4. A method according to any of the preceding claims, wherein the first and second databases are stored on the user equipment.
5. A method according to any of the preceding claims, wherein the applications are stored on the user equipment.
6. A method according to any of the preceding claims, wherein the act of receiving a selection comprises firstly receiving a selection of at least one data and wherein the list of suggested items is restricted to applications supporting the selected at least one data.
7. A method according to any of the preceding claims, said method further comprising, prior to the act of providing a list of suggested items, an act of providing a list of suggestions of key words, said key words comprising at least one data in the first database, and an act of selecting one of said at least one data in said list of suggestions of key words, the provided list of suggested items further comprising only at least one entry supporting the at least one selected data.
8. A method according to any of the preceding claims, wherein the at least one data and at least one entry supporting the at least one data in the list are one unique item in the list.
9. A user equipment for triggering an application running on said user equipment, said user equipment being operatively coupled with :
- a first database comprising a plurality of data available to the user equipment,
- a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data,
the user equipment comprising:
- a user interface unit for providing a user interface for receiving a user input,
- a suggestion unit for providing a list of suggested items upon reception of said user input, said list of suggested items comprising at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database,
- a user interface unit for receiving from the user the selection of at least one data and at least one entry supporting the at least one data in the list and,
- a triggering unit for triggering the application corresponding to the at least one entry using the selected data as an input data.
10. A user equipment according to claim 9, said user equipment further comprising an installation unit for obtaining the availability of at least one application, and wherein the search engine unit further comprises means for indexing the corresponding application entries in the second database, said indexing allowing the association between the application and at least one data supported by the application in the first database.
11. A user equipment according to claim 9, wherein the data of the plurality of data in the first database are of different categories, said user equipment further comprising an installation unit for obtaining the availability of at least one application, and wherein the search engine unit further comprises means for indexing the corresponding application entries in the second database, said indexing allowing the association between the application and at least one category of data supported by the application in the first database.
12. A user equipment according to any of the preceding claims 9 to 11, wherein the first and second databases are stored on the user equipment.
13. A user equipment according to any of the preceding claims 9 to 12, wherein the applications are stored on the user equipment.
14. A user equipment according to any of the preceding claims 9 to 13, wherein the user interface unit further comprises means for firstly receiving a selection of at least one data and wherein the list of suggested items is restricted to applications supporting the selected at least one data.
15. A user equipment according to any of the preceding claims 9 to 14, wherein the suggestion unit 235 further comprises means for providing a list of suggestions of key words, said key words comprising at least one data in the first database, and an act of selecting one of said at least one data in said list of suggestions of key words, the provided list of suggested items further comprising only at least one entry supporting the at least one selected data.
16. A system for triggering an application running on a user equipment, said system comprising:
- a first database comprising a plurality of data available to the user equipment,
- a second database comprising a plurality of entries, each entry corresponding to an application available on the user equipment, said application supporting at least one data of the first database as an input data,
- a user equipment being operatively coupled with the first and second databases and comprising :
- a user interface unit for providing a user interface for receiving a user input, - a suggestion unit for providing a list of suggested items upon reception of said user input, said list of suggested items comprising at least one data matching said user input in the first database, and at least one entry supporting the at least one data in the second database,
- a user interface unit for receiving from the user the selection of at least one data and at least one entry supporting the at least one data in the list and,
- a triggering unit for triggering the application corresponding to the at least one entry using the selected data as an input data.
17. A computer-readable medium having computer-executable instructions to enable a computer system to perform the method of any one of claims 1 to 8.
PCT/CN2010/077537 2010-09-30 2010-09-30 Application launching method and system WO2012040936A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/077537 WO2012040936A1 (en) 2010-09-30 2010-09-30 Application launching method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/077537 WO2012040936A1 (en) 2010-09-30 2010-09-30 Application launching method and system

Publications (1)

Publication Number Publication Date
WO2012040936A1 true WO2012040936A1 (en) 2012-04-05

Family

ID=45891832

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/077537 WO2012040936A1 (en) 2010-09-30 2010-09-30 Application launching method and system

Country Status (1)

Country Link
WO (1) WO2012040936A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350977A (en) * 2007-07-20 2009-01-21 宁波萨基姆波导研发有限公司 Rapid searching method for mobile communication terminal
CN101510159A (en) * 2009-03-30 2009-08-19 腾讯科技(深圳)有限公司 Application program start-up method and browser
CN101631332A (en) * 2009-07-29 2010-01-20 中兴通讯股份有限公司 Application program search method and application program searching device for movable terminal
US20100114851A1 (en) * 2008-11-06 2010-05-06 Gregg Wernecke Searching for user interface controls

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350977A (en) * 2007-07-20 2009-01-21 宁波萨基姆波导研发有限公司 Rapid searching method for mobile communication terminal
US20100114851A1 (en) * 2008-11-06 2010-05-06 Gregg Wernecke Searching for user interface controls
CN101510159A (en) * 2009-03-30 2009-08-19 腾讯科技(深圳)有限公司 Application program start-up method and browser
CN101631332A (en) * 2009-07-29 2010-01-20 中兴通讯股份有限公司 Application program search method and application program searching device for movable terminal

Similar Documents

Publication Publication Date Title
US11461003B1 (en) User interface for presenting suggestions from a local search corpus
US20130219333A1 (en) Extensible Framework for Facilitating Interaction with Devices
EP2089789B1 (en) Word prediction
TWI416934B (en) Information delivery system and method for mobile appliances
US20110184971A1 (en) Method and system for quickly retrieving information service on mobile terminal
JP2014194786A (en) Mobile communications device and contextual search method therewith
US20080126075A1 (en) Input prediction
CN105302811B (en) Browser page skipping method and device
US20130263039A1 (en) Character string shortcut key
JP2009003930A (en) Method and system for providing navigable search result
CN1760873B (en) Method and system to identify a previously visited universal resource locator (URL) in results from a search
JP2006228209A (en) Network selection user interface for wireless device
EP3114576A1 (en) Adaptive key-based navigation on a form
US20150113525A1 (en) Method for a Reader to Provide Service, Reader and Computer-Readable Storage Medium
US20140109009A1 (en) Method and apparatus for text searching on a touch terminal
US10789080B2 (en) Multi-tier customizable portal deployment system
US10372512B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
US8874564B2 (en) System and method for communicating search results to one or more other parties
CN102663055A (en) Method, device and browser for realizing browser navigation
CN106648733A (en) Application pre-loading method
CN104380768B (en) Address book information service system and method and device for address book information service
WO2017205188A1 (en) Multi-level font substitution control
JP5595252B2 (en) Cooperation support apparatus, program, cooperation support method, cooperation support system, and communication apparatus
US20210026913A1 (en) Web browser control feature
WO2012040936A1 (en) Application launching method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10857699

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10857699

Country of ref document: EP

Kind code of ref document: A1