US20010000668A1 - User interface methodology for microprocessor device having limited user input - Google Patents

User interface methodology for microprocessor device having limited user input Download PDF

Info

Publication number
US20010000668A1
US20010000668A1 US09/745,308 US74530800A US2001000668A1 US 20010000668 A1 US20010000668 A1 US 20010000668A1 US 74530800 A US74530800 A US 74530800A US 2001000668 A1 US2001000668 A1 US 2001000668A1
Authority
US
United States
Prior art keywords
user
key
data
subcategory
displaying
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US09/745,308
Other versions
US6417874B2 (en
Inventor
Eric Bodnar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
Bodnar Eric O.
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 Bodnar Eric O. filed Critical Bodnar Eric O.
Priority to US09/745,308 priority Critical patent/US6417874B2/en
Publication of US20010000668A1 publication Critical patent/US20010000668A1/en
Application granted granted Critical
Publication of US6417874B2 publication Critical patent/US6417874B2/en
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STARFISH SOFTWARE, INC.
Assigned to Motorola Mobility, Inc reassignment Motorola Mobility, Inc ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA, INC
Assigned to MOTOROLA MOBILITY LLC reassignment MOTOROLA MOBILITY LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA MOBILITY, INC.
Assigned to Google Technology Holdings LLC reassignment Google Technology Holdings LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA MOBILITY LLC
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2753Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
    • H04M1/2757Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/963Calendar or scheduling

Definitions

  • Another problem facing small electronic devices is the difficulty of inputting information. With a small form factor or pocket-size device, it is simply not feasible to include a substantial keyboard for inputting information. Again, the size of the devices reduces the physical surface area available for accommodating input keys or the like.
  • a conventional approach to the problem is to simply build a smaller keyboard, one using miniature input keys. The approach is problematic. In particular, most users find that their fingers are simply too big to use small keys with any degree of efficiency. Further, any efforts to increase the size of a keyboard or keypad in such a device reduces the amount of surface area available for the display screen.
  • a portable computing device or “information appliance” having terse user input is provided with a user interface for navigating user data.
  • the computing device comprises a central processing unit (e.g., microprocessor) connected via a system bus to a display, an input, ports, and memory.
  • Display is a screen device for displaying information, such as a liquid crystal display (LCD) screen.
  • Input comprises a keypad, either physical or logical (e.g., on screen buttons), but limited to a terse set numbering about three to ten buttons and more preferably about five buttons.
  • Memory comprises persistent memory, volatile memory, and non-volatile RAM memory. Persistent memory is typically implemented as a ROM or read-only memory.
  • Volatile memory stores a single-purpose operating system (SPOS) and application(s).
  • Volatile memory is a “scratch” memory, for storing temporary computation results. It typically is implemented as a RAM (random-access memory), for providing a work space for the operating system and applications.
  • RAM random-access memory
  • Non-volatile RAM memory represents battery-backed RAM memory, for storing context information from one session to another. When the device is powered down, the memory stores user data from that session.
  • SPOS single purpose operating system
  • API application programming interface
  • Applications are software application programs or modules provided for user operation of the device.
  • the application programs can be implemented as separate modules,. which are controlled by a module selector.
  • the module selector serves as a user interface or shell representing the top-level or “home” display presented to a user.
  • the module selector presents the user with selection icons for navigating to different applications or modules of functionality.
  • other modules include a calendar module, a to do module, and an address book module.
  • the device In typical use, the device is used in tandem with a desktop computer or PC.
  • the desktop PC is used by the user when “at the office,” and the portable computing device is employed when the user is “on the road” (i.e., out of the office).
  • large repositories of data reside on the desktop PC which are periodically transferred or synchronized with data residing on the portable computing device.
  • Using a device input/output (I/O) protocol or standard, such as the PC card standard (formerly PCMCIA standard) the user can easily transfer data to the device via a direct memory transfer.
  • data can be streamed from the desktop PC to the portable computing device via a direct cable (or infrared) connection, such as using a serial port-to-serial port connection.
  • a direct cable (or infrared) connection such as using a serial port-to-serial port connection. Since the data transferred is that of an application operating on the desktop PC, potentially thousands of data items or records might be downloaded into the portable computing device. This potentially large dataset, coupled with the terse key set available at the portable computing device, poses a challenge to the location of desired information by a user. Therefore, improved user interface methodology is needed.
  • the present invention provides a user interface implementing a “single-click” style of button operation, so that users can associate each button with a particular task for a given program context.
  • the preferred embodiment imposes “click consistency” for each button.
  • the same buttons are used over and over again to perform their respective tasks, even though the user has navigated to different modules of an application. In this manner, the user is presented with a consistent interface or metaphor which can be easily mastered.
  • the user interface supports in a small form factor device the browser-style navigation that users have become accustomed to on desktop computers (e.g., using Web browsers). More particularly, the interface supports up, down, forward, and backward (reverse) navigation for allowing a user to “drill down” to “drill across” his or her data. This allows the user to find a data item (link) of interest and then drill down into it. Once at the appropriate level, the user can then easily select the particular item of interest. Further, once the user has selected or entered an item, the system provides the ability for the user to return to “home” with a single button click. In this manner, the present invention provides an interface allowing browser-style navigation in a device having a terse set of input keys.
  • a method for providing users with access to applications and user information in a computing device having a limited set of input keys may be summarized by the following method steps.
  • the device displays a user interface having a top level view for allowing a user to select among applications available for the computing device.
  • User interface navigation is provided in response to user operation of the limited set of input keys.
  • the device moves a screen cursor in a forward relative direction among screen objects at a given level.
  • the device moves the screen cursor in a reverse relative direction among screen objects at a given level.
  • the device In response to user selection of a select key from said limited set of input keys, the device selects a particular screen object at which the screen cursor is currently located, whereupon the device displays a lower level view of the user interface which pertains to the particular screen object. In response to user selection of a home key from said limited set of input keys, the device returns to the top level view. In this manner, access to the applications and user information is achieved for the computing device through use of said limited set of input keys.
  • a device having a terse set of input keys provides password protection as follows.
  • the interface implements a “graphical password” which can be entered directly from the terse set of keys.
  • the graphical password comprises a sequence of non-alphabetic key strokes from the terse set.
  • an exemplary graphical password might comprise, for example, FORWARD, FORWARD, BACK, BACK, SELECT, or, alternatively, the user could select HOME, SELECT, FORWARD, HOME, HOME, BACK.
  • a password entry screen When the device is configured for password protection, the screen appears each time the device is powered up. To gain access to information on the device, the user must at this point enter the same sequence of key strokes as that which comprises the user's graphical password.
  • a password mask field indicates entries of each key stroke, but with the actual keys themselves being masked.
  • a method for controlling access to a computing device having a limited set of input keys may, therefore, be summarized as follows.
  • the device records a user-provided sequence of key strokes entered from the non-alphanumeric keys.
  • the device stores the recorded sequence of key strokes as a “graphical password”—that is, a password comprising non-alphanumeric key strokes.
  • the device Upon request from a user for access to the computing device, the device prompts the user to enter the graphical password. If the user enters a sequence of key strokes which matches that of the sequence of key strokes stored as the graphical password, the device grants device access to the user.
  • Additional methodology is provided for dynamically adjusting tab categories and subcategories.
  • the method is, in the preferred embodiment, driven in part by the number of lines supported by the display.
  • the interface supports seven displayable lines which the user can navigate.
  • the number of displayable lines is employed to set a threshold number of items which must exist before creating further tab categories (i.e., subcategories).
  • the number is set equal to the number of displayable lines plus 1 (e.g., the number 8, for a display having 7 displayable lines). Any three-letter category which qualifies for subcategory tabs is determined by eight or greater items which satisfy that key.
  • the method adopted always creates a boundary tab—that is, a category tab for the starting index after the subcategory set.
  • the next tab category created is “Mo” (instead of the tab category “N”), even though the number of “Mo” entries might be less than the threshold value.
  • the methodology ignores combinations which do not exist in the user data. If no “J” items exist, for example, then a “J” tab is not created.
  • the system provides the user with a “find” operation based, not on a linear search, but on dynamically-created categories.
  • a method for providing access to a data set which stores information in data records having data fields may, therefore, be summarized as follows.
  • An initial order for displaying the data set based on values of a particular data field is established. Commonly, this will be an alphabetic sort order, such as a descending sort by Last Name.
  • the data set is displayed according to this established order.
  • category tabs for navigating among individual data records of the data set. This entails the following.
  • the device determines dynamically, based on actual values stored at the particular data field of the data records, categories of information available for the particular data field. Based on this determination, the device displays a tab identifier allowing navigation to a particular category if at least one data item exists for the particular category. In this manner, at least some tab identifiers are eliminated from display—particularly, tab identifiers are eliminated for those categories of information which currently have no data items.
  • the result is much faster and efficient navigation through large datasets when using a terse or limited key set.
  • FIG. 1 is a block diagram illustrating the general architecture of a portable computing device or “information appliance” in which the present invention may be embodied.
  • FIG. 2 is a block diagram illustrating implementation of the application programs as modules under the control of a module selector.
  • FIG. 3 is a bitmap screen shot illustrating a display interface comprising a plurality of application or module icons, from which the user can invoke particular application functionality.
  • FIGS. 4A-G are bitmap screen shots illustrating use of a high-level navigation model of the present invention applied to a variety of types of user information.
  • FIGS. 5A-C are bitmap screen shots illustrating use of the navigation model for setting user preferences.
  • FIG. 5D is a flowchart summarizing internal methodology supporting the navigational model.
  • FIG. 6A is a bitmap screen shot illustrating use of “graphical” passwords for controlling user access to the device.
  • FIG. 6B is a flowchart summarizing internal methodology supporting device access with a graphical password.
  • FIGS. 7A-D are bitmap screen shots illustrating use of a dynamically adjusting tab (category) interface for managing a large set of data.
  • FIG. 7E is a flowchart summarizing internal methodology supporting dynamically adjusting tab categories.
  • FIGS. 8C-E are bitmap screen shots illustrating the action of the a tabbing through dynamically-created subcategory tabs.
  • FIGS. 9A-B are bitmap screen shots illustrating a special sort tab, whereupon the tab categories are automatically updated.
  • FIG. 1 is a block diagram illustrating the general architecture of a portable computing device or “information appliance” in which the present invention may be embodied.
  • computing device 100 comprises a central processing unit 105 (e.g., microprocessor) connected via a system bus 140 to a display 101 , an input 102 , ports 103 , and memory 110 .
  • Display 101 is a screen device for displaying information, such as a liquid crystal display (LCD) screen.
  • Input 102 comprises a keypad, either physical or logical (e.g., on screen buttons), but limited to a terse set numbering about three to ten buttons and more preferably about five buttons.
  • Memory 110 comprises persistent memory 111 , volatile memory 120 , and non-volatile RAM memory 130 .
  • Persistent memory 111 is typically implemented as a ROM or read-only memory. As shown, it stores a single-purpose operating system (SPOS) 112 and application(s) 113 , which are described in further detail below.
  • Volatile memory 120 is a “scratch” memory, for storing temporary computation results. It typically is implemented as a RAM (random-access memory), for providing a work space for the operating system and applications.
  • Non-volatile RAM memory 130 represents battery-backed RAM memory, for storing context information from one session to another. When the device 100 is powered down, the memory 130 stores user data from that session.
  • the single purpose operating system functions to provide a consistent mechanism by which applications 113 can communicate with the device 100 .
  • applications 113 are shielded from hardware complexity, such as hardware interrupts and ports.
  • hardware complexity such as hardware interrupts and ports.
  • API application programming interface
  • Applications 113 are software application programs or modules provided for user operation of the device. As shown in FIG. 2, for instance, the application programs can be implemented as modules 201 - 206 , which are controlled by a module selector 200 .
  • the module selector 200 serves as a user interface or shell representing the top-level or “home” display presented to a user. In the currently-preferred embodiment, the module selector 200 presents the user with selection icons for navigating to different applications or modules of functionality.
  • other modules include a calendar module, a to do module, and an address book module.
  • the device 100 is used in tandem with a desktop computer or PC.
  • the desktop PC is used by the user when “at the office,” and the portable computing device 100 is employed when the user is “on the road” (i.e., out of the office).
  • large repositories of data reside on the desktop PC which are periodically transferred or synchronized with data residing on the portable computing device 100 .
  • a device input/output (I/O) protocol or standard such as the PC card standard (formerly PCMCIA standard)
  • the user can easily transfer data to the device 100 via a direct memory transfer.
  • data can be streamed from the desktop PC to the portable computing device via a direct cable (or infrared) connection, such as using a serial port-to-serial port connection. Since the data transferred is that of an application operating on the desktop PC, potentially thousands of data items or records might be downloaded into the portable computing device 100 . This potentially large dataset, coupled with the terse key set available at the portable computing device, poses a challenge to the location of desired information by a user. Therefore, improved user interface methodology is needed.
  • the user interface of the present invention implements a “single-click” style of button operation. Given a device with five input buttons, for instance, various key combinations beyond the simple clicking of each individual button could be created. Buttons could, for example, be “double clicked” by users or combined to create double or triple (or even more) key combinations. Although such an approach yields more logical buttons from the available physical buttons, the approach requires users to memorize key combinations which are not intuitive (and are a source of endless grief for users of such devices). Accordingly, in the most-preferred embodiment, a single-click style is adopted, so that users can associate each button with a particular task for a given program context.
  • buttons are used over and over again to perform their respective tasks, even though the user has navigated to different modules of an application. In this manner, the user is presented with a consistent interface or metaphor which can be easily mastered. If, on the other hand, behavior of the button changed from one portion or context of the application to another, the user must relearn the functionality of each button.
  • the user interface supports in a small form factor device the browser-style navigation that users have become accustomed to on desktop computers (e.g., using Web browsers). More particularly, the interface supports up, down, forward, and backward navigation for allowing a user to “drill down” to “drill across” his or her data. This allows the user to find a data item (link) of interest and then drill down into it. Once at the appropriate level, the user can then easily select the particular item of interest. Further, once the user has selected or entered an item, the system provides the ability for the user to return to “home” with a single button click. As set forth below, the present invention provides an interface allowing browser-style navigation in a device having a terse set of input keys.
  • the module selector presents an array of icons, each one corresponding to a particular application within the system. At all times, the system displays a highlight on screen for indicating “focus”—that a particular item is the focus of further user input (at that point in time). At the top level or “home,” focus is indicated by a highlight around one of the application icons.
  • display interface 320 comprises a plurality of application or module icons (e.g., icons 321 , 323 ), from which the user can invoke particular application functionality.
  • icon 321 currently had “focus,” as indicated by focus outline (rectangle) 325 .
  • the device 300 includes five buttons 310 . These buttons function as follows.
  • Home key 311 provides a browser-like key allowing a user to always return to “home”—that is, a general or overview display screen.
  • “home” is the module selector display or shell shown by display screen 320 . In this manner, no matter how far a user has “drilled down” in the interface, the home key 311 will always return the user to the top-level view or shell, with a single button click.
  • Forward key 319 and backward key 317 allow the user to navigate forward or backward (respectively), within a given level of the interface.
  • the forward and backward keys move the selective or highlight from one icon to another, either in a forward or reverse direction depending on which of the two buttons 317 , 319 is activated.
  • a highlight or selector is presented at all levels of the interface so that the functionality of buttons 317 , 319 remains consistent and intuitive. As a result, the user always knows how to shift focus from one item to another regardless of what level of the interface the user has navigated to.
  • select button 315 invokes (or “selects”) the item currently having focus, when the button is activated by the user.
  • select button 315 serves to select the calendar module represented by icon 321 .
  • the system “drills down” into the calendar module.
  • buttons provide a navigation model where the user can move from point to point for changing direction within a level, selection itself always indicates the current focus or point of activity (which will occur) within a given level. Selecting that item with the select button 315 causes the system to drill down into the functionality represented by the selected item. Regardless of how many levels the user has drilled down into using this technique, the home button 311 will always return the interface back to the top-level view (e.g., such as the “home” view represented by display 320 ).
  • buttons 310 include a fifth key or button, view switch button 313 .
  • the view switch button 313 allows the user to instruct the system to switch to a different view within a given level, thus providing the user with a different way of viewing the data.
  • presentation of calendar data by a calendar module can be represented or displayed in multiple ways.
  • One way to represent such information for example, is to display a linear (event-by-event) list.
  • such information could be presented on a week-by-week basis—that is, viewing data over a span of a given week.
  • Yet another way to view such information is a monthly view which highlights dates for a given month which have events (or other user data).
  • the view switch 313 therefore, cycles through different views at a particular level, with the actual views available being dictated by the particular application (module). In order to simplify the interface for the user, the number of views available at a given level should typically not exceed about four views.
  • the high-level navigation model can be applied to other types of user information. This is illustrated in FIGS. 4A-B.
  • the calendar module has focus, as indicated at 401 .
  • the interface invokes the calendar module, as indicated at 410 in FIG. 4B.
  • the view switch key By activating the view switch key, the user can switch the display to get another view of the data. For instance, upon the user first invoking the key, the display switches to a weekly view, as indicated at 420 in FIG. 4C. Further activation of the key switches the display to a monthly view, as shown at 430 in FIG. 4D. In any one of these views, the user can select an item and drill down into it.
  • FIGS. 4E-F this is illustrated by FIGS. 4E-F.
  • the user selects an item, shown at 440 , using forward/backward keys. Now that a particular item has focus, the user can drill down into that item, by activating the select key. The result is shown at 450 in FIG. 4F.
  • the system displays the particular record corresponding to the selected item.
  • the user can continue navigating using the selection and drill down approach.
  • the user has selected item 460 from the displayed list of items.
  • the user can invoke the select key for displaying further information about the selected item—detailed information for a particular time interval for this example (not shown).
  • the foregoing example illustrates that the navigation module of the present invention can easily be applied to completely different datasets. At the same time, the user is still able to efficiently navigate among items in each dataset even though the device itself only includes a terse set of input keys.
  • the interface methodology also has application to a variety of other devices.
  • PDA personal digital assistant
  • the interface methodology also has application to a variety of other devices.
  • enhanced processing power becomes available to more and more devices, including household appliances, there is a growing need for an interface for efficiently controlling such devices.
  • those devices will continue to have a small set of input keys, instead of larger keypads or handwriting recognition.
  • the physical size of the device makes it undesirable to incorporate a large keypad or a style list for handwriting recognition.
  • FIGS. 5A-C illustrate use of the navigation model for setting user preferences.
  • the user begins by invoking the preference module from the module selector screen.
  • the preference setting screen such as illustrated in FIG. 5A
  • the user employs the forward and backward keys for navigating to a particular item, such as “date display.”
  • the user invokes the select key to navigate to the item's value, such as the date display value 510 as shown in FIG. 5B.
  • the user can change the value by using the backward and forward keys.
  • the user can select that to be the preference value by invoking the select key.
  • the selected value is now entered as the preferred setting.
  • a method for providing users with access to applications and user information in a computing device having a limited set of input keys may be summarized as shown in FIG. 5D.
  • the device displays a user interface having a top level view for allowing a user to select among applications available for the computing device (step 531 ).
  • User interface navigation is provided in response to user operation of the limited set of input keys (step 532 ).
  • the device moves a screen cursor in a forward relative direction among screen objects at a given level (step 533 ).
  • the device moves the screen cursor in a reverse relative direction among screen objects at a given level (step 534 ).
  • the device selects or invokes a particular screen object at which the screen cursor is currently located (step 535 ), whereupon the device displays a lower level view of the user interface which pertains to the particular screen object.
  • the device returns to the top level view (step 536 ). The method or process loops or continues for other user input. In this manner, access to the applications and user information is achieved for the computing device through use of said limited set of input keys.
  • a device having a terse set of input keys implements password protection as follows.
  • the interface implements a “graphical password” which can be entered directly from the terse set of keys.
  • the graphical password comprises a sequence of non-alphabetic key strokes from the terse set.
  • an exemplary graphical password might comprise, for example, FORWARD, FORWARD, BACK, BACK, SELECT, or, alternatively, the user could select HOME, SELECT, FORWARD, HOME, HOME, BACK.
  • a password entry screen 600 upon the user entering a graphical password, the device displays a password entry screen 600 , as shown in FIG. 6A.
  • the screen appears each time the device is powered up.
  • the user To gain access to information on the device, the user must at this point enter the same sequence of key strokes as that which comprises the user's graphical password.
  • a password mask field 610 indicates entries of each key stroke, but with the actual keys themselves being masked.
  • a method for controlling access to a computing device having a limited set of input keys may, therefore, be summarized as shown in FIG. 6B.
  • the device records a user-provided sequence of key strokes entered from the non-alphanumeric keys (step 631 ).
  • the device stores the recorded sequence of key strokes as a “graphical password” (step 632 )—that is, a password comprising non-alphanumeric key strokes.
  • the device Upon request from a user for access to the computing device (step 633 ), the device prompts the user to enter the graphical password (step 634 ).
  • the device grants device access to the user (step 636 ). Otherwise, the method repeats the prompt (step 634 ) or fails.
  • a user desires to employ a portable computing device for storing and managing large lists of information, such as an electronic address book.
  • information is sorted by a particular key (i.e., indexed by one or more fields).
  • information can be indexed on the key of last name plus first name.
  • information is potentially a very large list.
  • a quick way to navigate to a desired entry in a large list is to perform a search. If one wanted to find an entry in an electronic address book beginning with the letter “S,” for instance, the user could quickly search to names beginning with “S” if he or she could easily enter such a letter. For a portable computing device having a terse set of input keys, such as the device 100 , the user does not have this option. Given a device with a terse set of input keys or buttons, therefore, a problem arises as to how one efficiently navigates such information efficiently.
  • the difficulty with the approach is that the user must still navigate a potentially large list. If something more than simple input is required, such as the input of alphabetic characters, the fast repeat approach becomes unacceptable. For instance, inputting characters from an entire alphabetic character set, including both upper case and lower case characters, the approach is simply not a practical way to input the information into a device. The fast repeat approach is not practical for navigating large datasets, such as an electronic address book containing hundreds of entries.
  • list information is organized into discrete categories.
  • information is grouped in a Rolodex.
  • tabs are provided for individual letters of the alphabet. Adopting that approach electronically, however, is not an optimal approach, as the user would have to navigate or “tab through” a lot of information before reaching the desired target information.
  • information is grouped intelligently at runtime (i.e., dynamically) such that a user can rapidly reach a destination or target item without having to tab through a lot of categories which are not of interest.
  • the tabs themselves adjust dynamically at runtime to the user's actual data. Specifically, the tabs adjust on-the-fly to correspond to entries in the user's data. In this manner, the system eliminates the need for navigating or tabbing to categories which do not correspond to the actual user data present in the system.
  • both a high level approach and a low level approach are adopted.
  • the system employs the alphabet (and digits) broken down into sets of three characters, such as “#AB,” “CDE,” and the like. If no “E” entries are present in the user's date, for instance, the second tab can adjust to “CDF.”
  • the approach provides an interface allowing the user to quickly navigate among categories. Unlike a Rolodex, however, the categories are simplified based on the user's actual data.
  • FIG. 7A illustrates address book interface 700 displaying list information 701 .
  • the interface 700 includes category tabs 710 , such as “#AB” tab 711 . Since the tab 711 currently has focus, it is highlighted (e.g., displayed in reverse video).
  • the user activates forward (i.e., right or down) and backward (i.e., left or up) keys 715 , 713 .
  • Interface 700 (now 700 b ) displays the tab 721 (now 721 a ) as the first category. Further, focus has shifted to a particular item on the list 701 (now 701 b ). Hence, once the user has quickly navigated to the desired category of information, the user can select into that category and proceed to quickly select a particular item from that category.
  • the input events can be summarized as follows: across ⁇ select ⁇ down ⁇ select.
  • the system displays the information record pertaining to that item.
  • Final selection of item 722 for instance, invokes the display of information record 730 , as illustrated in FIG. 7D. At any point during this process, the user can easily return to the top-level view by selecting the “home” key.
  • a method for providing access to a data set which stores information in data records having data fields may be summarized as shown in FIG. 7E.
  • An initial order for displaying the data set based on values of a particular data field is established (step 741 ). Commonly, this will be an alphabetic sort order, such as a descending sort by Last Name.
  • the data set is displayed according to this established order (step 742 ).
  • the device displays category tabs for navigating among individual data records of the data set. This entails the following.
  • the device determines dynamically, based on actual values stored at the particular data field of the data records, categories of information available for the particular data field (step 743 ).
  • the device Based on this determination (tested at step 744 ), the device displays a tab identifier allowing navigation to a particular category if at least one data item exists for the particular category (step 745 ). In this manner, at least some tab identifiers are eliminated from display—particularly, tab identifiers are eliminated for those categories of information which currently have no data items. The result is much faster and efficient navigation through large datasets when using a terse or limited key set.
  • FIG. 8A illustrates this scenario.
  • the user has tabbed to a category including “M” entries.
  • the list 701 is updated and, for this example, includes a large number of “M” entries.
  • the interface 700 (now 700 d ) updates, as indicated in FIG. 8B.
  • the category tab has, in effect, “split” into subcategory tabs.
  • “M” entries are now represented by three tabs 811 : “M,” “Mc,” and “Mo” tabs.
  • the system has synthesized dynamically an “Mc” tab, so those entries have their own subcategory tab. In this fashion, the user can quickly navigate to a particular subcategory of interest, thereby avoiding the need to linearly scan through a subcategory having a large number of entries which are not of interest (e.g., “Mc” entries).
  • FIGS. 8C-E illustrate the action of the user tabbing through the subcategory tabs 811 .
  • the display list 701 (now 701 d ) updates to display items corresponding to the newly-selected subcategory tab.
  • the user selecting subcategory tab 811 b as shown in FIG. 8D or selecting subcategory tab 811 c in FIG. 8E also leads to updating the display list 701 , as shown at 701 e and 701 f , respectively.
  • the user can select into or drill down to a particular item, such as indicated in FIG. 8F.
  • the user can select the target item of interest using the select key or button.
  • the system displays the corresponding information record (not shown) for that selected item.
  • the methodology adopted for dynamically adjusting tab categories and subcategories is, in the preferred embodiment, driven in part by the number of lines supported by the display.
  • the interface supports seven displayable lines which the user can navigate.
  • the number of displayable lines is employed to set a threshold number of items which must exist before creating further tab categories (i.e., subcategories).
  • the number is set equal to the number of displayable lines plus 1 (e.g., the number 8, for a display having 7 displayable lines).
  • Any three-letter category which qualifies for subcategory tabs is determined by eight or greater items which satisfy that key.
  • the method adopted always creates a boundary tab—that is, a category tab for the starting index after the subcategory set.
  • the next tab category created is “Mo” (instead of the tab category “N”), even though the number of “Mo” entries might be less than the threshold value.
  • the methodology ignores combinations which do not exist in the user data. If no “J” items exist, for example, then a “J” tab is not created.
  • the system provides the user with a “find” operation based, not on a linear search, but on dynamically-created categories. The result is much faster and efficient navigation through large datasets when using a terse key set.
  • the interface includes a special sort tab 901 .
  • the device displays selection screen 903 .
  • the user can select another index for presenting the data, such as index by “title” or by “company.”
  • FIG. 9B at display screen 910 , the user data is now sorted by company name. Accordingly, the tab categories are updated.
  • the method's operation is generic to a variety of different datasets.

Abstract

A portable computing device or “information appliance” having terse user input (e.g., limit set of keys) is provided with a user interface for navigating user data. Application programs, which are provided for user operation of the device, are implemented as separate modules controlled by a module selector. The module selector serves as a user interface or shell representing the top-level or “home” display presented to a user. The module selector presents the user with selection icons for navigating to different applications or modules of functionality. The user interface implements a “single-click” style of button operation, so that users can associate each button with a particular task for a given program context. In addition to the single-click style, “click consistency” is imposed for each button. Generally, the same buttons are used over and over again to perform their respective tasks, even though the user has navigated to different modules of an application, so that the user is presented with a consistent interface or metaphor which can be easily mastered. The user interface supports in a small form factor device the browser-style navigation that users have become accustomed to on desktop computers (e.g., using Web browsers). More particularly, the interface supports up, down, forward, and backward navigation for allowing a user to “drill down” to “drill across” his or her data. This allows the user to find a data item (link) of interest and then drill down into it. Once at the appropriate level, the user can then easily select the particular item of interest. Further, once the user has selected or entered an item, the system provides the ability for the user to return to “home” with a single button click. In this manner, the present invention provides an interface allowing browser-style navigation in a device having a terse set of input keys.

Description

  • The present application claims the benefit of priority from commonly-owned provisional application serial No. [0001] ———, filed Jun. 13, 1997 and now pending, entitled USER INTERFACE METHODOLOGY FOR MICROPROCESSOR DEVICE HAVING LIMITED USER INPUT, by inventor Eric O. Bodnar, the disclosure of which is hereby incorporated by reference.
  • COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. [0002]
  • BACKGROUND OF THE INVENTION
  • Today, there is a growing interest in small or “form factor” smart electronic devices. As a result, software applications which were typically the domain of desktop computers are now expected by users to be available on these small devices—devices which can easily fit in one's pocket or wallet. Although advances have occurred in software design which provide hand-held devices with substantial processing power, memory capacity, and display power, a number of “form factor” related problems nevertheless remain to be solved. [0003]
  • No matter how high the resolution is of a device's display, for instance, there still remains a finite amount of physical screen “real estate” which can be provided by the device. In the case of small hand-held devices, the amount of this screen real estate or physical screen area is obviously much less than that provided by desktop computers. If this problem is addressed by displaying items on screen at a smaller size, users have difficulty reading the information. Although virtual screen technology is available for users to “pan” across a larger virtual screen the additional user input required to manage the process makes the approach undesirable. Information which cannot be seen is of no value to users. [0004]
  • Another problem facing small electronic devices is the difficulty of inputting information. With a small form factor or pocket-size device, it is simply not feasible to include a substantial keyboard for inputting information. Again, the size of the devices reduces the physical surface area available for accommodating input keys or the like. A conventional approach to the problem is to simply build a smaller keyboard, one using miniature input keys. The approach is problematic. In particular, most users find that their fingers are simply too big to use small keys with any degree of efficiency. Further, any efforts to increase the size of a keyboard or keypad in such a device reduces the amount of surface area available for the display screen. [0005]
  • An approach to this problem is to simply let the display screen double as an input device. The basic problem remains unsolved, however. Any display surface area allotted to display screen buttons decreases the amount available for displaying program information, such as output screens. Further, displaying different sets of keys during the operation of a program increases the complexity and, therefore, the learning curve for that program. [0006]
  • A similar approach to the above is handwriting recognition, such as available with Apple's Newton device. With the current state of handwriting technology, however, the process is both processor intensive (and therefore slow) and error prone. These two disadvantages have combined to make present-day handwriting recognition unattractive to all but the most patient of users. Even with shorthand or gesture-based handwriting recognition, success of those devices remains limited, as most users are unwilling to spend the time mastering gesture strokes. [0007]
  • Again, the physical limitations imposed by these devices remains a problem. For handwriting recognition, for instance, the screen devices must be coated with a special material for receiving stroke input. That material adds yet another layer on top of the display screen thus making the screen more difficult to read (since screen contrast of an already small screen is decreased even further). All told, present-day handwriting recognition is far from an ideal solution. [0008]
  • The problem faced by designers of small “form factor” devices is certainly not limited to input and display of information. For instance, a whole set of design problems exist concerning power management—that is, optimizing a device's use of a limited power source, such as batteries. All told, the small size of pocket-size devices imposes a physical limitation impacting all the subsystems of such a device. [0009]
  • What is needed is improved user input and usability methodology for small form factor devices. Such a methodology should not require sophisticated hardware support, such as handwriting recognition. Further, such methodology should accommodate a limited or terse set of input keys or buttons (e.g., five keys) as well as limited display surface area typically provided by small form factor devices. Such methodology should nevertheless accommodate large character sets, such as ones including a full range of alphabetic and numeric characters. The present invention fulfills this and other needs. [0010]
  • SUMMARY OF THE INVENTION
  • A portable computing device or “information appliance” having terse user input (e.g., limit set of keys) is provided with a user interface for navigating user data. The computing device comprises a central processing unit (e.g., microprocessor) connected via a system bus to a display, an input, ports, and memory. Display is a screen device for displaying information, such as a liquid crystal display (LCD) screen. Input comprises a keypad, either physical or logical (e.g., on screen buttons), but limited to a terse set numbering about three to ten buttons and more preferably about five buttons. Memory comprises persistent memory, volatile memory, and non-volatile RAM memory. Persistent memory is typically implemented as a ROM or read-only memory. It stores a single-purpose operating system (SPOS) and application(s). Volatile memory is a “scratch” memory, for storing temporary computation results. It typically is implemented as a RAM (random-access memory), for providing a work space for the operating system and applications. Non-volatile RAM memory represents battery-backed RAM memory, for storing context information from one session to another. When the device is powered down, the memory stores user data from that session. [0011]
  • The single purpose operating system (SPOS) functions to provide a consistent mechanism by which applications can communicate with the device. In this manner, applications are shielded from hardware complexity, such as hardware interrupts and ports. In other words, it serves to abstract hardware complexity to a high-level application programming interface (API). [0012]
  • Applications are software application programs or modules provided for user operation of the device. The application programs can be implemented as separate modules,. which are controlled by a module selector. The module selector serves as a user interface or shell representing the top-level or “home” display presented to a user. In the currently-preferred embodiment, the module selector presents the user with selection icons for navigating to different applications or modules of functionality. In an exemplary embodiment, for instance, other modules include a calendar module, a to do module, and an address book module. [0013]
  • In typical use, the device is used in tandem with a desktop computer or PC. The desktop PC is used by the user when “at the office,” and the portable computing device is employed when the user is “on the road” (i.e., out of the office). Thus during typical use, large repositories of data reside on the desktop PC which are periodically transferred or synchronized with data residing on the portable computing device. Multiple techniques exist for getting data from the desktop PC to the portable computing device, through device port(s). Using a device input/output (I/O) protocol or standard, such as the PC card standard (formerly PCMCIA standard), the user can easily transfer data to the device via a direct memory transfer. Alternatively, data can be streamed from the desktop PC to the portable computing device via a direct cable (or infrared) connection, such as using a serial port-to-serial port connection. Since the data transferred is that of an application operating on the desktop PC, potentially thousands of data items or records might be downloaded into the portable computing device. This potentially large dataset, coupled with the terse key set available at the portable computing device, poses a challenge to the location of desired information by a user. Therefore, improved user interface methodology is needed. [0014]
  • In the most-preferred embodiment, the present invention provides a user interface implementing a “single-click” style of button operation, so that users can associate each button with a particular task for a given program context. In addition to the single-click style, the preferred embodiment imposes “click consistency” for each button. Generally, the same buttons are used over and over again to perform their respective tasks, even though the user has navigated to different modules of an application. In this manner, the user is presented with a consistent interface or metaphor which can be easily mastered. [0015]
  • Also in the preferred embodiment, the user interface supports in a small form factor device the browser-style navigation that users have become accustomed to on desktop computers (e.g., using Web browsers). More particularly, the interface supports up, down, forward, and backward (reverse) navigation for allowing a user to “drill down” to “drill across” his or her data. This allows the user to find a data item (link) of interest and then drill down into it. Once at the appropriate level, the user can then easily select the particular item of interest. Further, once the user has selected or entered an item, the system provides the ability for the user to return to “home” with a single button click. In this manner, the present invention provides an interface allowing browser-style navigation in a device having a terse set of input keys. [0016]
  • A method for providing users with access to applications and user information in a computing device having a limited set of input keys may be summarized by the following method steps. At the outset, the device displays a user interface having a top level view for allowing a user to select among applications available for the computing device. User interface navigation is provided in response to user operation of the limited set of input keys. In response to user selection of a forward key from said limited set of input keys, the device moves a screen cursor in a forward relative direction among screen objects at a given level. In response to user selection of a reverse key from said limited set of input keys, the device moves the screen cursor in a reverse relative direction among screen objects at a given level. In response to user selection of a select key from said limited set of input keys, the device selects a particular screen object at which the screen cursor is currently located, whereupon the device displays a lower level view of the user interface which pertains to the particular screen object. In response to user selection of a home key from said limited set of input keys, the device returns to the top level view. In this manner, access to the applications and user information is achieved for the computing device through use of said limited set of input keys. [0017]
  • Additionally, a device having a terse set of input keys provides password protection as follows. The interface implements a “graphical password” which can be entered directly from the terse set of keys. Instead of a conventional alphabetic password as conventionally found on computing devices, the graphical password comprises a sequence of non-alphabetic key strokes from the terse set. Here, an exemplary graphical password might comprise, for example, FORWARD, FORWARD, BACK, BACK, SELECT, or, alternatively, the user could select HOME, SELECT, FORWARD, HOME, HOME, BACK. [0018]
  • During device operation, upon the user entering a graphical password, the device displays a password entry screen. When the device is configured for password protection, the screen appears each time the device is powered up. To gain access to information on the device, the user must at this point enter the same sequence of key strokes as that which comprises the user's graphical password. In an exemplary embodiment, a password mask field indicates entries of each key stroke, but with the actual keys themselves being masked. [0019]
  • A method for controlling access to a computing device having a limited set of input keys (particularly, a set of input keys including non-alphanumeric keys) may, therefore, be summarized as follows. At the outset, the device records a user-provided sequence of key strokes entered from the non-alphanumeric keys. The device stores the recorded sequence of key strokes as a “graphical password”—that is, a password comprising non-alphanumeric key strokes. Upon request from a user for access to the computing device, the device prompts the user to enter the graphical password. If the user enters a sequence of key strokes which matches that of the sequence of key strokes stored as the graphical password, the device grants device access to the user. [0020]
  • Additional methodology is provided for dynamically adjusting tab categories and subcategories. The method is, in the preferred embodiment, driven in part by the number of lines supported by the display. In the foregoing example, for instance, the interface supports seven displayable lines which the user can navigate. The number of displayable lines is employed to set a threshold number of items which must exist before creating further tab categories (i.e., subcategories). In the currently-preferred embodiment, the number is set equal to the number of displayable lines plus 1 (e.g., the [0021] number 8, for a display having 7 displayable lines). Any three-letter category which qualifies for subcategory tabs is determined by eight or greater items which satisfy that key. For clarity of the interface, the method adopted always creates a boundary tab—that is, a category tab for the starting index after the subcategory set. In the example presented above, the next tab category created is “Mo” (instead of the tab category “N”), even though the number of “Mo” entries might be less than the threshold value. By the same token, the methodology ignores combinations which do not exist in the user data. If no “J” items exist, for example, then a “J” tab is not created. Using the foregoing method, the system provides the user with a “find” operation based, not on a linear search, but on dynamically-created categories.
  • A method for providing access to a data set which stores information in data records having data fields may, therefore, be summarized as follows. An initial order for displaying the data set based on values of a particular data field is established. Commonly, this will be an alphabetic sort order, such as a descending sort by Last Name. The data set is displayed according to this established order. To facilitate navigation, the device displays category tabs for navigating among individual data records of the data set. This entails the following. The device determines dynamically, based on actual values stored at the particular data field of the data records, categories of information available for the particular data field. Based on this determination, the device displays a tab identifier allowing navigation to a particular category if at least one data item exists for the particular category. In this manner, at least some tab identifiers are eliminated from display—particularly, tab identifiers are eliminated for those categories of information which currently have no data items. The result is much faster and efficient navigation through large datasets when using a terse or limited key set. [0022]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating the general architecture of a portable computing device or “information appliance” in which the present invention may be embodied. [0023]
  • FIG. 2 is a block diagram illustrating implementation of the application programs as modules under the control of a module selector. [0024]
  • FIG. 3 is a bitmap screen shot illustrating a display interface comprising a plurality of application or module icons, from which the user can invoke particular application functionality. [0025]
  • FIGS. 4A-G are bitmap screen shots illustrating use of a high-level navigation model of the present invention applied to a variety of types of user information. [0026]
  • FIGS. 5A-C are bitmap screen shots illustrating use of the navigation model for setting user preferences. [0027]
  • FIG. 5D is a flowchart summarizing internal methodology supporting the navigational model. [0028]
  • FIG. 6A is a bitmap screen shot illustrating use of “graphical” passwords for controlling user access to the device. [0029]
  • FIG. 6B is a flowchart summarizing internal methodology supporting device access with a graphical password. [0030]
  • FIGS. 7A-D are bitmap screen shots illustrating use of a dynamically adjusting tab (category) interface for managing a large set of data. [0031]
  • FIG. 7E is a flowchart summarizing internal methodology supporting dynamically adjusting tab categories. [0032]
  • FIGS. 8C-E are bitmap screen shots illustrating the action of the a tabbing through dynamically-created subcategory tabs. [0033]
  • FIGS. 9A-B are bitmap screen shots illustrating a special sort tab, whereupon the tab categories are automatically updated. [0034]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • The following description will focus on the presently-preferred embodiment of the present invention, which is typically operative in end-user application programs and/or operating system programs operating in a portable computing environment. The present invention, however, is not limited to any particular one application or any particular environment. Instead, those skilled in the art will find that the system and methods of the present invention may be advantageously applied to a variety of system and application software, including database management systems, wordprocessors, spreadsheets, and the like. Moreover, the present invention may be embodied on a variety of different platforms, including Macintosh, UNIX, NextStep, and the like. Therefore, the description of the exemplary embodiments which follows is for purposes of illustration and not limitation. [0035]
  • General system [0036]
  • A. Device hardware [0037]
  • FIG. 1 is a block diagram illustrating the general architecture of a portable computing device or “information appliance” in which the present invention may be embodied. As shown, [0038] computing device 100 comprises a central processing unit 105 (e.g., microprocessor) connected via a system bus 140 to a display 101, an input 102, ports 103, and memory 110. Display 101 is a screen device for displaying information, such as a liquid crystal display (LCD) screen. Input 102 comprises a keypad, either physical or logical (e.g., on screen buttons), but limited to a terse set numbering about three to ten buttons and more preferably about five buttons. Memory 110 comprises persistent memory 111, volatile memory 120, and non-volatile RAM memory 130. Persistent memory 111 is typically implemented as a ROM or read-only memory. As shown, it stores a single-purpose operating system (SPOS) 112 and application(s) 113, which are described in further detail below. Volatile memory 120 is a “scratch” memory, for storing temporary computation results. It typically is implemented as a RAM (random-access memory), for providing a work space for the operating system and applications. Non-volatile RAM memory 130 represents battery-backed RAM memory, for storing context information from one session to another. When the device 100 is powered down, the memory 130 stores user data from that session.
  • B. Device software [0039]
  • The single purpose operating system (SPOS) functions to provide a consistent mechanism by which [0040] applications 113 can communicate with the device 100. In this manner, applications 113 are shielded from hardware complexity, such as hardware interrupts and ports. In other words, it serves to abstract hardware complexity to a high-level application programming interface (API).
  • [0041] Applications 113 are software application programs or modules provided for user operation of the device. As shown in FIG. 2, for instance, the application programs can be implemented as modules 201-206, which are controlled by a module selector 200. The module selector 200 serves as a user interface or shell representing the top-level or “home” display presented to a user. In the currently-preferred embodiment, the module selector 200 presents the user with selection icons for navigating to different applications or modules of functionality. In an exemplary embodiment, for instance, other modules include a calendar module, a to do module, and an address book module.
  • In typical use, the [0042] device 100 is used in tandem with a desktop computer or PC. The desktop PC is used by the user when “at the office,” and the portable computing device 100 is employed when the user is “on the road” (i.e., out of the office). Thus during typical use, large repositories of data reside on the desktop PC which are periodically transferred or synchronized with data residing on the portable computing device 100. Multiple techniques exist for getting data from the desktop PC to the portable computing device, through device port(s) 103. Using a device input/output (I/O) protocol or standard, such as the PC card standard (formerly PCMCIA standard), the user can easily transfer data to the device 100 via a direct memory transfer. Alternatively, data can be streamed from the desktop PC to the portable computing device via a direct cable (or infrared) connection, such as using a serial port-to-serial port connection. Since the data transferred is that of an application operating on the desktop PC, potentially thousands of data items or records might be downloaded into the portable computing device 100. This potentially large dataset, coupled with the terse key set available at the portable computing device, poses a challenge to the location of desired information by a user. Therefore, improved user interface methodology is needed.
  • Improved user interface [0043]
  • A. General design [0044]
  • The following description will focus on a preferred user interface and methodology for a form factor device having a terse set of input keys, preferably about five input keys. Those skilled in the art, enabled by the teachings herein, will appreciate that the invention can easily be adapted to form factor devices having more or fewer input keys. Hence, the description which follows is for purposes for illustration and not limitation. [0045]
  • In the most-preferred embodiment, the user interface of the present invention implements a “single-click” style of button operation. Given a device with five input buttons, for instance, various key combinations beyond the simple clicking of each individual button could be created. Buttons could, for example, be “double clicked” by users or combined to create double or triple (or even more) key combinations. Although such an approach yields more logical buttons from the available physical buttons, the approach requires users to memorize key combinations which are not intuitive (and are a source of endless grief for users of such devices). Accordingly, in the most-preferred embodiment, a single-click style is adopted, so that users can associate each button with a particular task for a given program context. [0046]
  • In addition to the single-click style, the preferred embodiment imposes “click consistency” for each button. Generally, the same buttons are used over and over again to perform their respective tasks, even though the user has navigated to different modules of an application. In this manner, the user is presented with a consistent interface or metaphor which can be easily mastered. If, on the other hand, behavior of the button changed from one portion or context of the application to another, the user must relearn the functionality of each button. [0047]
  • Also in the preferred embodiment, the user interface supports in a small form factor device the browser-style navigation that users have become accustomed to on desktop computers (e.g., using Web browsers). More particularly, the interface supports up, down, forward, and backward navigation for allowing a user to “drill down” to “drill across” his or her data. This allows the user to find a data item (link) of interest and then drill down into it. Once at the appropriate level, the user can then easily select the particular item of interest. Further, once the user has selected or entered an item, the system provides the ability for the user to return to “home” with a single button click. As set forth below, the present invention provides an interface allowing browser-style navigation in a device having a terse set of input keys. [0048]
  • B. Navigation model [0049]
  • The module selector presents an array of icons, each one corresponding to a particular application within the system. At all times, the system displays a highlight on screen for indicating “focus”—that a particular item is the focus of further user input (at that point in time). At the top level or “home,” focus is indicated by a highlight around one of the application icons. [0050]
  • As shown in FIG. 3 for [0051] device 300, for instance, display interface 320 comprises a plurality of application or module icons (e.g., icons 321, 323), from which the user can invoke particular application functionality. As shown, icon 321 currently had “focus,” as indicated by focus outline (rectangle) 325. As also shown in FIG. 3, the device 300 includes five buttons 310. These buttons function as follows. Home key 311 provides a browser-like key allowing a user to always return to “home”—that is, a general or overview display screen. For the embodiment illustrated by FIG. 3, “home” is the module selector display or shell shown by display screen 320. In this manner, no matter how far a user has “drilled down” in the interface, the home key 311 will always return the user to the top-level view or shell, with a single button click.
  • [0052] Forward key 319 and backward key 317 allow the user to navigate forward or backward (respectively), within a given level of the interface. For the top-level view shown by display 320, for instance, the forward and backward keys move the selective or highlight from one icon to another, either in a forward or reverse direction depending on which of the two buttons 317, 319 is activated. In the currently-preferred embodiment, a highlight or selector is presented at all levels of the interface so that the functionality of buttons 317, 319 remains consistent and intuitive. As a result, the user always knows how to shift focus from one item to another regardless of what level of the interface the user has navigated to.
  • Working in conjunction with the forward/[0053] backward buttons 317, 319 that shift focus through a current level, select button 315 invokes (or “selects”) the item currently having focus, when the button is activated by the user. At the top-level view shown in at 320, for instance, user activation of select button 315 serves to select the calendar module represented by icon 321. In response to this selection, the system “drills down” into the calendar module.
  • Using the select key in combination with the forward and backward keys, the user is easily able to navigate up and down interface levels as well as across a particular level. In other words, the buttons provide a navigation model where the user can move from point to point for changing direction within a level, selection itself always indicates the current focus or point of activity (which will occur) within a given level. Selecting that item with the [0054] select button 315 causes the system to drill down into the functionality represented by the selected item. Regardless of how many levels the user has drilled down into using this technique, the home button 311 will always return the interface back to the top-level view (e.g., such as the “home” view represented by display 320).
  • As shown in FIG. 3, [0055] buttons 310 include a fifth key or button, view switch button 313. The view switch button 313 allows the user to instruct the system to switch to a different view within a given level, thus providing the user with a different way of viewing the data. Consider, for instance, presentation of calendar data by a calendar module. Calendar or time-related data can be represented or displayed in multiple ways. One way to represent such information, for example, is to display a linear (event-by-event) list. Alternatively, such information could be presented on a week-by-week basis—that is, viewing data over a span of a given week. Yet another way to view such information is a monthly view which highlights dates for a given month which have events (or other user data). The view switch 313, therefore, cycles through different views at a particular level, with the actual views available being dictated by the particular application (module). In order to simplify the interface for the user, the number of views available at a given level should typically not exceed about four views.
  • C. Navigation model can be generically applied [0056]
  • Generally, the high-level navigation model can be applied to other types of user information. This is illustrated in FIGS. 4A-B. In FIG. 4A, the calendar module has focus, as indicated at [0057] 401. Upon user activation of the select key, the interface invokes the calendar module, as indicated at 410 in FIG. 4B. By activating the view switch key, the user can switch the display to get another view of the data. For instance, upon the user first invoking the key, the display switches to a weekly view, as indicated at 420 in FIG. 4C. Further activation of the key switches the display to a monthly view, as shown at 430 in FIG. 4D. In any one of these views, the user can select an item and drill down into it. For the present example, this is illustrated by FIGS. 4E-F. In FIG. 4E, the user selects an item, shown at 440, using forward/backward keys. Now that a particular item has focus, the user can drill down into that item, by activating the select key. The result is shown at 450 in FIG. 4F. Here, the system displays the particular record corresponding to the selected item. As illustrated in FIG. 4G, the user can continue navigating using the selection and drill down approach. In FIG. 4G, the user has selected item 460 from the displayed list of items. As before, the user can invoke the select key for displaying further information about the selected item—detailed information for a particular time interval for this example (not shown). The foregoing example illustrates that the navigation module of the present invention can easily be applied to completely different datasets. At the same time, the user is still able to efficiently navigate among items in each dataset even though the device itself only includes a terse set of input keys.
  • Although the foregoing focus is on the environment of the interface in a portable computing device such as a PDA (personal digital assistant), the interface methodology also has application to a variety of other devices. As enhanced processing power becomes available to more and more devices, including household appliances, there is a growing need for an interface for efficiently controlling such devices. Given the physical limitation of such devices, those devices will continue to have a small set of input keys, instead of larger keypads or handwriting recognition. For an intelligent coffee maker, for example, the physical size of the device makes it undesirable to incorporate a large keypad or a style list for handwriting recognition. [0058]
  • D. Navigation model applied to preference settings [0059]
  • FIGS. 5A-C illustrate use of the navigation model for setting user preferences. The user begins by invoking the preference module from the module selector screen. At the preference setting screen, such as illustrated in FIG. 5A, the user employs the forward and backward keys for navigating to a particular item, such as “date display.” Once the user has selected a particular item to change, the user invokes the select key to navigate to the item's value, such as the [0060] date display value 510 as shown in FIG. 5B. Now the user can change the value by using the backward and forward keys. Once satisfied with a new value, the user can select that to be the preference value by invoking the select key. As shown in FIG. 5C, the selected value is now entered as the preferred setting.
  • A method for providing users with access to applications and user information in a computing device having a limited set of input keys, therefore, may be summarized as shown in FIG. 5D. At the outset, the device displays a user interface having a top level view for allowing a user to select among applications available for the computing device (step [0061] 531). User interface navigation is provided in response to user operation of the limited set of input keys (step 532). In response to user selection of a forward key from said limited set of input keys, the device moves a screen cursor in a forward relative direction among screen objects at a given level (step 533). In response to user selection of a reverse key from said limited set of input keys, the device moves the screen cursor in a reverse relative direction among screen objects at a given level (step 534). In response to user selection of a select key from said limited set of input keys, the device selects or invokes a particular screen object at which the screen cursor is currently located (step 535), whereupon the device displays a lower level view of the user interface which pertains to the particular screen object. In response to user selection of a home key from said limited set of input keys, the device returns to the top level view (step 536). The method or process loops or continues for other user input. In this manner, access to the applications and user information is achieved for the computing device through use of said limited set of input keys.
  • E. Graphical passwords [0062]
  • Because the [0063] device 100 stores potentially sensitive information, a mechanism or “lock” is needed to prevent unauthorized access to that information. In accordance with the present invention, a device having a terse set of input keys implements password protection as follows. The interface implements a “graphical password” which can be entered directly from the terse set of keys. Instead of a conventional alphabetic password as conventionally found on computing devices, the graphical password comprises a sequence of non-alphabetic key strokes from the terse set. Here, an exemplary graphical password might comprise, for example, FORWARD, FORWARD, BACK, BACK, SELECT, or, alternatively, the user could select HOME, SELECT, FORWARD, HOME, HOME, BACK.
  • During device operation, upon the user entering a graphical password, the device displays a [0064] password entry screen 600, as shown in FIG. 6A. When the device is configured for password protection, the screen appears each time the device is powered up. To gain access to information on the device, the user must at this point enter the same sequence of key strokes as that which comprises the user's graphical password. In an exemplary embodiment, a password mask field 610 indicates entries of each key stroke, but with the actual keys themselves being masked.
  • A method for controlling access to a computing device having a limited set of input keys (particularly, a set of input keys including non-alphanumeric keys) may, therefore, be summarized as shown in FIG. 6B. At the outset, the device records a user-provided sequence of key strokes entered from the non-alphanumeric keys (step [0065] 631). The device stores the recorded sequence of key strokes as a “graphical password” (step 632)—that is, a password comprising non-alphanumeric key strokes. Upon request from a user for access to the computing device (step 633), the device prompts the user to enter the graphical password (step 634). If the user enters a sequence of key strokes which matches that of the sequence of key strokes stored as the graphical password (step 635), the device grants device access to the user (step 636). Otherwise, the method repeats the prompt (step 634) or fails.
  • Intelligent categorization and navigation of large datasets [0066]
  • A. Introduction [0067]
  • Often, a user desires to employ a portable computing device for storing and managing large lists of information, such as an electronic address book. Typically, such information is sorted by a particular key (i.e., indexed by one or more fields). For an address book, for instance, information can be indexed on the key of last name plus first name. Typically, such information is potentially a very large list. [0068]
  • A quick way to navigate to a desired entry in a large list is to perform a search. If one wanted to find an entry in an electronic address book beginning with the letter “S,” for instance, the user could quickly search to names beginning with “S” if he or she could easily enter such a letter. For a portable computing device having a terse set of input keys, such as the [0069] device 100, the user does not have this option. Given a device with a terse set of input keys or buttons, therefore, a problem arises as to how one efficiently navigates such information efficiently.
  • Perhaps the simplest approach to navigating a list is to simply proceed through the list in a linear fashion. Such an approach is only workable for small lists, however. Another approach, which is popular with consumer electronic applications, is the “fast repeat” navigation technique. Here, the navigation starts out as a slow, repeating linear search but then increases to a fast-repeating linear search as the user continues to depress the (search) button. With “fast repeat,” when the user clicks a button once the value represented by the button (e.g., minutes) advances by 1. If the user holds the button continuously, the value advances faster. With an alarm clock, the user is faced with a sorted list comprising the digits 0 through 9, thus making the “fast repeat” approach at least acceptable. For limited input, therefore, fast repeat is a good approach. [0070]
  • The difficulty with the approach, however, is that the user must still navigate a potentially large list. If something more than simple input is required, such as the input of alphabetic characters, the fast repeat approach becomes unacceptable. For instance, inputting characters from an entire alphabetic character set, including both upper case and lower case characters, the approach is simply not a practical way to input the information into a device. The fast repeat approach is not practical for navigating large datasets, such as an electronic address book containing hundreds of entries. [0071]
  • Given the ability to navigate both across and up/down in the device [0072] 100 (using the forward, backward, and select keys), another approach one could employ is to allow a user to navigate across the alphabet to a particular alphabetic character and then navigate down names beginning with the letter represented by that alphabetic character. Although such an approach is an improvement over the fast repeat technique, it still remains impractical for all but the smallest of lists. Therefore, a better approach is needed.
  • B. Preferred approach [0073]
  • In accordance with the present invention, list information is organized into discrete categories. To understand this approach, first consider how information is grouped in a Rolodex. There, tabs are provided for individual letters of the alphabet. Adopting that approach electronically, however, is not an optimal approach, as the user would have to navigate or “tab through” a lot of information before reaching the desired target information. In accordance with the present invention, therefore, information is grouped intelligently at runtime (i.e., dynamically) such that a user can rapidly reach a destination or target item without having to tab through a lot of categories which are not of interest. Unlike a Rolodex (electronic or otherwise), the tabs themselves adjust dynamically at runtime to the user's actual data. Specifically, the tabs adjust on-the-fly to correspond to entries in the user's data. In this manner, the system eliminates the need for navigating or tabbing to categories which do not correspond to the actual user data present in the system. [0074]
  • In a preferred embodiment, both a high level approach and a low level approach are adopted. At the high level, the system employs the alphabet (and digits) broken down into sets of three characters, such as “#AB,” “CDE,” and the like. If no “E” entries are present in the user's date, for instance, the second tab can adjust to “CDF.” When combined with the forward/backward navigation keys or buttons, the approach provides an interface allowing the user to quickly navigate among categories. Unlike a Rolodex, however, the categories are simplified based on the user's actual data. [0075]
  • C. Dynamically adjusting tab (category) interface [0076]
  • FIGS. 7A-D illustrate an interface which embodies the approach. FIG. 7A illustrates [0077] address book interface 700 displaying list information 701. As shown, the interface 700 includes category tabs 710, such as “#AB” tab 711. Since the tab 711 currently has focus, it is highlighted (e.g., displayed in reverse video). To navigate among the categories, the user activates forward (i.e., right or down) and backward (i.e., left or up) keys 715, 713.
  • Consider, for instance, the user activity of clicking the forward button or key [0078] 715 twice. The result of this action is shown in FIG. 7B. The interface 700 (now 700 a) shifts focus to tab 721, as shown. In a corresponding manner, the displayed list 701 (now 701 a) is updated, for displaying entries corresponding to the now-selected category (i.e., tab 721). Upon reaching the desired or target category destination, the user can now invoke the select button, shown at 725 in FIG. 7B, for drilling down into the then currently-selected category.
  • The result of the user action is illustrated in FIG. 7C. Interface [0079] 700 (now 700 b) displays the tab 721 (now 721 a) as the first category. Further, focus has shifted to a particular item on the list 701 (now 701 b). Hence, once the user has quickly navigated to the desired category of information, the user can select into that category and proceed to quickly select a particular item from that category. For the example presented in FIGS. 7A-C, the input events can be summarized as follows: across→ select→ down→ select. Upon the final selection of the item of interest the system displays the information record pertaining to that item. Final selection of item 722, for instance, invokes the display of information record 730, as illustrated in FIG. 7D. At any point during this process, the user can easily return to the top-level view by selecting the “home” key.
  • A method for providing access to a data set which stores information in data records having data fields may be summarized as shown in FIG. 7E. An initial order for displaying the data set based on values of a particular data field is established (step [0080] 741). Commonly, this will be an alphabetic sort order, such as a descending sort by Last Name. The data set is displayed according to this established order (step 742). To facilitate navigation, the device displays category tabs for navigating among individual data records of the data set. This entails the following. The device determines dynamically, based on actual values stored at the particular data field of the data records, categories of information available for the particular data field (step 743). Based on this determination (tested at step 744), the device displays a tab identifier allowing navigation to a particular category if at least one data item exists for the particular category (step 745). In this manner, at least some tab identifiers are eliminated from display—particularly, tab identifiers are eliminated for those categories of information which currently have no data items. The result is much faster and efficient navigation through large datasets when using a terse or limited key set.
  • D. Adjusting dynamically for subcategories [0081]
  • The foregoing example illustrated a scenario where simple category headings sufficed. At times, however, a simple category heading might not provide sufficient detail. Consider a scenario when the user has navigated to a category having “M” entries only to find that a very large number of “M” entries exist. In an electronic address book, it is not uncommon to find, for example, a large number of “Mc” entries. FIG. 8A illustrates this scenario. Here, the user has tabbed to a category including “M” entries. For the interface [0082] 700 (now 700 c), this is shown at tab 801. As a result of having selected tab 801, the list 701 (now 701 c) is updated and, for this example, includes a large number of “M” entries. To drill down into these entries, the user clicks the select key, shown at 805.
  • In response to this action, the interface [0083] 700 (now 700 d) updates, as indicated in FIG. 8B. Note particularly that the category tab has, in effect, “split” into subcategory tabs. For instance. “M” entries are now represented by three tabs 811: “M,” “Mc,” and “Mo” tabs. Here, since there are a great number of “Mc” entries, the system has synthesized dynamically an “Mc” tab, so those entries have their own subcategory tab. In this fashion, the user can quickly navigate to a particular subcategory of interest, thereby avoiding the need to linearly scan through a subcategory having a large number of entries which are not of interest (e.g., “Mc” entries).
  • FIGS. 8C-E illustrate the action of the user tabbing through the [0084] subcategory tabs 811. As shown in FIG. 8C, upon the user tabbing to subcategory tab 811 a, the display list 701 (now 701 d) updates to display items corresponding to the newly-selected subcategory tab. In a like manner, the user selecting subcategory tab 811 b as shown in FIG. 8D or selecting subcategory tab 811 c in FIG. 8E also leads to updating the display list 701, as shown at 701 e and 701 f, respectively. Upon reaching the subcategory of interest, the user can select into or drill down to a particular item, such as indicated in FIG. 8F. At this point, the user can select the target item of interest using the select key or button. In response, the system displays the corresponding information record (not shown) for that selected item.
  • E. Screen threshold [0085]
  • The methodology adopted for dynamically adjusting tab categories and subcategories is, in the preferred embodiment, driven in part by the number of lines supported by the display. In the foregoing example, for instance, the interface supports seven displayable lines which the user can navigate. The number of displayable lines is employed to set a threshold number of items which must exist before creating further tab categories (i.e., subcategories). In the currently-preferred embodiment, the number is set equal to the number of displayable lines plus 1 (e.g., the [0086] number 8, for a display having 7 displayable lines). Any three-letter category which qualifies for subcategory tabs is determined by eight or greater items which satisfy that key. For clarity of the interface, the method adopted always creates a boundary tab—that is, a category tab for the starting index after the subcategory set. In the example presented above, the next tab category created is “Mo” (instead of the tab category “N”), even though the number of “Mo” entries might be less than the threshold value. By the same token, the methodology ignores combinations which do not exist in the user data. If no “J” items exist, for example, then a “J” tab is not created. Using the foregoing method, the system provides the user with a “find” operation based, not on a linear search, but on dynamically-created categories. The result is much faster and efficient navigation through large datasets when using a terse key set.
  • F. Changing sort key (index) [0087]
  • Although the foregoing example illustrates searching based on Last Name, the approach easily accommodates any index or key. As illustrated in FIG. 9A, the interface includes a [0088] special sort tab 901. In response to user selection of this tab, the device displays selection screen 903. Here, the user can select another index for presenting the data, such as index by “title” or by “company.” As shown in FIG. 9B, at display screen 910, the user data is now sorted by company name. Accordingly, the tab categories are updated. This example demonstrates, the method's operation is generic to a variety of different datasets.
  • While the invention is described in some detail with specific reference to a single-preferred embodiment and certain alternatives, there is no intent to limit the invention to that particular embodiment or those specific alternatives. Thus, the true scope of the present invention is not limited to any one of the foregoing exemplary embodiments but is instead defined by the appended claims. [0089]

Claims (30)

What is claimed is:
1. In a computing device having a limited set of input keys, a method for providing users with access to applications and user information, the method comprising:
displaying a user interface having a top level view for allowing a user to select among applications available for the computing device;
providing user interface navigation by:
moving a screen cursor in a forward relative direction among screen objects at a given level, in response to user selection of a forward key from said limited set of input keys,
moving the screen cursor in a reverse relative direction among screen objects at a given level, in response to user selection of a reverse key from said limited set of input keys,
selecting a particular screen object at which the screen cursor is currently located, in response to user selection of a select key from said limited set of input keys, whereupon the device displays a lower level view of the user interface which pertains to the particular screen object, and
returning to the top level view, in response to user selection of a home key from said limited set of input keys;
wherein access to the applications and user information is achieved for the computing device through use of said limited set of input keys.
2. The method of
claim 1
, wherein said set of limited input keys comprises at least four input keys.
3. The method of
claim 1
, wherein said step of providing user interface navigation further comprises:
displaying an alternative view of the user interface which pertains to the particular screen object, in response to user selection of a view switch key from said limited set of input keys.
4. The method of
claim 3
, wherein said set of limited input keys comprises about five input keys.
5. The method of claims 3, wherein the particular screen object comprises a calendar screen object and wherein said alternative view comprises a selected one of day, week, and month views.
6. The method of
claim 1
, wherein said top level view comprises a module selector view displaying an application icon for each of the applications.
7. The method of
claim 6
, wherein access to a particular application of interest is achieved by:
in response to user operation of the forward and reverse keys, moving the screen cursor in forward and reverse relative directions, respectively, among application icons in the module selector to select an application icon of a particular application of interest; and
in response to user operation of the select key once the screen cursor is positioned at the application icon of the particular application, invoking the particular application, whereupon the device displays a view of the user interface which pertains to the particular application.
8. The method of
claim 1
, wherein said forward key is associated with a key bearing a rightward arrow.
9. The method of
claim 1
, wherein said forward key is associated with a key bearing an upward arrow.
10. The method of
claim 1
, wherein said reverse key is associated with a key bearing a leftward arrow.
11. The method of
claim 1
, wherein said reverse key is associated with a key bearing a downward arrow.
12. The method of
claim 1
, wherein said screen cursor is provided by screen highlighting which indicates that a particular screen object has input focus.
13. The method of
claim 1
, wherein each key of said limited set of input keys operates in response to a single click of the key by the user.
14. The method of
claim 1
, wherein the home key of said limited set of input keys operates to return the user interface to the top level view in response to a single click of the key by the user, regardless of how many levels the user has selected into.
15. The method of
claim 1
, wherein initial access to the computing device is controlled by a graphical password comprising a particular sequence of key strokes of said limited set of input keys.
16. In a computing device having a set of input keys including non-alphanumeric keys, a method for controlling access to the computing device, the method comprising:
recording a user-provided sequence of key strokes from said non-alphanumeric keys;
storing the recorded sequence of key strokes as a graphical password;
upon request from a user for access to the computing device, prompting the user to enter the graphical password; and
providing access to the computing device only if the user enters a sequence of key strokes which matches that of the sequence of key strokes stored as the graphical password.
17. The method of
claim 16
, wherein said non-alphanumeric keys include at least one navigational keys displaying a directional arrow.
18. The method of
claim 17
, wherein include at least one navigational keys displaying a directional arrow includes a forward key displaying a rightward arrow.
19. The method of
claim 17
, wherein include at least one navigational keys displaying a directional arrow includes a back key displaying a leftward arrow.
20. The method of
claim 16
, wherein the device displays a password mask field for indicating entry of each key stroke, while hiding the actual identity of each such key stroke.
21. In a computing device having a limited set of input keys, a method for providing access to a data set, said data set storing information in data records having data to fields, the method comprising:
(a) establishing an order for displaying the data set based on values of a particular data field;
(b) displaying the data set according to the established order; and
(c) displaying category tabs for navigating among individual data records of the data set, said category tabs being created by:
(i) determining dynamically, based on actual values stored at the particular data field of the data records, categories of information available for the particular data field, and
(ii) displaying a tab identifier allowing navigation to a particular category if at least one data item exists for the particular category;
so that at least some tab identifiers are eliminated from display for categories of information which have no data items.
22. The method of
claim 21
, wherein said particular data field comprises alphabetic information and wherein said order comprises a sort order for the alphabetic information.
23. The method of
claim 22
, wherein each tab identifier displays at least one particular alphabetic character for navigating among individual data records of the data set which begin with said at least one particular alphabetic character.
24. The method of
claim 21
, further comprising:
receiving a request for a different order for displaying the data set based on values of another particular data field; and
repeating steps (b) and (c) for the different order, so that new category tabs are created based on actual values stored at said another particular data field of the data records.
25. The method of
claim 21
, further comprising:
in response to user selection of a particular tab identifier, displaying data items for the particular category associated with the tab identifier.
26. The method of
claim 25
, further comprising:
displaying subcategory tabs for navigating among individual data records of the particular category, said subcategory tabs being created by:
(i) determining dynamically for the particular category, based on actual values stored for the particular data field of the data records, subcategories of information available for the particular data field, and
(ii) displaying a tab identifier allowing navigation to a particular subcategory if at least one data item exists for the particular subcategory.
27. The method of
claim 26
, further comprising:
creating a subcategory boundary tab identifier for identifying a subcategory which follows the particular subcategory.
28. The method of
claim 27
, wherein said subcategory boundary tab identifier is created even if no data items exist for the subcategory represented by the subcategory boundary tab identifier.
29. The method of
claim 26
, wherein said particular data field comprises alphabetic information and wherein each tab identifier for a subcategory displays at least two particular alphabetic characters for navigating among individual data records of the data set which begin with said at least two particular alphabetic characters.
30. The method of 26, wherein said determination of subcategories of information available includes:
determining how many data items exist for each subcategory of information; and
creating a subcategory tab for a given subcategory if the number of data items existing for the given subcategory reaches a threshold value.
US09/745,308 1997-06-13 2000-12-22 User interface methodology for microprocessor device having limited user input Expired - Lifetime US6417874B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/745,308 US6417874B2 (en) 1997-06-13 2000-12-22 User interface methodology for microprocessor device having limited user input

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4962197P 1997-06-13 1997-06-13
US90546397A 1997-08-04 1997-08-04
US09/745,308 US6417874B2 (en) 1997-06-13 2000-12-22 User interface methodology for microprocessor device having limited user input

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US90546397A Continuation 1997-06-13 1997-08-04

Publications (2)

Publication Number Publication Date
US20010000668A1 true US20010000668A1 (en) 2001-05-03
US6417874B2 US6417874B2 (en) 2002-07-09

Family

ID=46256827

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/453,609 Expired - Lifetime US6278453B1 (en) 1997-06-13 1999-12-03 Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US09/745,308 Expired - Lifetime US6417874B2 (en) 1997-06-13 2000-12-22 User interface methodology for microprocessor device having limited user input

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/453,609 Expired - Lifetime US6278453B1 (en) 1997-06-13 1999-12-03 Graphical password methodology for a microprocessor device accepting non-alphanumeric user input

Country Status (1)

Country Link
US (2) US6278453B1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020077921A1 (en) * 2000-12-15 2002-06-20 Paul-David Morrison Method and apparatus for an interactive catalog
US6708214B1 (en) * 2000-04-21 2004-03-16 Openwave Systems Inc. Hypermedia identifier input mode for a mobile communication device
US6733455B2 (en) 1999-08-20 2004-05-11 Zonare Medical Systems, Inc. System and method for adaptive clutter filtering in ultrasound color flow imaging
US20040138569A1 (en) * 1999-08-20 2004-07-15 Sorin Grunwald User interface for handheld imaging devices
US20050184959A1 (en) * 2004-01-20 2005-08-25 Ralf Kompe Haptic key controlled data input
US20060010395A1 (en) * 2004-07-09 2006-01-12 Antti Aaltonen Cute user interface
US20060020904A1 (en) * 2004-07-09 2006-01-26 Antti Aaltonen Stripe user interface
US20070173290A1 (en) * 2006-01-23 2007-07-26 Paavo Perttula Mobile communication terminal and method therefore
US20080091762A1 (en) * 2006-07-12 2008-04-17 Neuhauser Alan R Methods and systems for compliance confirmation and incentives
US20080201649A1 (en) * 2007-02-15 2008-08-21 Nokia Corporation Visualization of information associated with applications in user interfaces
US20090259973A1 (en) * 2008-04-10 2009-10-15 Gabriel Muresan DVD Menu Navigation With Reduced Input Button Count
US20110078631A1 (en) * 2009-09-30 2011-03-31 Kyocera Mita Corporation Display device, and image forming apparatus and electronic device loaded therewith
WO2011156172A3 (en) * 2010-06-11 2012-02-16 Microsoft Corporation Web application home button
US20120094723A1 (en) * 2002-12-10 2012-04-19 Neonode, Inc. User interface
US8226561B2 (en) 1999-08-20 2012-07-24 Zonare Medical Systems, Inc. Ultrasound imaging system
US8429546B2 (en) 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US9332363B2 (en) 2011-12-30 2016-05-03 The Nielsen Company (Us), Llc System and method for determining meter presence utilizing ambient fingerprints
US20180356951A1 (en) * 2015-07-20 2018-12-13 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
CN109769163A (en) * 2019-01-17 2019-05-17 安徽咪鼠科技有限公司 A kind of control method and its system of the Home key based on intelligent microphone
CN110955480A (en) * 2019-11-20 2020-04-03 北京金山安全软件有限公司 View display method and device

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6686931B1 (en) * 1997-06-13 2004-02-03 Motorola, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
AU9717798A (en) * 1998-01-13 1999-08-05 Sony Electronics Inc. System and method for enabling manipulation of graphic images to form a graphic image
US6583800B1 (en) * 1998-07-14 2003-06-24 Brad Ridgley Method and device for finding, collecting and acting upon units of information
US7559039B2 (en) * 1998-07-14 2009-07-07 Brad Ridgley Method and device for finding, collecting and acting upon units of information
US6832320B1 (en) * 1998-07-28 2004-12-14 Hewlett-Packard Development Company, L.P. Ownership tag on power-up screen
US6959425B1 (en) * 1999-12-15 2005-10-25 Sun Microsystems, Inc. System and method for managing a scalable list of items for display
US7137073B2 (en) 1999-12-18 2006-11-14 Lg Electronics Inc. Method for managing menu function in mobile station
US6557004B1 (en) * 2000-01-06 2003-04-29 Microsoft Corporation Method and apparatus for fast searching of hand-held contacts lists
JP3674453B2 (en) * 2000-04-14 2005-07-20 株式会社デンソー Interactive user interface device
US6950994B2 (en) * 2000-08-31 2005-09-27 Yahoo! Inc. Data list transmutation and input mapping
US7721210B2 (en) * 2000-11-29 2010-05-18 Nokia Corporation Electronic calendar system
US6765596B2 (en) * 2001-02-27 2004-07-20 International Business Machines Corporation Multi-functional application launcher with integrated status
US7123933B2 (en) * 2001-05-31 2006-10-17 Orative Corporation System and method for remote application management of a wireless device
US20020180798A1 (en) * 2001-05-31 2002-12-05 Poor Graham V. System and method for extending a wireless device platform to multiple applications
US7020457B2 (en) * 2001-05-31 2006-03-28 Orative Corporation System and method for proxy-enabling a wireless device to an existing IP-based service
EP1390837B1 (en) * 2001-05-31 2010-01-06 Empower Technologies, Inc. System and method of pen-based data input into a computing device
US20030130014A1 (en) * 2002-01-07 2003-07-10 Rucinski David B Reduced complexity user interface
US20030177349A1 (en) * 2002-03-15 2003-09-18 Kevin Hersh Systems and methods for authenticating a user for a computing device
US20030206197A1 (en) * 2002-05-06 2003-11-06 Mcinerney John Personal information management devices with persistent application information and methods
KR20040005505A (en) * 2002-07-10 2004-01-16 삼성전자주식회사 Computer system and method for controlling booting thereof
US6954862B2 (en) * 2002-08-27 2005-10-11 Michael Lawrence Serpa System and method for user authentication with enhanced passwords
US7124433B2 (en) * 2002-12-10 2006-10-17 International Business Machines Corporation Password that associates screen position information with sequentially entered characters
US20040250138A1 (en) * 2003-04-18 2004-12-09 Jonathan Schneider Graphical event-based password system
US20050015730A1 (en) * 2003-07-14 2005-01-20 Srimanth Gunturi Systems, methods and computer program products for identifying tab order sequence of graphically represented elements
US20060056626A1 (en) * 2004-09-16 2006-03-16 International Business Machines Corporation Method and system for selectively masking the display of data field values
CA2495445A1 (en) * 2005-01-29 2005-07-13 Hai Tao An arrangement and method of graphical password authentication
US8145912B2 (en) * 2005-03-01 2012-03-27 Qualcomm Incorporated System and method for using a visual password scheme
US7953983B2 (en) 2005-03-08 2011-05-31 Microsoft Corporation Image or pictographic based computer login systems and methods
US7907966B1 (en) * 2005-07-19 2011-03-15 Aol Inc. System and method for cross-platform applications on a wireless phone
US20070063968A1 (en) * 2005-09-20 2007-03-22 Bodil Veige Portable communication device
US7587684B2 (en) * 2006-01-23 2009-09-08 Nokia Corporation Mobile communication terminal and method therefore
US7266693B1 (en) * 2007-02-13 2007-09-04 U.S. Bancorp Licensing, Inc. Validated mutual authentication
KR101452704B1 (en) * 2007-02-14 2014-10-23 삼성전자주식회사 Method for setting up and authenticating password for a portable device having a plurality of buttons
US8347103B2 (en) * 2009-01-13 2013-01-01 Nic, Inc. System and method for authenticating a user using a graphical password
US20100269069A1 (en) * 2009-04-17 2010-10-21 Nokia Corporation Method and apparatus of associating and maintaining state information for applications
US8613047B2 (en) * 2009-04-21 2013-12-17 Yahoo! Inc. Interacting with internet servers without keyboard
US8458485B2 (en) 2009-06-17 2013-06-04 Microsoft Corporation Image-based unlock functionality on a computing device
US9933914B2 (en) * 2009-07-06 2018-04-03 Nokia Technologies Oy Method and apparatus of associating application state information with content and actions
US20110307831A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation User-Controlled Application Access to Resources
AU2011202415B1 (en) 2011-05-24 2012-04-12 Microsoft Technology Licensing, Llc Picture gesture authentication
US8881251B1 (en) * 2012-05-30 2014-11-04 RememberIN, Inc. Electronic authentication using pictures and images
US9021380B2 (en) * 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
CN109391545B (en) * 2017-08-08 2021-06-04 中国电信股份有限公司 System and method for discovering inter-domain link

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4806745A (en) * 1986-04-18 1989-02-21 Sharp Kabushiki Kaisha IC card with fewer input keys
JP3178531B2 (en) * 1988-11-15 2001-06-18 株式会社日立製作所 Menu presentation method and data processing device
US5199104A (en) * 1988-12-15 1993-03-30 Sony Corporation Electronic organizer with electronic book marker
US5251125A (en) * 1990-04-30 1993-10-05 Eaton Corporation User interface for a process control device
US5097506A (en) * 1990-05-18 1992-03-17 Compaq Computer Corporation Keyboard password lock
US5173940A (en) * 1991-06-21 1992-12-22 Compaq Computer Corporation Keyboard activated screen blanking
US5276314A (en) * 1992-04-03 1994-01-04 International Business Machines Corporation Identity verification system resistant to compromise by observation of its use
US5602981A (en) * 1992-10-21 1997-02-11 Microsoft Corporation Quickselect icon button on a computer display which redisplays the last view style activated by the icon button
TW299410B (en) * 1994-04-04 1997-03-01 At & T Corp
US5550968A (en) * 1994-04-12 1996-08-27 International Business Machines Corporation Method and system for providing access security to controls in a graphical user interface
US5825353A (en) 1995-04-18 1998-10-20 Will; Craig Alexander Control of miniature personal digital assistant using menu and thumbwheel
US5821933A (en) * 1995-09-14 1998-10-13 International Business Machines Corporation Visual access to restricted functions represented on a graphical user interface
US5774540A (en) * 1995-11-15 1998-06-30 Lucent Technologies Inc. Hierarchical menu screen interface for displaying and accessing telephone terminal features
US5877758A (en) * 1996-11-22 1999-03-02 Microsoft Corporation System and method for using a slider control for controlling parameters of a display item
US6202209B1 (en) * 1998-02-24 2001-03-13 Xircom, Inc. Personal information device and method for downloading reprogramming data from a computer to the personal information device via the PCMCIA port or through a docking station with baud rate conversion means

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8226561B2 (en) 1999-08-20 2012-07-24 Zonare Medical Systems, Inc. Ultrasound imaging system
US8764661B2 (en) 1999-08-20 2014-07-01 Zonare Medical Systems, Inc. Echolocation data generation
US8679018B2 (en) 1999-08-20 2014-03-25 Zonare Medical Systems, Inc. Broad-beam imaging
US20040138569A1 (en) * 1999-08-20 2004-07-15 Sorin Grunwald User interface for handheld imaging devices
US6733455B2 (en) 1999-08-20 2004-05-11 Zonare Medical Systems, Inc. System and method for adaptive clutter filtering in ultrasound color flow imaging
US20060116578A1 (en) * 1999-08-20 2006-06-01 Sorin Grunwald User interface for handheld imaging devices
US20060100520A1 (en) * 1999-08-20 2006-05-11 Mo Larry Y L Ultrasound system with iterative high pass filter selection
US7022075B2 (en) 1999-08-20 2006-04-04 Zonare Medical Systems, Inc. User interface for handheld imaging devices
US6708214B1 (en) * 2000-04-21 2004-03-16 Openwave Systems Inc. Hypermedia identifier input mode for a mobile communication device
US20020077921A1 (en) * 2000-12-15 2002-06-20 Paul-David Morrison Method and apparatus for an interactive catalog
US8812993B2 (en) * 2002-12-10 2014-08-19 Neonode Inc. User interface
US8650510B2 (en) 2002-12-10 2014-02-11 Neonode Inc. User interface
US20120094723A1 (en) * 2002-12-10 2012-04-19 Neonode, Inc. User interface
US20050184959A1 (en) * 2004-01-20 2005-08-25 Ralf Kompe Haptic key controlled data input
US7890862B2 (en) 2004-01-20 2011-02-15 Sony Deutschland Gmbh Haptic key controlled data input
US20060010395A1 (en) * 2004-07-09 2006-01-12 Antti Aaltonen Cute user interface
US20060020904A1 (en) * 2004-07-09 2006-01-26 Antti Aaltonen Stripe user interface
US20070173290A1 (en) * 2006-01-23 2007-07-26 Paavo Perttula Mobile communication terminal and method therefore
KR101032388B1 (en) * 2006-01-23 2011-05-03 노키아 코포레이션 Improved communication terminal and method therefor
US10387618B2 (en) 2006-07-12 2019-08-20 The Nielsen Company (Us), Llc Methods and systems for compliance confirmation and incentives
US11741431B2 (en) 2006-07-12 2023-08-29 The Nielsen Company (Us), Llc Methods and systems for compliance confirmation and incentives
US9489640B2 (en) 2006-07-12 2016-11-08 The Nielsen Company (Us), Llc Methods and systems for compliance confirmation and incentives
WO2008008913A3 (en) * 2006-07-12 2008-05-22 Arbitron Inc Monitoring usage of a portable user appliance
US20080091451A1 (en) * 2006-07-12 2008-04-17 Crystal Jack C Methods and systems for compliance confirmation and incentives
US20080091762A1 (en) * 2006-07-12 2008-04-17 Neuhauser Alan R Methods and systems for compliance confirmation and incentives
US20080201649A1 (en) * 2007-02-15 2008-08-21 Nokia Corporation Visualization of information associated with applications in user interfaces
US8713458B2 (en) 2007-02-15 2014-04-29 Nokia Corporation Visualization of information associated with applications in user interfaces
US8381132B2 (en) * 2008-04-10 2013-02-19 Philips & Lite-On Digital Solutions Corporation DVD menu navigation with reduced input button count
US20090259973A1 (en) * 2008-04-10 2009-10-15 Gabriel Muresan DVD Menu Navigation With Reduced Input Button Count
US9113015B2 (en) * 2009-09-30 2015-08-18 Kyocera Document Solutions Inc. Display device, and image forming apparatus and electronic device loaded therewith
US20110078631A1 (en) * 2009-09-30 2011-03-31 Kyocera Mita Corporation Display device, and image forming apparatus and electronic device loaded therewith
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US10140107B2 (en) 2010-06-11 2018-11-27 Microsoft Technology Licensing, Llc Dynamic web application notifications including task bar overlays
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US9021469B2 (en) 2010-06-11 2015-04-28 Microsoft Technology Licensing, Llc Web application pinning including task bar pinning
US9069636B2 (en) 2010-06-11 2015-06-30 Microsoft Technology Licensing, Llc Dynamic web application notifications including task bar overlays
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
US9164671B2 (en) 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
WO2011156172A3 (en) * 2010-06-11 2012-02-16 Microsoft Corporation Web application home button
US9367636B2 (en) 2010-06-11 2016-06-14 Microsoft Technology Licensing, Llc Web application home button
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US9588754B2 (en) 2010-06-11 2017-03-07 Microsoft Technology Licensing, Llc Dynamic web application notifications including task bar overlays
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8429546B2 (en) 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US9332363B2 (en) 2011-12-30 2016-05-03 The Nielsen Company (Us), Llc System and method for determining meter presence utilizing ambient fingerprints
US20180356951A1 (en) * 2015-07-20 2018-12-13 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
US10795551B2 (en) * 2015-07-20 2020-10-06 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
US11301118B2 (en) * 2015-07-20 2022-04-12 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
US20220221967A1 (en) * 2015-07-20 2022-07-14 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
US11681419B2 (en) * 2015-07-20 2023-06-20 Nowww.Us Pty Ltd. Method for disguising a computer system's login interface
CN109769163A (en) * 2019-01-17 2019-05-17 安徽咪鼠科技有限公司 A kind of control method and its system of the Home key based on intelligent microphone
CN110955480A (en) * 2019-11-20 2020-04-03 北京金山安全软件有限公司 View display method and device

Also Published As

Publication number Publication date
US6417874B2 (en) 2002-07-09
US6278453B1 (en) 2001-08-21

Similar Documents

Publication Publication Date Title
US6417874B2 (en) User interface methodology for microprocessor device having limited user input
US6686931B1 (en) Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6310634B1 (en) User interface methodology supporting light data entry for microprocessor device having limited user input
US6232970B1 (en) User interface methodology supporting light data entry for microprocessor device having limited user input
US20230281209A1 (en) User interface methods and systems for selecting and presenting content
US7133859B1 (en) Category specific sort and display instructions for an electronic device
US6208340B1 (en) Graphical user interface including a drop-down widget that permits a plurality of choices to be selected in response to a single selection of the drop-down widget
JP2549268B2 (en) List Items in Notebook Graphical User Interface
US20020126153A1 (en) Apparatus and method for navigating electronic files using an array display
US20030197736A1 (en) User interface for character entry using a minimum number of selection keys
US20040142720A1 (en) Graphical user interface features of a browser in a hand-held wireless communication device
US20070198930A1 (en) Methods, Systems and Computer Program Products for Controlling Tree Diagram Graphical User Interfaces and/or For Partially Collapsing Tree Diagrams
US20060161858A1 (en) Configuration mechanism for organization of addressing elements
US20080016456A1 (en) Method and system for providing docked-undocked application tabs
KR100425831B1 (en) Method of stroing data in a personal information terminal
US20040075693A1 (en) Compact method of navigating hierarchical menus on an electronic device having a small display screen
US20050235225A1 (en) Selectable commands for displaying user interface panels
EP2616908A2 (en) Methods of and systems for reducing keyboard data entry errors
EP1820030A1 (en) Method and apparatus for information retrieval
US20010005199A1 (en) Internet computer keyboard
US5796399A (en) Method and apparatus for presenting a data range for user selection of a value within the range via a graphical user interface
AU2020343932B2 (en) Task management through soft keyboard applications
US20060248446A1 (en) Method for displaying and navigating through data
JPH06110637A (en) Information processor with menu display function

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STARFISH SOFTWARE, INC.;REEL/FRAME:014692/0621

Effective date: 20030326

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: MOTOROLA MOBILITY, INC, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC;REEL/FRAME:025673/0558

Effective date: 20100731

AS Assignment

Owner name: MOTOROLA MOBILITY LLC, ILLINOIS

Free format text: CHANGE OF NAME;ASSIGNOR:MOTOROLA MOBILITY, INC.;REEL/FRAME:029216/0282

Effective date: 20120622

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:035378/0001

Effective date: 20141028