Abstract:
Methods of and systems for entering ambiguous text input via a linear character selection display are provided. A system for entering an alphanumeric string includes presentation logic for displaying on a presentation device an alphabet arranged into a row of letters and indication logic for presenting visual cues grouping a series of letters of the row into a cluster. The system also includes navigation logic for receiving user actions to move the visual cues along the row of letters to change the letters grouped into the cluster. The visual cues move along the row of letters in variable offsets based on a rate of input of the user actions. The system further includes selection logic for receiving user actions to select the cluster of letters to cause at least one of the letters of the selected cluster to be displayed in a string field.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 11/862,917, entitled Methods and Systems for a Linear Character Selection Display Interface for Ambiguous Text Input, filed Sep. 27, 2007, now U.S. Pat. No. 7,925,986, which claims the benefit under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 60/828,519, entitled A Linear Character Selection Display Interface For Ambiguous Text Input On Devices Without A Keypad, filed on Oct. 6, 2006, both of which are incorporated by reference herein. 
     
    
     BACKGROUND 
       [0002]    1. Field of Invention 
         [0003]    The present invention relates to a user-interface and, more specifically, a character selection interface system for entering ambiguous text input on input- and/or display-constrained devices with or without a keypad where character/symbol clusters are linearly rendered on a device display and are navigable in a single dimension. 
         [0004]    2. Description of Related Art 
         [0005]    Linear text input systems are those that require a user to input each letter of the text by scrolling through a selection of characters and selecting the desired character. Such interfaces are useful on devices that do not have a keypad, or have a constrained input keypad, e.g., iPod devices or car navigation systems.  FIG. 1  illustrates one such linear text input system for entering unambiguous text. In  FIG. 1 , the user has selected “A”, followed by “R”, and is currently in the process of scrolling through numerals 0-9 and letters A-Z to select the next character in the input string. 
         [0006]    Any user of linear text input systems is painfully aware of the overshoot/undershoot problem. Because linear text input systems require the user to scroll through a long list of characters, overshoot tends to occur when user selects characters separated by a relatively large number of characters. For example, a user may rapidly click the navigation buttons or hold the navigation buttons down when moving from one character to the next, where the characters are far apart in the list. However, overshoot can also occur with characters that are close together in the list, as the user may simply click the navigation button too many times, or hold the button down for too long. Undershoot can occur in a similar circumstance, when the user clicks too few times or does not hold the button down long enough to scroll through the appropriate number of characters. 
         [0007]    Thus, users tend to slow down and carefully select the item of choice when getting close to the desired item. This increases the amount of time required for a user to enter text. Furthermore, navigation of a linear alphabet for character selection can become cumbersome since the navigation length is on average high. For example, the English alphabet along with numbers would be a list of 36 characters. Text input by navigating to each character becomes extremely cumbersome. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    The invention provides methods of and systems for entering ambiguous text input via a linear character selection display. 
         [0009]    Under one aspect of the invention, a user-interface system for entering an alphanumeric string includes presentation logic for displaying on a presentation device an alphabet arranged into a row of letters. The presentation logic includes logic to display a string field for presenting an alphanumeric string of characters selected by a user. The system also includes indication logic, cooperative with the presentation logic, for presenting visual cues grouping a series of letters of the row into a cluster of letters to aid in the navigation of the row and the selection of a desired cluster. The system further includes navigation logic, cooperative with the indication logic, for receiving user actions from an input device to move the visual cues along the row of letters to change the letters grouped into the cluster. The visual cues move along the row of letters in variable offsets based on a rate of input of the user actions. The visual cues move by a single offset for each user action in response to user actions entered at or slower than a predetermined rate, and the visual cues move by more than a single offset for each user action in response to user actions entered faster than the predetermined rate. The system includes selection logic for receiving user actions from the input device to select the cluster of letters to cause at least one of the letters of the selected cluster to be displayed in the string field. 
         [0010]    Under another aspect of the invention, the system further includes disambiguation logic for receiving the selected cluster and for disambiguating the selection to a probable user letter selection of one of the letters of the selected cluster. 
         [0011]    Under a further aspect of the invention, the system further includes disambiguation logic for receiving user actions from the input device to select one of the letters from the selected cluster and for causing the selected letter to be displayed in the string field. 
         [0012]    Under yet another aspect of the invention, each letter of the selected cluster is selectable by acting only on the corresponding alphanumeric cluster. A cluster can be selectable via a cluster selection action, and a letter selection action can select one of the letters of the selected cluster. 
         [0013]    Under a still further aspect of the invention, the presentation device is separate from the input device so that the user can enter the alphanumeric string while focusing on the presentation device. The presentation device and the input device can be included in the same device. 
         [0014]    Under an aspect of the invention, the letters of the row of letters are presented in alphabetical order. The system can also include logic, cooperative with the presentation logic, for displaying a row of numerals adjacent to the row of letters. 
         [0015]    Under another aspect of the invention, the cluster includes at least three letters and at least one numeral. The row of letters can include numerals. 
         [0016]    Under yet another aspect of the invention, the navigation logic moves the visual cues along the row of letters to change the letters grouped into the cluster from a first subset of the letters to a second subset of the letters, the first and second subsets being contiguous. Under a further aspect of the invention, the navigation logic can move the visual cues along the row of letters to change the letters grouped into the cluster from a first subset of the letters to a second subset of the letters, the first and second subsets being separated by letters not in the first or second cluster. 
         [0017]    These and other features will become readily apparent from the following detailed description where embodiments of the invention are shown and described by way of illustration 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0018]    For a more complete understanding of various embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which: 
           [0019]      FIG. 1  illustrates a linear text input system. 
           [0020]      FIG. 2  illustrates a linear character selection interface identifying character clusters. 
           [0021]      FIG. 3  illustrates a 12-key telephone keypad. 
           [0022]      FIG. 4  illustrates a five-button navigation interface. 
           [0023]      FIG. 5  illustrates a touch sensitive circular scroll pad navigation interface. 
           [0024]      FIG. 6  illustrates one configuration of a device for use with the linear character selection interface. 
           [0025]      FIG. 7  illustrates an application of an embodiment of the invention implemented on a handheld user device. 
           [0026]      FIG. 8  illustrates a system for entering an ambiguous alphanumeric string. 
       
    
    
     DETAILED DESCRIPTION 
       [0027]    Preferred embodiments of the invention provide a linear character selection interface that enables a user to enter ambiguous text input using only a linear navigation control. The linear character selection interface provides character/symbol clusters that are linearly rendered on a device display and are navigable in a single dimension. The linear character selection interface addresses the drawbacks of linear navigation of an alphabet space by (1) reducing the average distance traversed by clustering the alphabets into groups and (2) providing for the coarse selection of the desired alphabet. These advantages enable the user to avoid the overshoot and undershoot problems described above, and increase the user&#39;s speed of text entry. The techniques described herein are particularly useful on input constrained and/or display constrained devices with or without a keypad. 
         [0028]    Embodiments of the present invention build on techniques, systems, and methods disclosed in earlier filed applications, including, but not limited to U.S. patent application Ser. No. 11/136,261, filed 24 May 2005, entitled “Method And System For Performing Searches For Television Programming Using Reduced Text Input”, U.S. patent application Ser. No. 11/246,432, filed 7 Oct. 2005, entitled “Method And System For Incremental Search With Reduced Text Entry Where The Relevance Of Results Is A Dynamically Computed Function Of User Input Search String Character Count”, U.S. patent application Ser. No. 11/312,908, filed 20 Dec. 2005, entitled “Method And System For Dynamically Processing Ambiguous, Reduced Text Search Queries And Highlighting Results Thereof”, U.S. patent application Ser. No. 11/235,928, filed 27 Sep. 2005, entitled “Method And System For Processing Ambiguous, Multiterm Search Queries”, and U.S. patent application Ser. No. 11/682,693, filed on 6 Mar. 2007, entitled “Methods and Systems For Selecting and Presenting Content Based On Learned Periodicity Of User Content Selections”, the contents of all of which are incorporated by reference herein. Those applications taught specific way to perform incremental searches using ambiguous text input and methods of ordering search results. The present techniques, however, are not limited to the systems and methods disclosed in the incorporated patent applications. Thus, while reference to such systems and applications may be helpful, it is not believed necessary to understand the present embodiments or inventions. 
         [0029]      FIG. 2  illustrates an embodiment of a linear character selection interface  200 . The interface  200  has a display  201  where a portion of an alphabet  202  is presented. The interface also has a selection highlight  203  indicating that a particular cluster of characters is currently selected. In the embodiment shown in  FIG. 2 , the alphanumeric clusters correspond to the clustering found on a 12-key phone keypad, such as the one shown in  FIG. 3 . However, unlike the 12-key phone keypad, the selection highlight  203  expands and contracts dynamically to encompass clusters having different numbers of characters, for example, the “a, b, c, 2” cluster has four characters, while the “w, x, y, z, 9” cluster has five characters. The 12-key phone keypad arrangement is merely an example of one possible arrangement of clusters, and clusters having more or less characters are consistent with embodiments of the invention. Similarly, the number of characters present in a cluster may be dynamic and, for example, may be based on the user&#39;s typical speed of navigation. Thus, the selection highlight  203  may increase the number of characters encompassed within the highlight  203  if the user is navigating the linear arrangement at a high rate of speed. 
         [0030]    Furthermore, the linear character selection interface  200  provides for the disambiguation of a selected cluster. Therefore, in some implementations, after the user has selected one of the ambiguous clusters, the user can enter the cluster and select among the letters and numbers of the cluster to specify a particular character to be part of the text entry. 
         [0031]    In an implementation of the linear character selection interface  200  utilizing ambiguous text input, the systems and/or devices employing the methods disclosed herein can provide for an express word separator character. An express word separator character is one that unambiguously identifies that one ambiguous search term has ended and another has begun. By providing an express word separator, the number of unambiguous search terms that can match the ambiguous input is reduced. Whereas, if an ambiguous character is used to represent a word separator, a text entry intended by the user to be a multiple term entry can be interpreted by a disambiguation system to be a single search term, thereby causing the search system to return results not of interest to the user. In addition, because the number of possible unambiguous search terms matching the ambiguous input is increased, the processing load on the system is increased, which can result in reduced system performance. Once an ambiguous text input has been supplied, ambiguous search techniques, such as those in the incorporated applications, can be used to retrieve search results. 
         [0032]    Navigation of the character clusters can be accomplished through a variety of interfaces.  FIGS. 4 and 5  illustrate a five-button navigation interface  400  and a circular scroll pad  500 , respectively. The five-button interface  400  and scroll pad  500  are two examples of physical interfaces that can be used with the linear character selection interface  200  of  FIG. 2 . For example, two opposing navigation buttons  401 ,  402  of the five-button navigation interface  400  is used to manipulate the selection highlight  203  of  FIG. 2  left and right through the linear character list. Meanwhile a central selection button  403  is used to select the highlighted character cluster. Thus, the linear character selection interface  200  enables the user to quickly enter ambiguous text input, which can be used to render nonambiguous text input or produce search results using the techniques disclosed in the incorporated applications. Similarly, the user can slide the selection highlight  203  left and right by contacting a circular track  501  of the scroll pad  500  in a counterclockwise and clockwise direction, respectively, and a central selection button  502  is used to select the highlighted cluster. Any other form of navigation that can traverse a one-dimensional sequence of character clusters can be used with embodiments of the invention. 
         [0033]    When the user&#39;s navigation pace exceeds a certain threshold, the selection highlight  203  moves in discrete steps of the alphanumeric clusters. The user&#39;s navigation pace can be determined by measuring the amount of time between sequent browse action inputs. For example, if the user uses a fast circular browse motion on the scroll pad  500 , or does a press-and-hold or quickly clicks the left or right buttons of the five-button interface  400 , the selection highlight  203  of  FIG. 2  moves at the cluster boundaries  204  and  205 . This method enables user to quickly get to the character of interest. When the character of interest is anywhere within the selection highlight  203 , the user selects the highlighted alphabet cluster. As described above, the user input is ambiguous input containing all the characters displayed within the selection highlight or a symbol indicative of the alphanumeric cluster. 
         [0034]    When the user&#39;s navigation pace falls below a certain threshold, the selection highlight  203  navigates the alphabet clusters such that one letter enters the selection highlight  203  as one letter leaves. For example, as shown in  FIG. 2 , when the user navigates relatively slowly, the selection highlight  203  moves from position  205  to position  206 . Numbers may enter and leave depending on the position of the selection highlight  203 . Alternatively, numbers may be placed at the beginning or end of the list of letters and form additional clusters. This movement of the selection highlight  203  reduces the likelihood of the user overshooting the desired character. This is so because the selection highlight  203  spans multiple alphabets, thus, for a cluster having three letters, a horizontal positioning error of one on each side of the desired letter is tolerated. The clustering both enables fast navigation and easy selection of the desired character. 
         [0035]    Changes in the user&#39;s navigation pace can change whether the selection highlight  203  moves according to the fast or slow techniques described above. In other words, if the user&#39;s navigation pace accelerates, the selection highlight  203  will transition from adding a single letter at a time to a cluster-by-cluster navigation style. Also, if the user decelerates his or her navigation pace, the selection highlight  203  will transition from the cluster-by-cluster style to the letter-by-letter style. 
         [0036]    In another implementation, instead of moving at either the fast-pace style or the slow-pace style, the number of letters added to the selection highlight  203  can vary continuously depending upon the user&#39;s navigation pace. Thus, at a relatively slow pace of navigation, the selection highlight  203  would move the letter-by-letter, as described above. As the user increases his or her pace of navigation, more letters would be added and removed with each navigation action. Finally, above a maximum threshold value, the selection highlight  203  would move cluster-by-cluster, as described above. 
         [0037]    In yet another implementation, the selection highlight  203  can move cluster-by-cluster similar to that described above. However, the clusters are not contiguous. Thus, for a relatively high navigation pace, the system moves the selection highlight  203  from one cluster to another cluster by skipping adjacent letters. For example, referring to  FIG. 2 , for a high navigation rate, the system could move the selection highlight  203  from the cluster with cluster boundaries  204  to the cluster with cluster boundaries  206 , thereby skipping the letter “G”. More than one letter could be skipped, depending upon the navigation rate. 
         [0038]    The navigation pace thresholds can be determined empirically based on user preference. In addition, the navigation pace thresholds can be configurable by the particular user on his or her device. 
         [0039]    In an alternative implementation of the linear character selection interface, the user&#39;s speed of navigation does not change how the selection highlight  203  moves. In such an implementation, the selection highlight always moves according to the clusters of letters and/or numbers, as described above for the fast pace navigation or always moves one letter at a time, as described above for the slow pace navigation. 
         [0040]    The linear character selection interface described herein reduces the amount of linear navigation the user must perform for text input on a device. The selection highlight, which has multiple characters highlighted at any time, requires the user only get the character of interest within the selection highlight window, as opposed to accurately selecting just one character. This reduces the effort of navigation and character selection and increases the speed with which the user can enter text. 
         [0041]      FIG. 6  illustrates a configuration for an input and/or display constrained device utilizing the linear character selection interface described herein. For example, the device could be a remote control coupled with a television system a portable music player. The device has a display  601  and an input interface  604 . The input interface can be the five-button navigation interface  400 , described above, for navigation and/or circular scroll pad  500 . Such a device can have a processor  602  and can have remote connectivity (for example, a remote control IR)  605 . The device can also have persistent storage  606 , on which could reside a text composition or a search application, which is loaded into volatile memory  603  for execution using the device bus  607 . A remote control can communicate with a television via the remote connectivity  605  and the linear character selection interface would be rendered on the television display. In the case of the music player device, the linear character selection interface would be rendered on the device display  601  itself. The remote connectivity  605  can also provide a connection to a content system (not shown) for providing content to the device 
         [0042]    The content search methods found in the incorporated applications are useful for identifying and selecting content based on the search input provided by the linear character selection interface. In one implementation, each content item is associated with one or more descriptive metadata terms. This metadata describes, for example, the types of content items, the information contained in the content items, and keywords associated with the content items. Thus, the incremental input can be compared against the various descriptive terms/metadata to identify content that matches what the user seeks. 
         [0043]      FIG. 7  illustrates an application of an embodiment of the invention implemented on a handheld user device  700  (e.g., a mobile telephone, PDA, or handheld computer). The handheld user device  700  has a display area  701 , a five-button interface  702 , a scroll wheel  703 , and an escape button  704 . The display area  701  has a query input section  705  for receiving text input supplied by a linear character selection interface  706 . As described above, the five-button interface  702  and/or the scroll wheel  703  is used to move a selection highlight  707  back-and-forth along the linear arrangement of alphanumeric symbols to select clusters. In  FIG. 7 , the user wishes to find content related to the “Red Sox”. Thus, the user has selected the clusters “PQRS7” and “DEF3” to represent “RE”. In response, the device searches a collection of content items using, for example, the techniques and method disclosed in the incorporated applications. Based on this ambiguous input, the device  700  (and/or a content system in communication with the device) returns content items for “Red Sox”  708 . In addition, the device  700  returns other results  709  that have metadata that match the partial prefix “RE”, as well as other possible prefixes formed by the letters of the ambiguous clusters  710 . 
         [0044]    Because one unambiguous prefix of the selected clusters matching the “Red Sox” results is “RE”, the device can indicate which letters of the clusters form the prefix “RE”.  FIG. 7  illustrates this optional feature by showing the “R” and “E” in a larger font and in bold. Other methods can be used to highlight the characters, such as the use of different colors, highlight windows, and the like. The choice of which letters to select from the cluster can be based on the metadata associated with the content item results ranked most highly in the list of search results (e.g., using the ranking techniques discussed in the incorporated applications), or the selection can be based on a currently highlighted search result. In the alternative, rather than displaying the entire cluster of alphanumeric characters in the query input section  705  and highlighting a specific character, the device  700  can display only the specific character forming the search prefix that caused the content items to be listed. 
         [0045]      FIG. 8  illustrates a system  800  for entering an alphanumeric string using the techniques set forth above. The system  800  includes presentation logic  801  for displaying the letters and numerals arranged in a linear configuration (as shown, for example, in linear character selection interface  706  of  FIG. 7 ). The presentation logic  801  can also display the characters and/or character clusters selected by the user. The presentation logic  801  can also display the search results returned based on the search query input supplied by the user. 
         [0046]    The system  800  also includes indication logic  802  and navigation logic  803 . The indication logic  802  cooperates with the presentation logic  801  to indicate those characters that are currently highlighted by the user&#39;s selection. The navigation logic  803  receives navigation inputs from the user for traversing the linear arrangement of characters. The navigation logic  803  cooperates with the indication logic and the presentation logic to determine, according to the user&#39;s navigation pace, which letters and numerals are included in the alphanumeric clusters. The navigation logic feeds this information to the indication logic  802  so that the indication logic can highlight particular letters and/or numerals. 
         [0047]    The system  800  further includes selection logic  804  to receive selection actions from the user for selecting a particular cluster. The selection logic  804  can optionally also provide a mechanism for selecting a particular letter or numeral within a selected cluster. For example, once a cluster has been selected, the user can indicate a desire to further refine the character selection (e.g., pressing a particular button on the user&#39;s device). The selection logic  804  responds by presenting the user with a character-by-character selection interface for only those letters and numerals contained in the selected cluster. 
         [0048]    The system  800  also has disambiguation logic  805  and search logic  806 . The disambiguation logic  805  receives the ambiguous text input formed by the user&#39;s entries and creates unambiguous, or otherwise encoded, query input for use in searching for results. The search logic  806  employs the disambiguated, or otherwise encoded, search input from the disambiguation logic  805  to search a set of content in order to find results matching the query input. The techniques disclosed in the incorporated applications can be used to implement the disambiguation logic  805  and/or search logic  806 . 
         [0049]    Furthermore, the system  800  can operate as described above without the disambiguation logic  805 . The applications incorporated above describe systems and techniques for encoding metadata associated with content items into ambiguous prefixes. For example, the ambiguous search prefixes may be organized into a trie data structure. The system  800  can accept ambiguous input from the user and perform a search of the data structure directly employing the ambiguous input. Thus, referring to  FIG. 7 , instead of disambiguating the clusters “PQRS7” and “DEF3” into “R” and “E” to match the metadata term “Red Sox”, the system  800  can send the sequence of characters that represent the selected clusters, e.g., “73”. In this way, the system  800  will match the encoded ambiguous input “73” against any content items or associated metadata similarly encoded into the data structure. 
         [0050]    It will be appreciated that the scope of the present invention is not limited to the above-described embodiments, but rather is defined by the appended claims, and these claims will encompass modifications of and improvements to what has been described. For example, the embodiments provided above are described as being useful for performing searches on input and/or display constrained devices. However, the techniques, methods, and systems described and incorporated herein can be implemented to perform incremental text entry independent of searching for content item results.