The present disclosure relates to a graphical user interface technique for directly navigating to an item among a plurality of items presented for display on a display device.
Typical remote control devices and other user interface input devices permit users to navigate lists or menus through the use of direction keys such as up, down, left, and right buttons. In addition, some remote control devices use page up and page down keys to assist a user in scrolling through displayed information. However, when traversing many items (i.e., 20 or more) on a screen or long lists, i.e. hundreds or thousands of items, navigation is tedious and requires the user to press many keys to get to the desired item or location.
In general, remote control devices have a limited number of keys. A technique that can simplify a user's ability to navigate a list of items using a remote control device is highly desirable.
Techniques are provided herein for direct alpha navigation (DAN) using a remote control device. These techniques leverage a user's prior knowledge of cell phone alphanumeric keypad for “texting” functions and the keypad on a remote control device to permit the user to directly navigate either on a currently displayed screen or within an extended list of items (some of which are not on the currently displayed screen) by “tapping” an alphanumeric string of one or more characters that begin (or are contained in) a title or name associated with an item in the list. Letters are entered by pressing the corresponding numeric key with one press per letter identified on the key. A sequence of letters can be entered by pressing additional keys.
Based on the string of letter(s) entered on the remote control keypad, a direct navigation is made to an item in the list that has a name or title that begins or contains, either partially or fully, the entered string. In some cases, this may involve displaying a different screen to show a different portion of the list items which contains the item whose name or title begins with the entered string.
Direct alphanumeric navigation techniques are provided to allow a user to directly navigate to a particular item in a list of items arranged in a predetermined order, based on key presses of a basic numeric keypad, where each key in key pad has one or more letters assigned to it.
Referring first to
The numeric keys or buttons “0”-“9” in the keypad 5 each have associated therewith a corresponding group of letters or characters, as is well known in the art. For example, key “2” has the letters “A”, “B” and “C” associated with it. The “1” key has the “@” and “*” characters associated with it (though only the “@” character is shown in the “1” key) and the “0” key has the “.” (i.e., period) and space characters associated with it. These numeric keys are used to directly navigate to a desired item (or a starting point for a group of items) that has a title or name associated with it which matches, i.e., starts with (or contains) a letter or character associated with that key. This is analogous to a regular expression function in computer science technologies. For example, when the numeric key “2” is pressed three times (subject to certain time constraints described hereinafter), a direct navigation is made to the first item in the list 20 that has a title or name that begins with the letter “C”. Thus, a string of one or more characters or letters obtained from numeric key presses are used to directly navigate to an item in a list of items. A user may enter a string that comprises the entire set of characters or letters that make up the name or title of an item. Alternatively, the user may enter a string that contains the special regular expression characters “*” and “.” to enable wildcard matches of the string. The user may then utilize the “BACK” (left pointing arrow) and “FWD” (right pointing arrow) keys that are part of a set of directional navigation keys shown at reference numeral 12, in order to traverse to other items which contain that string. The numeric keys or buttons may be mechanically actuated buttons or touch-screen areas where the buttons are displayed and may be selected by a touch rather than a press.
Thus,
The graphical elements 22 shown in
Reference is now made to
A navigational orb 23 is displayed for titles that begin within a particular alphabetical letter. When the list does not contain an item for a particular letter in the alphabet, then it is skipped. This is the case in
It should be noted that the placement of orbs are dynamically determined by the system to minimize the number of key presses a user needs to enter in order to highlight and/or select a particular item. The system dynamically analyzes the list items to be displayed and may insert orbs in strategic locations within the displayed list to subdivide the displayed items to optimize navigation. As an example, if a particular list has a large number of entries that begin with a particular letter, for example “H”, the system would insert orbs with more than one letter, i.e., “Hi” on the display so that the number of items between orbs does not exceed a system configurable parameter (in this case 4 items) to facilitate navigation. Notwithstanding the forgoing, the user can navigate to items using the DAN technique even if an item does not have displayed orb. For example in
Thus, direct navigation is made to an item in a list based on the string of one or more characters entered. The orbs are displayed to provide a visual break or delineation between items in the list. Moreover, the use of orbs may be user configurable. That is, a user may decide to operate the direction navigation techniques without orbs. In addition, a user may decide to use orbs, and to specify the maximum number of items between orbs for display. There is one example where a user may invoke a navigation function based on orbs, and this example is described hereinafter in connection with
Lists of graphical or text elements (items) may be by category. For example, a given list of items may be for movie titles that fall within a category of “Recent Releases” or “New Releases” or also by topic such as “Drama”, “Science Fiction”, etc. Thus, each list may be specific to a given category and is referred to herein as a list category. Likewise, if the items are associated with music content, there may lists for “New Releases”, as well as “Alternative”, “Blues”, “Jazz”, “Classical”, “Dance”, “Rap”, etc. Generally, the direct alphanumeric navigation techniques described herein allow for a user to directly navigate to an item in a list that is currently being presented to the user (even though all of the items of that list may not be visible on the currently displayed screen). Thus, a user will be directed to an item in the current list category that is being presented based on the string of characters that is entered by the user from selection of one or more numeric keys. This is only an example, and it is possible that a string entered while one list category is being presented can be used to directly navigate to an item in another list category using the string that the user has already entered. In addition, as explained hereinafter in connection with Case 7, a user may jump across list categories using a regular expression function denoted by a leading “*” before an entered string of characters. List categories may be organized in a predetermined order, such as “New Releases”, then “Recent Releases”, then alphabetically by topic such as “Action”, “Comedy”, “Drama”, and so on. Thus, as explained hereinafter, jumping to an item in the “next” list category may involve going to an item in the next list category according to the predetermined order of list categories, depending on which list category is currently being presented to the user.
Again, all of the items in a list that is being presented to a user may not fit within a single displayed screen due to the number of items in the list. Therefore, when a user enters a string for an item that is not on the currently displayed screen but is in the current list category, the display is updated with a another subset set of items of that list, which subset contains the item that has a string of characters that begins with or contains the string of characters entered by the user. The item to which the navigation is made may be displayed in a particular position of the screen (such as center, top left, etc.). Moreover, when a user navigates to a different list category (e.g., Case 7), the display is updated with a different set of items for that list category and to display the item that contains the entered string, which again may involve displaying only a subset of items of that list category on the display screen depending on the number of items in that list category.
Reference is made to
The controlled device 100 comprises an IR or wireless receiver 110, a processor 120, a display 130, memory 140, a data storage unit 150 and optionally a communication transceiver 160. In some configurations, the display 130 may be separate from, but connected to, the controlled device 100. For example, the controlled device 100 may be an intermediate device, e.g., a set-top box or a media server personal computer (“PC”) that connects to a television, in which case the display 130 is a television display that is separate from the controlled device. However, the controlled device 100 may be a television. In other examples, the controlled device 100 may be a video display system, home theater systems, media server, etc. The list of items (
The processor 120 is a microprocessor or microcontroller, for example. The memory 140 stores DAN process logic 200 that, when executed by the processor 120, causes the processor to perform the functions described herein and in connection with the accompanying figures.
The functions of the processor 120 may be implemented by logic encoded or stored in one or more tangible processor readable media (e.g., embedded logic such as an application specific integrated circuit, digital signal processor instructions, software that is executed by a processor, etc.), wherein the memory 140 stores data used for the computations described herein and stores software or processor instructions that are executed to carry out the computations described herein. Thus, the process logic 200 may take any of a variety of forms, so as to be encoded in one or more tangible media for execution, such as with fixed logic or programmable logic (e.g., software/computer instructions executed by a processor) and the controller 38 may be a programmable processor, programmable digital logic (e.g., field programmable gate array) or an application specific integrated circuit (ASIC) that comprises fixed digital logic, or a combination thereof. For example, the processor 120 may be embodied by digital logic gates in a fixed or programmable digital logic integrated circuit, which digital logic gates are configured to perform the process logic 200.
The data storage unit 150 is a larger memory storage that may store the data for the lists that are presented to the user as well as additional information for an item in the list and the digital media content associated with items in the lists of items that a user may navigate. Data is also stored in the data storage unit for other lists that may be presented to a user (such as other list categories) and through which a user may jump to an item that contains a string entered by the user as described herein. Thus, the digital media content for one or more of the items in the displayed list of items 20 may reside locally at the controlled device 10. In some cases, the data for the various lists of items that may be presented to a user may be stored in the memory 140 rather than in the data storage unit 150.
On the other hand, the digital media content for one or more of the items in the displayed list of items may reside remotely from the controlled device. To this end, the communication transceiver 160 may be a wired or wireless communication transceiver that is configured to receive a wired or over-the-air (OTA) transmission (from the Internet, a satellite or ground-based transmitter) containing digital content associated with one or more of the items in the displayed list of items. Thus, the controlled device may be a cable set-top box, a satellite television set-top box, or a PC. When a user selects an item from the displayed list of items, a command is sent via the communication transceiver to a head-end or other suitable equipment to cause the transmission of the underlying data for digital media content corresponding to a selected item to the controlled device 100 where it may be presented to a user. In another form, the data for the digital media content is retrieved from an Internet-based remote source and to this end the communication transceiver is simply a modem, or network interface (e.g., Ethernet card) that is used to connect to a web site or other Internet source of content.
Moreover, the communication transceiver 160 may be employed to receive digital media content that is then locally stored for local retrieval upon selection by a user using the DAN techniques described herein. Thus, the communication transceiver 160 is not required for purposes of performing the DAN techniques described herein, but it may be used as a way to retrieve digital media content based on a selection (either on-demand) or for local storage from which it is later retrieved in response to a user selection.
While the foregoing description of
Reference is now made to the
At function 210, an initial key press is detected. This is the first time any key (“0”-“9”) is pressed. A character or letter counter i is used to track key presses of the same key to determine whether to change to the next character for that key. The initial state of the character counter i is “0”. Upon detecting a initial key press at 210, the first letter, Char[i], i=0, is obtained and displayed for the key that was pressed. For example, pressing the key “2” twice (within the time window of the repeat timer T0) will go from the letter A (i=0) to the letter B (i=1). Thus, upon a key press, the letter or character Char[i], where i=0 is selected and the repeat timer T0 and the command complete timer T1 are started.
After function 210 detects an initial key press, the timers T0 and T1 begin running. Until the timer T0 expires, the following events are possible as detected by functions 220 and 230. At 220, a key press of the same key (as pressed at 210) is detected. When this occurs, the character counter i is incremented to obtain the next letter for that key. Also, upon a repeat key press, the repeat timer T0 and the command timer T1 are restarted. The function 220 may be performed repeatedly if the same key is pressed repeatedly, each time before the repeat timer T0 expires. The character counter i is reset after a predetermined number of presses and returns to the first letter for that key due to the maximum number of letters or characters associated with a given key. In other words, the character counter is incremented modulo the number of letters associated with the particular key. For example, there are 3 letters associated with keys “2”-“6” and “8” and 4 letters associated with keys “7” and “9”. Therefore, the character counter i is reset to zero after the third repeated key press of keys “2”-“6” and “8” and after the fourth repeated key presses of keys “7” and “9”.
When the repeat key timer T0 expires, then a press of the same key will begin the letter selection process for the next letter in the string. However, it is still possible that a second different key may be pressed before or after expiration of the timer T0 but before expiration of the command complete timer T1. Thus at function 230, it is detected when a user presses a different (second) key after the first key press, before or after expiration of the repeat key timer T0 but before expiration of the command complete timer T1. When this occurs, a second character (letter) is obtained corresponding to the first press of that key, and the letter selection process begins again for the second letter. It is possible that a user may advance to a different character for that second key by pressing that second key again. This would invoke the repeat key press function 220 again to advance to the next character for that second key. Also, the repeat timer T0 and command complete timer T1 is reset upon a different key being pressed. A user may append additional characters to one or more characters already entered for a string or insert regular expression characters (such as “*” and “.”) by pressing additional different numeric keys before or after expiration of the repeat key timer T0 but before expiration of the command complete timer, to generate a string of multiple characters of any length.
Once the command complete timer T1 expires, then at function 240, character selection is complete. (This may involve a single character or multiple characters.) The user is directed to the position for the particular item in the display of the list of items that corresponds to the letter or letters of the command whether or not an orb was associated with the particular item. In other words, the direct navigation is made to a particular item based on the string of one or more characters generated (from one or more numeric key presses) as of the expiration of the command complete timer T0 from the most recent numeric key press. In addition, when a user repeats the key press of the same key that was last pressed before expiration of the timer T1, then at function 250, the position in the list of items is advanced to the next orb.
The following example cases are provided to further explain the operation of the DAN process logic 200. In each of these examples, the status of the repeat timer T0 and command complete timer T1 is given. In addition, in each of the following case examples, when the user is navigated to a position in the list (based on the text string that the user inputs), the position may be indicated by any of the aforementioned position indicators (highlighting, flashing cursor, enlarging of the item, or other means, etc.) and any other position indicators now known or hereinafter developed. In addition, in the following case examples, orbs are shown as being displayed and the item to which a navigation is made also is the first item in a group of items; therefore it has an orb associated with it. However, this is only an example. The direct navigation is made to the item that has a name or title that has a letter or letters that begins with or contains (when using regular expression characters) the string entered by the user via numeric key selection. In all of these case examples except Case 5, the orbs could be deleted because they are not involved in the direct navigation process.
Case 1: Single Key Press—Primary Letter Selected.
In this case, a user presses one of the keys “0”-“9” once in order to select a primary letter. The following example is given where the key “3” is pressed.
The position in the list of items is then directed to the first item that begins with the letter “D” and possibly marked with an orb (if the system has been configured to display orbs). This is shown in
Case 2: Repeat Press—Single Secondary Letter Selection
In this example case, a user presses the same key three times before the expiration of the T0 timer to advance to the next character for that key. For this example, the key that is pressed is the “3” key, to advance from the letter “D” to “E” and ultimately to “F”. The position in the list of items is then directed to the first item that begins with the letter “F”, and in this example there is also an orb associated with the first item whose name or title begins with the letter F. This is shown in
Case 3: Two Different Keys Pressed—Two Letter Selection
In this example, a user presses the “7” key once to select the letter “P” and then presses the “2” key once before or after the expiration of the T0 timer to select the letter “A”. Thus, the two letter string for this example is “PA”. The position in the list of items is then directed to the first item whose name or title begins with the letters “PA”. This is shown in
Case 4: Repeat Key Press & Different Keys Pressed—Two Letter Selection
In this example, a user presses the same key multiple times to advance through several letters associated with the key pressed to make the first letter selection, and then selects a second letter. For this example, the “7” key is pressed four times to advance to the letter “S” associated with that key, and then the “2” key is pressed to select the letter “A”. Thus, the two letter selection for this example is “SA”. The position in the list of items is then directed to the first item whose name or title begins with the letters “SA”. This is shown in
Case 5: Advance to Next Orb with Repeat Key Press
In this example, the user presses the “3” key once and both the repeat key press timer T0 and the command complete timer T1 expire. The position in the list of items is then directed to the first item whose name or title begins with the letter “D”. Then, the user presses the “3” key again and both the repeat key press timer T0 and the command complete timer T1 expire. This causes the position in the list of items to be directed to the next orb, which is, for example, the orb for “De”. This example case is shown in
Case 6: Implicit Search Restart
In this example, the user presses the “4” key twice before the expiration of the T0 timer to select the letter “H” then both the repeat key press timer T0 and the command complete timer T1 expire. The DAN process submits the search string “H” and the position (e.g., cursor) is directed to the first item whose name or title starts with “H”. However, the user immediately changes his/her mind to be positioned to a different item and presses the “3” key once to select the letter “D”. Both the repeat key press timer T0 and the command complete timer T1 expire causing the system to issue the position command to the first item that begins with the letter “D” and the user interface updates the highlighted item accordingly to indicate this new position. This example illustrates the DAN process's ability to dynamically adjust the highlighted cursor position as the user presses alphanumeric keys without the user having to explicitly issue a separate command between the two string entries for position requests. This example case is shown in
Case 7: Jump to Items Containing a String
In this example, a regular expression is used to jump to items that contain a character string in their title or name. For example, the regular expression “*FAT” is entered, which allows a user to jump to items that contain the word “FAT” in the title. In this example, the “*” character is entered by pressing the “1” key twice.
After “*FAT” is entered, the user is directed to the first item in the current list category that is being presented to the user that has a name or title that contains the expression “FAT”. The user can thereafter jump to the next item that contains “FAT” by pressing the forward key (right pointing arrow, shown in
As explained above, list categories may be organized in a predetermined order, such as “New Releases”, then “Recent Releases”, then alphabetically by topic such as “Action”, “Comedy”, “Drama”, and so on. Thus, jumping to an item in the “next” list category may involve going to an item in the next list category according to the predetermined order of list categories, depending on which list category is currently being presented to the user.
Turning now to
As depicted in
As explained herein, the predetermined order in which the plurality of graphical or text elements are arranged is an alphabetical order by a word or phrase associated with each of the elements (name, title, etc.). The direct navigating function performed by the DAN process 200 involves translating the selection to an alphabetical position (that is, to a particular item) in the plurality of graphical or text elements that corresponds to (i.e., has a name or title that contains or begins with) a string of one or more alphabetical characters generated from one or more the selected numeric keys. Moreover, navigational markers (i.e., the “orbs” referred to herein) may be displayed within the plurality of graphical elements corresponding to alphabetical characters to visually delineate to a user groups of graphical or text elements. The translation made by the DAN process involves translating selection of one or more numeric keys to a particular item in the list that may or may not be marked with navigational markers, based on the string of one or more letters generated from selection of one or more numeric keys. A repeat selection of the same numeric key (after a predetermined period of time has expired) may result in an advance to a position in the list of displayed items to the next navigational marker. The details of the operation of the DAN process 200 are described above.
In summary, the techniques described herein allow for a user to directly navigate to a particular item in a list of items arranged in a predetermined order, based on key presses of a basic numeric keypad, where each key has one or more letters assigned to it. These techniques facilitate selection of an item within a long list of items without the use of incremental navigation or direct search functions. To reiterate, the DAN techniques described herein direct a user interface focus element (e.g., a cursor or pointer) to a particular item in a displayed list of items without executing a search function. Whereas a search function involves entering a search query and returning all results that match that search, the DAN techniques involve directly navigating to a particular item in a list based on a string of one or more characters generated from user selection (button press) of one or more numeric keys while operating in context of the original user interface display. A user may jump from one item to another item by entering a new string and without executing any other search command or similar function.
The DAN techniques permit navigation to a particular item within a list. The data for the list can be and is most likely resident within the local device (i.e. set-top box, PC or other device). The navigation to the particular item is not necessarily directly related to the function that will occur if the user “selects” the item to which the navigation is made. In one example, selection of the item could result in providing more detailed information regarding the item from the local device or a remote source. Alternatively, selection of the item could result in immediate playback of the item, which “playback” is determined based on type of item that was selected, i.e. video, audio, or an application software.
The above description is intended by way of example only.
This application claims priority to U.S. Provisional Patent Application No. 61/258,269, filed Nov. 5, 2009, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61258269 | Nov 2009 | US |