Abstract:
The present invention relates to a method and apparatus for selecting database items from a database, where the database items are indexed by a list of item identifiers. The item identifiers may be in the form of text. An initial display is generated which includes one or more parts of the item identifiers. Selection of the one or more parts may be made and results in the generation of a display of a further one or more parts for selection. The further one or more parts may be selected in order to add to the selected one or more parts to build a larger part or whole of an item identifier. Selection from a large list of item identifiers may be carried out in a relatively short time period.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to an improved process and apparatus for selecting an item from a database, and more particularly, but not exclusively, relates to a method and apparatus for rapidly selecting items from a list of items identified by a text field. 
       BACKGROUND OF THE INVENTION 
       [0002]    There are many applications on computing devices which require selection from a list where the item identifier for the list is text based. These include selecting a contact from an address book, selecting a record from a database, selecting a word from a dictionary, etc. 
         [0003]    The user of such systems has to enter enough information to narrow a search of the list down to a single entry to be selected. This usually entails entering several of the initial letters of the search term resulting in a smaller subset of the list, then scrolling through the subset to manually point out the desired item. 
         [0004]    This can be a cumbersome process requiring the user to be able to enter any letter in their language&#39;s alphabet as well as possibly numbers and other symbols. This is particularly onerous on small, hand held devices such as mobile phones, personal digital assistants (PDAs), remote controls, etc. 
         [0005]    On hand held devices with a keypad such as mobile phones ( FIG. 1 ), the entry of alphabetic characters as well as numerics and symbols is achieved through a cumbersome system of multiply pressing the 12 number keys (0 to 9 and “*” and “#”). This method has the disadvantages of:
       Being a complicated, unnatural system which needs to be learnt,   Requiring accurate presses of generally very small buttons resulting in accidental pressing of adjacent buttons,   Requiring the user to be able to read and discern very small labels on the buttons,   Requiring constant shift of gaze between buttons and screen to track the input,   Only allowing the entry of one character at a time, not a group of characters at a time.       
 
         [0011]    Other handheld devices take input through a touch screen such as PDAs ( FIG. 2 ). These allow text input through generally two methods: an on-screen keyboard and handwriting recognition. 
         [0012]    The on-screen keyboard method involves presenting an image of a keyboard on the screen. The buttons on this on-screen keyboard are too small to be selected using fingers so a stylus is required. This results in a slow, error prone selection of individual characters with the disadvantages:
       Access to numbers and additional symbols usually requiring at least two presses as they require the keyboard to go into another mode to allow access to them,   Small key images are hard to see for those with any impairment of vision and hard to select for those with limited dexterity,   Characters are only entered one at a time.       
 
         [0016]    Handwriting recognition systems have the disadvantage of a high error rate in recognising characters unless either the system is trained with the user&#39;s handwriting or the user learns a set of distinctive ways to input letters that are amenable to the device&#39;s programming. This method has the disadvantages of:
       Needing a stylus for input,   Being slow to enter each letter,   Requiring a constant cycle of entry, checking of accuracy of the entry and correction of misinterpretation of entries,   Characters are only entered one at a time.       
 
         [0021]    Even using a fully fledged keyboard to specify the characters to select an object has disadvantages:
       It is still necessary to enter one character at a time,   It is still necessary to enter enough characters to generate a manageable subset list and then select from it, the alternative would be to enter sufficient characters each time to uniquely identify the entry which may require almost all of the entry to be specified,   Except for adept touch typists there is still a need to constantly move one&#39;s gaze between the keyboard and the screen.       
 
         [0025]    There is need for an improved method of selecting items from a list. 
       SUMMARY OF THE INVENTION 
       [0026]    In accordance with a first aspect, the present invention provides a method of selecting database items from a database, the database items being indexed by a list of item identifiers, the method comprising the steps of: 
         [0027]    generating an initial display including one or more parts of item identifiers for selection, 
         [0028]    enabling selection of the one or more parts and in response to selection of the one or more parts, 
         [0029]    generating a display of a further one or more parts for selection, and 
         [0030]    enabling selection of the further one or more parts in order to add to the selected one or more parts to build a larger part or whole of an item identifier. 
         [0031]    In one embodiment, the invention entails a method of selecting an item from a list indexed by a text based field. Preferably, the invention allows for selection from the list by presenting one or more word sections, (the item identifier parts in this embodiment), containing one or more characters, at a time in a list for the user to select from. 
         [0032]    Preferably, the word sections presented are based on a knowledge of the text indices in the list and the likelihood of the word sections to be the ones the user wants to enter. 
         [0033]    Preferably, where the list of expected word sections does not contain the desired entry the user is given an option to list “more” word sections and is presented with a new list which indicates the next most likely set of word sections. 
         [0034]    Preferably, when a word section is selected, a new list of word sections is presented to form a continuation of the text selection based on the word sections selected so far being the start of the desired selection 
         [0035]    Preferably, once all the word sections have been selected, the item in the list is identified and any associated action, such as presenting a telephone book contact&#39;s contact details, is carried out. 
         [0036]    Preferably, the word sections are presented as labels on the screen to be selected by various methods depending on the type of device. 
         [0037]    Preferably, where the device is a PC, the word sections would be selected by mouse presses or mapping to keyboard keys. 
         [0038]    Preferably, where the device has a touch screen such as PDA or Tablet PC, the word sections would be selected by pointing at the labels with either a finger or stylus. 
         [0039]    Preferably, where the device has a small screen and a joystick such as a mobile telephone or watch sized device, the word sections should be selectable from a menu which indicates which word section is selected for corresponding movements of the joystick. 
         [0040]    Preferably, where the device has function keys with the ability to associate an on-screen label with a button press the word sections would be presented for selection as labels with corresponding function keys. 
         [0041]    In accordance with a second aspect, the present invention provides a method of selecting database items from a database, the database items being indexed by a list of item identifiers, comprising the steps of enabling a display of one or more parts of item identifiers for selection, the item identifiers being generated on a display being chosen for generation in accordance with predetermined criteria. 
         [0042]    In accordance with a third aspect, the present invention provides an apparatus for selecting database items from a database, the database items being indexed by a list of item identifiers, the apparatus comprising a display, an input means, a generating means for generating an initial display including one or more parts of item identifiers for selection, means for enabling selection via the input means of the one or more parts, means responsive to selection of the one or more parts for generating a display of a further one or more parts for selection, means enabling selection via the input means of the further one or more parts, and addition means to add the further one or more parts to the selected one or more parts to build a larger, or whole of an item identifier. 
         [0043]    In accordance with a fourth aspect, the present invention provides an apparatus for selecting database items from a database, the database items being indexed by a list of item identifiers, comprising a means enabling a display of one or more parts of item identifiers for selection, the means selecting the item identifiers for display in accordance with predetermined criteria. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0044]    Features and advantages of the present invention will become apparent from the following description of embodiments thereof, by way of example only, with reference to the accompanying drawings, in which: 
           [0045]      FIG. 1  is a representation of a traditional mobile telephone layout. 
           [0046]      FIG. 2  is a representation of a touch screen input device. 
           [0047]      FIG. 3  is a representation of a traditional address book at start of selection process. Image shows first four entries in address book with selection indicator over first one. There is no entry in search refinement field. 
           [0048]      FIG. 4  is a representation of a selection from reduced list of contacts from an address book using a traditional selection process. Image shows user has entered “je” to refine the search to a manageable number of entries and then used the cursor to move the highlight to specify “Jessie Lares” 
           [0049]      FIG. 5  is a representation of an opening joystick based selection menu using the present invention. 
           [0050]      FIG. 6  is a representation name partially specified using the present invention. 
           [0051]      FIG. 7  is a representation of an example table of words. 
           [0052]      FIG. 8  is a representation of an example structure of tree for words in example table. 
           [0053]      FIG. 9  is a representation of a touch screen option selection. 
       
    
    
     DESCRIPTION OF PREFERRED EMBODIMENT 
       [0054]    The following description of the present invention relates to selection of a contact from an address book of a mobile telephone. The invention is however not limited to this application and may be implemented on any device with computational processing ability on any list which is indexed by a text based value. 
         [0055]    The conventional way of selecting a contact from an address book on a mobile telephone entails the user following the sequence:
       1. The user starts the address book application and is presented with a the full list of all contacts in the address book, ( FIG. 3 )   2. Using the multi-tap feature on the device to enter characters with multiple presses of keypad keys, the user enters the first letter of the name they want to find,   3. This results in the list of names presented changing from the entire address book to only those names starting with the specified letter,   4. The user can now decided to use the joystick to move the selection to the desired contact and select it ( FIG. 4 ), if however the list is still too long the user goes back to step 2 above to enter the next character and proceeds until the list is short enough to find the contact,   5. Once the contact is selected, their information is presented and the user is given the option of calling them, emailing them, etc.       
 
         [0061]    In an embodiment of the current invention the above process can be streamlined greatly by presenting the user with the following sequence:
       1. The user starts the address book application which is implemented based on the present invention, the user is presented with 4 strings in a circular menu indicating the strings are selected by movements of the joystick in the directions left, right, up and down ( FIG. 5 ), these initial four options are the four most likely word sections in the database at the start of a contact name based on an analysis of the frequency of words in the address book;   2. If the user sees the word section that starts, or is a continuation of, the contact they want to select they move the joystick in the indicated direction to select that word section, appending it to the name thus far specified. The next set of most likely word sections which continue the name thus far specified are then presented ( FIG. 6 ), if the selection is not complete the user repeats this step 2;   3. If the word section the user desires is not presented they activate the “more” function, in this case a press in of the joystick to be presented with the next most likely set of four options to continue the name thus far specified, the user then repeats step 2;   4. Once the user has completed the name the user is then presented with their information and the user is given the option of calling them, emailing them, etc.       
 
         [0066]    Using an address book application implemented with the present invention as described above has the following advantages over the traditional system as described previously:
       There are significantly less key presses or movements of the joystick as the mostly letters are presented first and it is likely that it will be possible to specify several letters of the name at a time,   Only the joystick has been used so there is no need to transfer the thumb or finger between buttons and risk mis-hitting buttons,   The labels selected from are presented on the screen rather than being printed on the buttons meaning the user is able to maintain their gaze on the screen the entire time rather than constantly flick between the screen and the keypad,   Another advantage of on-screen labels is that it is possible to increase the size of the labels to make them more readable for those with vision impairment, an option not possible for labels on small keypad keys.       
 
         [0071]    It should be obvious to someone skilled in the art that the present invention has much broader application than just the example listed above, as well as a mobile phone, the present invention can be used to improve list selection on other devices including but not limited to personal computers, tablet PCs, PDAs, remote controls and small watch sized devices. 
         [0072]    Also, as well as the above sample application the present invention can be used to select an item from any list which is indexed by a text based value. The list could be of any size from a handful of entries to a large database of thousands or even millions of entries. The list does not just have to be contacts in an address book, applications could include but are not limited to selection from any text indexed database, for example a list of products in an inventory, selection of word definitions from a dictionary, selection of answers from an FAQ (Frequently Asked Question) document, etc. 
       Implementation 
       [0073]    Preferably the present invention would be implemented as software within an application which maintains or allows viewing of some list of information. The list would be accessible through an index field which is text based. The text may be based on any language or symbolic system as long as it can be represented on the screen for selection. 
       Table of Values 
       [0074]      FIG. 7  shows an example table of words which may be the text string indices from which a selection is to be made. 
       Hierarchical Tree 
       [0075]    In order to facilitate selection from the list of text indices using the present invention, the list needs to be processed as a hierarchical tree of word sections. In one variation of the implementation of the present invention in software there may be a pre-processing phase where the list of indices is analysed and the hierarchical tree is generated and stored in some computer accessible memory to assist processing. 
         [0076]    The hierarchical tree of word sections is an internal representation of the structure of the words in the list. Where words share the same starting letter or letters those words are added under the same node, where words diverge a branch in the hierarchical tree is formed. This process continues to form further entries and branches down the tree to correspond with the subsequent letters in the words. 
         [0077]    As an example, the logical hierarchical tree structure for the list in  FIG. 7  is illustrated in  FIG. 8 . As can be seen, where words have common letters in sequence they share a node in the tree structure, where the characters diverge (for example after the first “n” for “Andrew Jones” and “Anne Parkes”) a branch in the tree is formed. 
       Node Rankings 
       [0078]    Associated with each end node is a ranking value. In the most basic of systems this value would be one for each end node but in other systems it could be any number representing a ranking, for instance for a phone book application the number could be the number of times that contact was accessed giving more frequently used contacts higher priority. 
         [0079]    For the branch nodes in the tree their ranking value is the sum of all the ranking values of the nodes immediately below them in the tree. 
       Presenting Options 
       [0080]    In an implementation of the present invention, the system presents word section options. The number of options presented depends on the mode by which the options are being selected. On a touch screen the options may be in a 3 by 2 grid to be selected by a stylus (FIG.  9 )—in this case the system would be generating up to 5 word sections at a time leaving the sixth menu option to indicate “more” where none of the presented 5 options is applicable. 
         [0081]    In the case of a menu driven by a joystick such as that which is commonly found on a mobile phone the system could present up to 4 word section options indicated by presses of the joystick in the four directions (left, right, up and down) and having a press in of the joystick to indicate “more”. 
         [0082]    Each word section option presented corresponds to a node in the notional hierarchical tree. In order to determine which nodes to present the system will use the following logic:
       1. Exclude nodes which have already been presented (i.e. they have been presented to the user and the user has selected “more” to indicate none of those presented are appropriate)   2. Select the nodes with the highest ranking values   3. When assessing the ranking value subtract the ranking value of any nodes below this node in the tree that have been selected. For example, in  FIG. 8  ranking value for the node with the string “J” is 5 but if the node for “ohn_” is included in the selection the ranking for “J” should be treated as 2, the sum of the rankings of the unselected nodes.   4. Point 3 above means some iterations may be performed to select the optimum node set   5. Select up to the number of menu choices that are presentable.       
 
         [0088]    Thus for our example tree in  FIG. 8  if four word section are to be selected for a joystick based interface, the first four options would be: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 WORD SECTION 
                 RANKING VALUE 
               
               
                   
                   
               
             
             
               
                   
                 “An” 
                 2 
               
               
                   
                 “John_” 
                 3 
               
               
                   
                 “J” 
                 2 (ranking of “J” minus ranking of “ohn_” which is presented separately) 
               
               
                   
                 “Peter Smith” 
                 1 
               
               
                   
                   
               
             
          
         
       
     
         [0089]      FIG. 5  shows how this selection set may be represented on a joystick based interface. 
         [0090]    If the user was to select the “John_” option then the options to be presented would be: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 WORD SECTION 
                 RANKING 
               
               
                   
                   
               
             
             
               
                   
                 “Smith” 
                 1  
               
               
                   
                 “Sykes” 
                 1 
               
               
                   
                 “Jones” 
                 1 
               
               
                   
                   
               
             
          
         
       
     
         [0091]      FIG. 6  shows how this selection set may be represented on a joystick based interface. 
         [0092]    If the user was to select the “An” option from the original menu then the options to be presented would be: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 WORD SECTION 
                 RANKING VALUE 
               
               
                   
                   
               
             
             
               
                   
                 “drew_Jones” 
                 1 
               
               
                   
                 “ne_Parkes” 
                 1 
               
               
                   
                   
               
             
          
         
       
     
         [0093]    Once the user selects a word section that takes them to the end of the index then the item has been uniquely specified and the system can then perform the processing applicable to the application. In the example of a phone book system the user may be presented with options to initiate a phone call or send a text message to the contact. 
         [0094]    As can be seen from the above example, even using just a joystick it is possible to very rapidly narrow a text based search to a single entry with very few joystick actions using the present invention. While the example presented is based on a trivial number of entries, the present invention provides a significant increase in efficiency of selections from lists with many more items as well. 
         [0095]    It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.