US6370518B1 - Method and apparatus for displaying a record from a structured database with minimum keystrokes - Google Patents

Method and apparatus for displaying a record from a structured database with minimum keystrokes Download PDF

Info

Publication number
US6370518B1
US6370518B1 US09/166,822 US16682298A US6370518B1 US 6370518 B1 US6370518 B1 US 6370518B1 US 16682298 A US16682298 A US 16682298A US 6370518 B1 US6370518 B1 US 6370518B1
Authority
US
United States
Prior art keywords
indexes
characters
recited
screen
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.)
Expired - Lifetime
Application number
US09/166,822
Inventor
Craig Payne
Andrew L. Laursen
Jonathan M. Wulff
Alain S. Rossmann
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 LLC
Original Assignee
Openwave Systems Inc
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
Assigned to UNWIRED PLANET, INC. reassignment UNWIRED PLANET, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WULFF, JONATHAN M., LAURSEN, ANDREW L., PAYNE, CRAIG, ROSSMANN, ALAIN S.
Priority to US09/166,822 priority Critical patent/US6370518B1/en
Application filed by Openwave Systems Inc filed Critical Openwave Systems Inc
Assigned to PHONE.COM, INC. reassignment PHONE.COM, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: UNWIRED PLANET, INC.
Assigned to OPENWAVE SYSTEMS INC. reassignment OPENWAVE SYSTEMS INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: PHONE.COM, INC.
Priority to US10/066,053 priority patent/US20020087514A1/en
Publication of US6370518B1 publication Critical patent/US6370518B1/en
Application granted granted Critical
Assigned to PURPLE LABS S.A. reassignment PURPLE LABS S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OPENWAVE SYSTEMS INC.
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MYRIAD FRANCE SAS
Assigned to MYRIAD FRANCE, SAS reassignment MYRIAD FRANCE, SAS MERGER (SEE DOCUMENT FOR DETAILS). Assignors: PURPLE LABS SA
Assigned to GOOGLE LLC reassignment GOOGLE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/27467Methods of retrieving data
    • H04M1/2748Methods of retrieving data by matching character strings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Definitions

  • the present invention relates generally to the display of information on small display screens, and in particular to a method and apparatus for retrieving and displaying records on a small display screen.
  • a structured information database is usually represented by a long list of ordered data or records. More often, it is represented by a list of indexes, each indexing one of the records.
  • a string of characters representing at least a portion of the index must be supplied.
  • a lookup process based on a matching scheme is then followed to retrieve all records identified by the string of characters.
  • the string of characters is supplied through a full-size functional keyboard, such as a computer keyboard, and then those records with indexes that match the string of characters are retrieved and presented to a user. Thereafter, the user can decide whether to refine or alter the input string of characters to improve the lookup process.
  • a common input interface for a telephone uses a numeric-based keypad such as shown in FIG. 1 .
  • the keypad comprises twelve keys or buttons representing “0 to 9”, “*” and “#” keys.
  • each numeric key is commonly assigned to represent certain alphabetical characters as follows:
  • FIG. 2A illustrates a display screen 200 conventionally used to retrieve and display a record from a database.
  • Screen 200 typically provides an entry area 202 in which a user can type in an index or query at cursor position 204 .
  • FIG. 2B shows that a query “bakers” 206 has been typed in the entry area 202 to retrieve all records having the string “bakers”.
  • FIG. 2C shows a full record 208 having a string that matches with the query for “bakers” 206 .
  • This method which for example is commonly seen in libraries, requires a multiple-character query input and is well suited to a system with a full-size input interface such as a computer keyboard. Often, the more detailed the query that is provided, the better the matched records that are retrieved and displayed.
  • the present invention has been made in consideration of the above described problems and needs and has particular applications to portable devices with a small screen and limited input interface.
  • the portable devices may include, but are not limited to, mobile computing devices, cellular phones, palm-sized computer devices, personal digital assistant devices and Internet-capable appliance remote controllers. According to the invention, users are able to interact with the screen and input interface of these mobile devices to obtain pertinent information with a reduced number of keystrokes or button selections.
  • the present invention pertains to an improved query input technique in which a user supplies a relatively few character-based query entries and is able to retrieve and display at least as portion of a record from a structured database. For every character the user enters, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record.
  • Various visual feedback indicators can also be displayed for the benefit of the user. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with a reduced number of keystrokes.
  • a user supplies a few character-based queries to retrieve and display a record from a structured database. For every alphabetical character the user enters from a numerical keypad, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record.
  • the zoom window maintains a display of an index and at least one field of a record. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with minimum keystrokes.
  • the present invention is a method for displaying a record from a structured database on a display screen of an electronic device having a reduced-size input interface.
  • the structured database includes a plurality of records, and the records include at least one field and are indexed by indexes comprising n characters.
  • the method includes the acts of: displaying on the display screen a portion of indexes from the structured database; receiving successively n symbols from the input interface, the n symbols sequentially and respectively corresponding to the n characters of a desired index of the indexes for the records of the structured database, each of the symbols representing a group of characters one of which corresponds to the associated n th character of the desired index; and displaying on the display screen a reduced portion of the indexes, including the desired index, from the structured database, the reduced portion displays those of the indexes where each of the n characters in the indexes is respectively matched by one of the characters of the group of characters represented by the each of the symbols.
  • the present invention is a method for displaying a record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the method includes the acts of: displaying on the screen a portion of indexes from the structured database; receiving a first symbol if the desired index is not among the indexes being displayed in the screen; the first symbol representing a first group of characters one of which is a first character in the string of characters of the desired index; and indicating the desired index with a cursor when the desired index is among the indexes being displayed in the screen and the cursor is scrolled to the desired index.
  • the cursor is a zoom window that surrounds the desired index.
  • the zoom window may further display one field of information of the record to facilitate the display of a piece of pertinent information in the record.
  • the present invention is an apparatus for displaying a desired record from a structured database on a screen, the record including at least one field and indexed by a predefined index comprising a string of characters
  • the device includes: a screen driver commanding the screen; an input interface; a memory for storing code for an application module; and a processor coupled to the memory, the input interface and the screen driver.
  • the processor executes the code in the memory to cause the application module to drive the screen driver to: display on the screen a portion of indexes from the structured database; position a zoom window on one of indexes being displayed on the screen, where the zoom window displays the one of indexes along with a field of a record indexed by the one of indexes; and move the zoom window to the desired index when a navigation key is being activated and the desired index is among the indexes being displayed in the screen, where the zoom window displays the desired index and the at least one field of the desired record.
  • the present invention is a computer readable medium including computer program code for displaying a record from a database on a display screen of an electronic device having a reduced-size input interface.
  • the database includes a plurality of records, and the records include at least one field and are indexed by indexes of alphanumeric characters.
  • the computer readable medium including: computer program code for receiving a first symbol from the input interface, the first symbol pertaining to a first group of alphanumeric characters, and the first alphanumeric character of a desired index of the indexes for the database being one of the alphanumeric character of the first group; computer program code for retrieving a first list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group; computer program code for displaying on the display screen at least a portion of the retrieved first list of the indexes, the desired index being one of the indexes; computer program code for receiving a second symbol from the input interface, the second symbol pertaining to a second group of alphanumeric characters, and the second alphanumeric character of the desired index of the indexes for the database being one of the alphanumeric character of the second group; computer program code for retrieving a second list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of
  • one of the objects in the present invention is to provide a generic solution to displaying a record on a small screen from a structured database with minimum keystrokes on a limited input interface.
  • FIG. 1 illustrates one commonly used phone keypad
  • FIGS. 2A to 2 C illustrate a set of screen displays commonly seen to retrieve and display a desired record
  • FIGS. 3A to 3 H illustrate a sequence of screen displays with respect to processes in one embodiment of the present invention
  • FIG. 4 illustrates an exemplary record used in the description of the present invention
  • FIG. 5 demonstrates an inherent process with respect to entries provided by a user through an input interface
  • FIG. 6 shows an internal functional block diagram of a portable device in which the present invention may be practiced.
  • FIG. 7 illustrates a flowchart diagram in the present invention according to one embodiment.
  • the detailed description of the present invention in the following is presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that resemble of data processing devices including mobile phones, two-way pages, telephones and remote controllers. These process descriptions and representations are the means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art.
  • the present invention is a method for using a small screen and a reduced number of keystrokes or button presses to identify a record from a structured database.
  • the method along with an apparatus to implement the method to be described in detail below is a sequence of processes or steps leading to a desired result. These steps or processes are those requiring physical manipulations of physical quantities.
  • these quantities may take the form of electrical signals capable of being stored, transferred, combined, compared, displayed and otherwise manipulated in a computer system or electronic computing devices. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, operations, messages, terms, numbers, or the like. It should be borne in mind that all of these similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • index lookup process In view of the index lookup process, prior art solutions for displaying a record from a structured database have attempted to enable a user to adapt to the information being structured and to retrieve the information in a way that the lookup process works.
  • the index lookup process is capable of providing a successful way for looking up a desired string throughout a structured database and often used in systems with a full functional keyboard.
  • the lookup process can be used in conjunction with the visual feedback provided in the display screen so as to facilitate an efficient retrieval of pertinent information from a database with minimum (or at least a reduced number) keystrokes.
  • FIGS. 3A to 3 E illustrate a sequence of screens to demonstrate the retrieval of a desired record using minimum key strokes from a structured database in conjunction with the visual feedback.
  • the structured database means that all the records in the database are sorted with respect to the indexes in either an ascending or descending order.
  • each of the records in the database has a first name and a last name, limited number of fields, such as first field, a second field, etc.
  • FIG. 4 shows an exemplary record 400 in which last name 402 is used as an index of record 400 . To retrieve the record, at least a portion of the index must be supplied.
  • First field 404 is a work phone number
  • second field 406 is a home phone number
  • third field 408 is an email address
  • fourth field 410 is a home address. It should be pointed out that any of the fields could be used as the index of record 400 and none of the fields have to have information therein. Traditionally, a name, particularly the last name, is used as an index when the structured database is associated with an address book.
  • the structured database in the following example is a collection of address information that is sorted in an ascending order. Each record of the address information is indexed with a last name.
  • the present invention is not limited to this particularity and can be applied equally well to other databases.
  • screen 310 is intended to display the indexes of all records in the structured database. Because of the limited size of screen 310 , only a first portion of the indexes can be displayed.
  • indicator or zoom window 311 pre-selects a first index “Abramowitz” 318 and zooms in to provide one field information 319 .
  • Zoom window 311 allows a user to quickly glance at some commonly referred information, such as a work phone number or a home phone, when being placed on a chosen index.
  • zoom window 311 shows an initially chosen index 318 along with a field 319 of the record. This leaves a visual impression to a user that zoom window 311 is scrollable so as to allow scrolling to an index of interest.
  • zoom window 311 displays more than just an index.
  • the number of fields as well as which one or more fields of the associated record are caused to be displayed upon selecting one of the indexes does not affect the operation of the invention and largely depends on the actual implementation preference.
  • zoom window 311 may be chosen to display chosen index 318 and two fields, for example, a full name, a work phone number and a home phone number. Nevertheless, the number of the fields caused to be displayed in zoom window 311 determines the available space to display the rest of the indexes in screen 310 .
  • total index number 314 as well as match (or chosen) index number 316 are preferably displayed of the screen 310 .
  • the total index number 314 and the match index number 316 can be displayed in one of the corners of the screen 310 .
  • Total index number 314 indicates the number of records in the database and the matched index number 316 tells the number of indexes that match an input query by the user. Since the user has not made any query, match index number 316 is optionally set to total index number 314 (see FIG. 3 A). It should be pointed out that the display of total index number 314 and match index number 316 are not necessarily required to practice the present invention, however, they provide the user some knowledge about the database and help the user to determine if a refined query is necessary.
  • index number 316 now indicates the number of indexes that match the numeric key “2” which is equivalent to the query “a”, “b” and “c”.
  • the zoom window 311 pre-selects the first index in the list of indexes displayed on the screen 310 .
  • the first character 317 in the indexes can also be highlighted to provide the visual feedback to the user how many characters have been entered.
  • the characters may not be able to be highlighted.
  • an indicator for example, a asterisk (“*”) may be displayed on the screen 310 to indicate that a character has been entered.
  • One asterisk can be provided for each character of the query input that has been entered.
  • FIG. 3C shows a possible screen 310 in which one asterisk “*” 340 is displayed, meaning that one query input has been entered.
  • an arrow sign 315 can also be provided on the screen 310 to provide additional feedback to the user (see FIG. 3 C).
  • the arrow sign 315 indicates that a current list of indexes is not completely displayed and that there are more indexes which could be displayed if a cursor or zoom window 311 is moved in the direction indicated by the arrow sign 315 .
  • the arrow sign 315 shown in FIG. 3C is one example of a suitable graphic symbol that can be displayed to provide this feedback to the user. However, other graphic symbols having a different appearance can also be used to inform the user that there are more indexes in the list that are not able to be displayed.
  • numeric key “2” was the symbolic key that was entered and thus results in the equivalence of “a”, “b” and “c”.
  • the query results being displayed after entering the numeric key “2” are those indexes that have their initial character beginning with “a”, “b” or “c”.
  • the matched (or chosen) index number 316 then informs the number of indexes (e.g., 15) satisfying the entry.
  • matched index number 316 now indicates the number of the matched indexes is 7, which means that there are seven indexes that have the first character being “a”, “b” or “c” and have the second character being “a”, “b” or “c”. Again the first and second characters in the indexes are optionally highlighted to provide the visual feedback to the user how many characters have been entered. Alternatively, two asterisks can be displayed indicating that two characters of query input have been entered.
  • the user determines if there is any need to provide a further refinements to the query.
  • the user repositions or scrolls zoom window 311 downward to the desired index by a special key (as a navigation key) if the desired index becomes visible in the screen regardless how many are in the chosen indexes.
  • screen 310 does include the desired index “Bakers”, so the user may scroll zoom window 311 downward to the desired index “Bakers” as shown in FIG. 3 E.
  • zoom window 311 displays the desired index along with a field.
  • the zoom window 311 can display one or more fields of the record associated with the desired index.
  • the zoom window 311 displays the desired index and the work phone number. If the user desires to view the whole record, a predefined key can be pressed to display the full record as shown in FIG. 3 F.
  • FIG. 3G shows that the screen 310 now displays only two indexes 316 following the input of the numeric key “5” for a third character.
  • the resulting combined query input then retrieves those indexes that start with the first character being “a”, “b” or “c”, the second character being “a”, “b” or “c”, and the third character being “j”, “k” or “l”, and thus satisfy the entries of the numeric keys “1”, “1” and “5”.
  • the user can then scroll the scroll zoom window 311 downward by one index to select the desired index and explore the record if desired.
  • a search progression graphic or indicator may be displayed on display screen 310 to provide feedback to the user.
  • the search progression graphic or indicator can take a variety of different appearances and forms, but serves to inform the user how well the query or refinements to the query are proceeding with each input of the query.
  • the search progression graphic or indicator is displayed as a narrow-down sign that is structured by several rectangular bars in different heights. Each bar indicates a list of chosen indexes corresponding to each character entered and the height of the bar graphically correlates to the number of matched indexes. Generally, the number of matched indexes becomes progressively smaller for every entered character, the heights of the bars are shortened accordingly.
  • narrow-down sign 320 in FIG. 3G shows that three entries have been entered and the number of matched indexes is decreasing. It indicates to the user that the query (lookup) process per each entry is successfully proceeding, and that the number of matched indexes has been narrowed down. In other words, if the user enters a character that none of the remaining indexes can match, then narrow-down sign 320 remains unchanged, indicating an invalid or void entry.
  • FIG. 3H demonstrates a display resulting from an entry after three successful keystrokes.
  • the user enters the numeric key “8” as corresponding to the character “t”. It can be seen that none of the two left indexes in FIG. 3G can be matched to the equivalent entries “t”, “u” and “v”. Thus zoom window 311 has no matched record to display and sign 340 remains unchanged.
  • the user's entry of “t” would be an error because the fourth character of the desired index is “e”, which should have cause the user to enter the numeric key “3”.
  • the user may undo the latest entry by activating a predefined key to return to a previous screen or start the query processing all over.
  • FIG. 5 illustrates a look-up process working in concert with each of the entries described above and should be understood in conjunction with FIGS. 3A to 3 G.
  • the look-up process may be implemented with reference to the indexed sequential search or binary search, which are well known to those skilled in the art.
  • the look-up process proceeds with a query 510 equivalent to three entries “a”, “b” or “c” and returns all indexes starting with “a”, “b” or “c”.
  • the look-up process proceeds with a query 520 equivalent to nine entries “aa”, “ab”, “ac”, “ba”, “bb”, “bc”, “ca”, “cb” or “cc” and returns all indexes starting with “aa”, “ab”, “ac”, “ba”, “bb”, “bc”, “ca”, “cb” or “cc”.
  • the purpose of the keystroke is to bring the desired index into the screen so that a user visually knows where to scroll the zoom window. If the desired index is still not shown in the screen, then an additional keystroke “5” is entered, which causes the look-up process to return all indexes starting with the following string:
  • the number of combinations of the queries is increased with any additional keystroke entries.
  • the number of the indexes that match any of the queries is substantially decreased because the match is much more restrictive. Therefore, the number of the matched indexes returned by the look-up process is substantially decreased with any additional keystroke entries, which eventually brings the desired index to the screen with only a few keystrokes.
  • FIG. 6 illustrates an internal functional block diagram of a portable device 600 in which the present invention may be practiced.
  • Portable device 600 may include, but not be limited to a cellular phone, a two-way pager, a palm-sized computing device, and a personal digital assistant.
  • the portable device 600 also has a small screen 602 (i.e., reduced-size screen) that may be a LCD screen.
  • Screen 602 is communicated with and commanded by a screen driver 604 that is controlled by a microcontroller (processor) 606 .
  • Memory 610 includes a compiled and linked version of one implementation of the present invention as an application module 612 .
  • microcontroller 606 executes application module 612
  • screen driver 604 is caused to generate control signals to drive screen 602 to display according to application module 612 .
  • a structured database 614 is loaded in memory 610 that further includes code for a lookup process 616 .
  • application module 612 and lookup process 616 are executed on microcontroller 606 .
  • Input interface 630 coupled to and controlled by microcontroller 606 receives inputs (queries) from a user.
  • Screens in FIGS. 3A to 3 H are some of the examples that may be displayed by screen driver 602 according to application module 612 in conjunction with lookup process 616 and queries.
  • input interface 630 may be a phone keypad. It should be pointed out that a regular phone keypad is not the only input interface that can practice the present invention. Some of portable devices sometimes have no physical keys at all, such as those palm-size computing devices that, however, use soft keys or icons as an input means for users to interact with the devices. In the above description, unless otherwise specifically described, it is clear that keys or buttons are generally referred to as either the physical keys or soft keys.
  • FIG. 7 illustrates a process flowchart of the present invention according to one embodiment and shall be understood in conjunction with FIG. 6 .
  • a portable device is powered on or the lookup process is activated.
  • a first portion of indexes from the database is displayed on the screen and a counter is set to zero at 710 .
  • the counter records the number of the character entries and can be used to indicate to a user how many characters have been entered.
  • the user determines if a desired index is among the indexes being displayed.
  • the desired index is not displayed, the user enters a character query at 730 .
  • the counter is incremented by one every time the user enters a character query at 740 .
  • the look-up process proceeds at 750 with the entered character and returns to 720 all indexes that have the entered character at the corresponding character location. If the look-up process fails to identify any index in the database that matches the entered character and all precedent characters, an error message is displayed at 780 .
  • the processing returns to block 720 where the matching indexes are display on the screen 602 .
  • the user can scroll the zoom window to the desired index in a known direction at 760 .
  • the zoom window displays an index and preferably a field of a record when the zoom widow is being scrolled over from one index to another (adjoining indexes) until reaching the desired index.
  • the zoom window displays an index and one or more associated fields whenever it is placed upon the index.
  • a full record indexed by the desired index can be displayed if a predefined key is activated.
  • the user can enter another character to refine the query at 730 .
  • the counter is then incremented by one at 740 .
  • the look-up process proceeds at 750 with the entered character and returns to 720 all indexes that have the entered character as well as all previously entered characters in their respective character positions of the indexes.

Abstract

An improved query input technique is disclosed in which a user supplies a few character-based queries and is able to retrieve and display at least as portion of a record from a structured database. For every character the user enters, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record. Various visual feedback indicators can also be displayed for the benefit of the user. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with a reduced number keystrokes.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to the display of information on small display screens, and in particular to a method and apparatus for retrieving and displaying records on a small display screen.
2. Description of Related Art
A structured information database is usually represented by a long list of ordered data or records. More often, it is represented by a list of indexes, each indexing one of the records. In order to locate a certain record identified by an index from the database, a string of characters representing at least a portion of the index must be supplied. A lookup process based on a matching scheme is then followed to retrieve all records identified by the string of characters. In many applications, the string of characters is supplied through a full-size functional keyboard, such as a computer keyboard, and then those records with indexes that match the string of characters are retrieved and presented to a user. Thereafter, the user can decide whether to refine or alter the input string of characters to improve the lookup process.
In certain applications such as automatic telephone response systems, however, there are no functional keyboards. A common input interface for a telephone uses a numeric-based keypad such as shown in FIG. 1. The keypad comprises twelve keys or buttons representing “0 to 9”, “*” and “#” keys. To facilitate the input of characters, each numeric key is commonly assigned to represent certain alphabetical characters as follows:
“1” key is assigned for a special use;
“2” key is for “A”, “B” or “C”
“3” key is for “D”, “E” or “F”;
“4” key is for “G”, “H” or “I”;
“5” key is for “J”, “K” or “L”;
“6” key is for “M”, “N” or “O”;
“7” key is for “P”, “Q”, “R” or “S”;
“8” key is for “T”, “U” or “V” and;
“9” key is for “W”, “X”, “Y” or “Z”.
The “*” key and “#” key are also assigned for other special uses.
Conventionally, there are a few different ways to specify a particular character by pressing the numeric keys. For instance, press “2” for “A”, “22” for “B”, “222” for “C”, or “7777” for “S”, followed by a character-break flag after each character entry. Typically, the “#” key entry or a pause is used as the character-break flag in some applications. Another way to specify a character using the numeric keys is the use of the ticker symbols, namely, exactly two numeric keys for each character. The first key indicates a group of characters in which a desired character is in. The second key points out the position of the character in the group. For example, press “2” and “1” keys for “A”, “2” and “2” for “B”, “2” and “3” for “C” or “7” and “4” for “S”.
FIG. 2A illustrates a display screen 200 conventionally used to retrieve and display a record from a database. Screen 200 typically provides an entry area 202 in which a user can type in an index or query at cursor position 204. FIG. 2B shows that a query “bakers” 206 has been typed in the entry area 202 to retrieve all records having the string “bakers”. After a predefined keystroke which initiates the search, FIG. 2C shows a full record 208 having a string that matches with the query for “bakers” 206. This method, which for example is commonly seen in libraries, requires a multiple-character query input and is well suited to a system with a full-size input interface such as a computer keyboard. Often, the more detailed the query that is provided, the better the matched records that are retrieved and displayed.
Many portable devices, however, are equipped with only a reduced-size input interface such as phone keypad or some displayed soft keys. Using a phone keypad to type in a detailed query can be laborious and impractical. For example, to retrieve the full record indexed by “bakers” in FIGS. 2A to 2C, the first key-in method would require a keystroke sequence of “22#2#55#33#777#7777#” and the second method would require a keystroke sequence of “222152327374”, both demanding over ten keystrokes in the phone keypad. For devices, such as a cellular phone or a two-way page, equipped with a small screen, the above conventional query methods are often workable but neither convenient nor efficient.
There is therefore a need for an improved input query technique that is well suited for devices with small screens and a limited input interface.
SUMMARY OF THE INVENTION
The present invention has been made in consideration of the above described problems and needs and has particular applications to portable devices with a small screen and limited input interface. The portable devices may include, but are not limited to, mobile computing devices, cellular phones, palm-sized computer devices, personal digital assistant devices and Internet-capable appliance remote controllers. According to the invention, users are able to interact with the screen and input interface of these mobile devices to obtain pertinent information with a reduced number of keystrokes or button selections.
The present invention pertains to an improved query input technique in which a user supplies a relatively few character-based query entries and is able to retrieve and display at least as portion of a record from a structured database. For every character the user enters, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record. Various visual feedback indicators can also be displayed for the benefit of the user. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with a reduced number of keystrokes.
According to one aspect of the present invention, a user supplies a few character-based queries to retrieve and display a record from a structured database. For every alphabetical character the user enters from a numerical keypad, a progressively reduced list of indexes that start with the entered characters is displayed. When a desired index identifying the record is among those indexes being displayed, the user may cease the character entry and scroll a zoom window upon the desired index to explore the full record. According to another aspect of the present invention, the zoom window maintains a display of an index and at least one field of a record. Consequently, the user can access and display pertinent information of a certain record from a database quickly and efficiently with minimum keystrokes.
According to one embodiment, the present invention is a method for displaying a record from a structured database on a display screen of an electronic device having a reduced-size input interface. The structured database includes a plurality of records, and the records include at least one field and are indexed by indexes comprising n characters. The method includes the acts of: displaying on the display screen a portion of indexes from the structured database; receiving successively n symbols from the input interface, the n symbols sequentially and respectively corresponding to the n characters of a desired index of the indexes for the records of the structured database, each of the symbols representing a group of characters one of which corresponds to the associated nth character of the desired index; and displaying on the display screen a reduced portion of the indexes, including the desired index, from the structured database, the reduced portion displays those of the indexes where each of the n characters in the indexes is respectively matched by one of the characters of the group of characters represented by the each of the symbols.
According to another embodiment, the present invention is a method for displaying a record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the method includes the acts of: displaying on the screen a portion of indexes from the structured database; receiving a first symbol if the desired index is not among the indexes being displayed in the screen; the first symbol representing a first group of characters one of which is a first character in the string of characters of the desired index; and indicating the desired index with a cursor when the desired index is among the indexes being displayed in the screen and the cursor is scrolled to the desired index.
In one preferred embodiment, the cursor is a zoom window that surrounds the desired index. The zoom window may further display one field of information of the record to facilitate the display of a piece of pertinent information in the record.
According to yet another embodiment, the present invention is an apparatus for displaying a desired record from a structured database on a screen, the record including at least one field and indexed by a predefined index comprising a string of characters, the device includes: a screen driver commanding the screen; an input interface; a memory for storing code for an application module; and a processor coupled to the memory, the input interface and the screen driver. The processor executes the code in the memory to cause the application module to drive the screen driver to: display on the screen a portion of indexes from the structured database; position a zoom window on one of indexes being displayed on the screen, where the zoom window displays the one of indexes along with a field of a record indexed by the one of indexes; and move the zoom window to the desired index when a navigation key is being activated and the desired index is among the indexes being displayed in the screen, where the zoom window displays the desired index and the at least one field of the desired record.
According to still another embodiment of the invention, the present invention is a computer readable medium including computer program code for displaying a record from a database on a display screen of an electronic device having a reduced-size input interface. The database includes a plurality of records, and the records include at least one field and are indexed by indexes of alphanumeric characters. The computer readable medium including: computer program code for receiving a first symbol from the input interface, the first symbol pertaining to a first group of alphanumeric characters, and the first alphanumeric character of a desired index of the indexes for the database being one of the alphanumeric character of the first group; computer program code for retrieving a first list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group; computer program code for displaying on the display screen at least a portion of the retrieved first list of the indexes, the desired index being one of the indexes; computer program code for receiving a second symbol from the input interface, the second symbol pertaining to a second group of alphanumeric characters, and the second alphanumeric character of the desired index of the indexes for the database being one of the alphanumeric character of the second group; computer program code for retrieving a second list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group and their second alphanumeric character matches one of the alphanumeric characters of the second group; and computer program code for displaying on the display screen at least a portion of the retrieved second list of the indexes, the desired index being one of the indexes.
Accordingly, one of the objects in the present invention is to provide a generic solution to displaying a record on a small screen from a structured database with minimum keystrokes on a limited input interface.
Other objects, together with the foregoing are attained in the exercise of the invention in the following description and resulting in the embodiment illustrated in the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings, in which:
FIG. 1 illustrates one commonly used phone keypad;
FIGS. 2A to 2C illustrate a set of screen displays commonly seen to retrieve and display a desired record;
FIGS. 3A to 3H illustrate a sequence of screen displays with respect to processes in one embodiment of the present invention;
FIG. 4 illustrates an exemplary record used in the description of the present invention;
FIG. 5 demonstrates an inherent process with respect to entries provided by a user through an input interface;
FIG. 6 shows an internal functional block diagram of a portable device in which the present invention may be practiced; and
FIG. 7 illustrates a flowchart diagram in the present invention according to one embodiment.
DETAILED DESCRIPTION OF THIS INVENTION Notation and Nomenclature
In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will become obvious to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of present invention.
The detailed description of the present invention in the following is presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that resemble of data processing devices including mobile phones, two-way pages, telephones and remote controllers. These process descriptions and representations are the means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. The present invention is a method for using a small screen and a reduced number of keystrokes or button presses to identify a record from a structured database. The method along with an apparatus to implement the method to be described in detail below is a sequence of processes or steps leading to a desired result. These steps or processes are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities may take the form of electrical signals capable of being stored, transferred, combined, compared, displayed and otherwise manipulated in a computer system or electronic computing devices. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, operations, messages, terms, numbers, or the like. It should be borne in mind that all of these similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following description, it is appreciated that throughout the present invention, discussions utilizing terms such as “processing” or “computing” or “verifying” or “displaying” or the like, refer to the actions and processes of a computing device that manipulates and transforms data represented as physical quantities within the computing device's registers and memories into other data similarly represented as physical quantities within the computing device or other electronic devices.
The Preferred Embodiments
In view of the index lookup process, prior art solutions for displaying a record from a structured database have attempted to enable a user to adapt to the information being structured and to retrieve the information in a way that the lookup process works. The index lookup process is capable of providing a successful way for looking up a desired string throughout a structured database and often used in systems with a full functional keyboard. When a portable device is not equipped with a full functional keyboard but has a display screen therein and a limited set or keys or buttons, the lookup process can be used in conjunction with the visual feedback provided in the display screen so as to facilitate an efficient retrieval of pertinent information from a database with minimum (or at least a reduced number) keystrokes.
Thus, it is desirable to have a solution that provides an easy and fast key entry method for displaying a desired record from a structured database on a display screen. Obviously, this solution can be advantageously used on small portable devices with screens that may include cellular phones, two-way pagers, palm-sized computers, personal digital assistants and remote control devices.
According to the principles of this invention, FIGS. 3A to 3E illustrate a sequence of screens to demonstrate the retrieval of a desired record using minimum key strokes from a structured database in conjunction with the visual feedback. As used herein, the structured database means that all the records in the database are sorted with respect to the indexes in either an ascending or descending order. According to one specific database, each of the records in the database has a first name and a last name, limited number of fields, such as first field, a second field, etc. FIG. 4 shows an exemplary record 400 in which last name 402 is used as an index of record 400. To retrieve the record, at least a portion of the index must be supplied. First field 404 is a work phone number, second field 406 is a home phone number, third field 408 is an email address and fourth field 410 is a home address. It should be pointed out that any of the fields could be used as the index of record 400 and none of the fields have to have information therein. Traditionally, a name, particularly the last name, is used as an index when the structured database is associated with an address book.
To facilitate the description of the present invention, the structured database in the following example is a collection of address information that is sorted in an ascending order. Each record of the address information is indexed with a last name. As will be appreciated by those skilled in the art, the present invention is not limited to this particularity and can be applied equally well to other databases.
Returning now to FIG. 3A, screen 310 is intended to display the indexes of all records in the structured database. Because of the limited size of screen 310, only a first portion of the indexes can be displayed. Optionally, indicator or zoom window 311, pre-selects a first index “Abramowitz” 318 and zooms in to provide one field information 319. Zoom window 311 allows a user to quickly glance at some commonly referred information, such as a work phone number or a home phone, when being placed on a chosen index.
According to one embodiment, zoom window 311 shows an initially chosen index 318 along with a field 319 of the record. This leaves a visual impression to a user that zoom window 311 is scrollable so as to allow scrolling to an index of interest. Preferably, zoom window 311 displays more than just an index. The number of fields as well as which one or more fields of the associated record are caused to be displayed upon selecting one of the indexes, however, does not affect the operation of the invention and largely depends on the actual implementation preference. For example, zoom window 311 may be chosen to display chosen index 318 and two fields, for example, a full name, a work phone number and a home phone number. Nevertheless, the number of the fields caused to be displayed in zoom window 311 determines the available space to display the rest of the indexes in screen 310.
To provide more visual feedback to the user, total index number 314 as well as match (or chosen) index number 316 are preferably displayed of the screen 310. For example, the total index number 314 and the match index number 316 can be displayed in one of the corners of the screen 310. Total index number 314 indicates the number of records in the database and the matched index number 316 tells the number of indexes that match an input query by the user. Since the user has not made any query, match index number 316 is optionally set to total index number 314 (see FIG. 3A). It should be pointed out that the display of total index number 314 and match index number 316 are not necessarily required to practice the present invention, however, they provide the user some knowledge about the database and help the user to determine if a refined query is necessary.
In the following representative example, it is assumed that the user wants to view a record indexed by a last name “Bakers”. Since the displayed indexes in screen 310 does not include “Bakers”, so the user proceeds with a first query using a phone keypad. The phone keypad is, for example, such as shown in FIG. 1. However, other reduced size input interfaces with keys or buttons can also be used. Since the desired index starts with a character “b”, a numeric key “2” is initially pressed. The numeric key “2” in a phone keypad means “a”, “b” and “c”. In response to the first key entry, FIG. 3B shows that all indexes started with “a”, “b” or “c” are chosen and the first portion of the chosen indexes can be displayed on the screen 310. As shown in FIG. 3B, match index number 316 now indicates the number of indexes that match the numeric key “2” which is equivalent to the query “a”, “b” and “c”. In other words, any of the indexes of the structured database having a first character that begins with an “a”, “b” or “c” is displayed on the screen 310. Optionally, the zoom window 311 pre-selects the first index in the list of indexes displayed on the screen 310.
Further, the first character 317 in the indexes can also be highlighted to provide the visual feedback to the user how many characters have been entered. In some display screens, the characters may not be able to be highlighted. Alternatively, an indicator, for example, a asterisk (“*”) may be displayed on the screen 310 to indicate that a character has been entered. One asterisk can be provided for each character of the query input that has been entered. FIG. 3C shows a possible screen 310 in which one asterisk “*” 340 is displayed, meaning that one query input has been entered.
Still further, an arrow sign 315 can also be provided on the screen 310 to provide additional feedback to the user (see FIG. 3C). The arrow sign 315 indicates that a current list of indexes is not completely displayed and that there are more indexes which could be displayed if a cursor or zoom window 311 is moved in the direction indicated by the arrow sign 315. The arrow sign 315 shown in FIG. 3C is one example of a suitable graphic symbol that can be displayed to provide this feedback to the user. However, other graphic symbols having a different appearance can also be used to inform the user that there are more indexes in the list that are not able to be displayed.
It may be noticed that one of the distinctions in the present invention from the prior art systems is that the user is constantly and visually informed of those of the indexes that match the input query. In this example, “b” was originally intended, but numeric key “2” was the symbolic key that was entered and thus results in the equivalence of “a”, “b” and “c”. As such, the query results being displayed after entering the numeric key “2” are those indexes that have their initial character beginning with “a”, “b” or “c”. The matched (or chosen) index number 316 then informs the number of indexes (e.g., 15) satisfying the entry.
Since the number of the matched or chosen indexes is still fairly large, namely the user does not see the desired index in the screen after the first character entry, a second numeric key “2” is pressed for the second character “a” in the desired index. As shown in FIG. 3D, matched index number 316 now indicates the number of the matched indexes is 7, which means that there are seven indexes that have the first character being “a”, “b” or “c” and have the second character being “a”, “b” or “c”. Again the first and second characters in the indexes are optionally highlighted to provide the visual feedback to the user how many characters have been entered. Alternatively, two asterisks can be displayed indicating that two characters of query input have been entered. Meanwhile the user determines if there is any need to provide a further refinements to the query. Typically the user repositions or scrolls zoom window 311 downward to the desired index by a special key (as a navigation key) if the desired index becomes visible in the screen regardless how many are in the chosen indexes.
As shown in FIG. 3D, screen 310 does include the desired index “Bakers”, so the user may scroll zoom window 311 downward to the desired index “Bakers” as shown in FIG. 3E. Upon positioning on the desired index “Bakers”, zoom window 311 displays the desired index along with a field. As noted previously, the zoom window 311 can display one or more fields of the record associated with the desired index. In the embodiment shown in FIG. 3E, the zoom window 311 displays the desired index and the work phone number. If the user desires to view the whole record, a predefined key can be pressed to display the full record as shown in FIG. 3F.
Alternatively, the user may press a numeric key “5” for a third character “k” to further refine query and thus the retrieval process. FIG. 3G shows that the screen 310 now displays only two indexes 316 following the input of the numeric key “5” for a third character. The resulting combined query input then retrieves those indexes that start with the first character being “a”, “b” or “c”, the second character being “a”, “b” or “c”, and the third character being “j”, “k” or “l”, and thus satisfy the entries of the numeric keys “1”, “1” and “5”. The user can then scroll the scroll zoom window 311 downward by one index to select the desired index and explore the record if desired.
Optionally, a search progression graphic or indicator may be displayed on display screen 310 to provide feedback to the user. The search progression graphic or indicator can take a variety of different appearances and forms, but serves to inform the user how well the query or refinements to the query are proceeding with each input of the query. In one embodiment, the search progression graphic or indicator is displayed as a narrow-down sign that is structured by several rectangular bars in different heights. Each bar indicates a list of chosen indexes corresponding to each character entered and the height of the bar graphically correlates to the number of matched indexes. Generally, the number of matched indexes becomes progressively smaller for every entered character, the heights of the bars are shortened accordingly.
More particularly, narrow-down sign 320 in FIG. 3G shows that three entries have been entered and the number of matched indexes is decreasing. It indicates to the user that the query (lookup) process per each entry is successfully proceeding, and that the number of matched indexes has been narrowed down. In other words, if the user enters a character that none of the remaining indexes can match, then narrow-down sign 320 remains unchanged, indicating an invalid or void entry.
FIG. 3H demonstrates a display resulting from an entry after three successful keystrokes. For example, assume that the user enters the numeric key “8” as corresponding to the character “t”. It can be seen that none of the two left indexes in FIG. 3G can be matched to the equivalent entries “t”, “u” and “v”. Thus zoom window 311 has no matched record to display and sign 340 remains unchanged. In this example, the user's entry of “t” would be an error because the fourth character of the desired index is “e”, which should have cause the user to enter the numeric key “3”. The user may undo the latest entry by activating a predefined key to return to a previous screen or start the query processing all over.
FIG. 5 illustrates a look-up process working in concert with each of the entries described above and should be understood in conjunction with FIGS. 3A to 3G. The look-up process may be implemented with reference to the indexed sequential search or binary search, which are well known to those skilled in the art. When the first keystroke “2” is entered, the look-up process proceeds with a query 510 equivalent to three entries “a”, “b” or “c” and returns all indexes starting with “a”, “b” or “c”. When the second keystroke “2” is entered, the look-up process proceeds with a query 520 equivalent to nine entries “aa”, “ab”, “ac”, “ba”, “bb”, “bc”, “ca”, “cb” or “cc” and returns all indexes starting with “aa”, “ab”, “ac”, “ba”, “bb”, “bc”, “ca”, “cb” or “cc”. As described above, the purpose of the keystroke is to bring the desired index into the screen so that a user visually knows where to scroll the zoom window. If the desired index is still not shown in the screen, then an additional keystroke “5” is entered, which causes the look-up process to return all indexes starting with the following string:
“aaj”, “abj”, “acj”, “baj”, “bbj”, “bcj”, “caj”, “cbj”, “ccj”, “aak”, “abk”, “ack”, “bak”, “bbk”, “bck”, “cak”, “cbk”, “cck” “aal”, “abl”, “acl”, “bal”, “bbl”, “bcl”, “cal”, “cbl” or “ccl”.
Numerically, the number of combinations of the queries is increased with any additional keystroke entries. Practically, the number of the indexes that match any of the queries is substantially decreased because the match is much more restrictive. Therefore, the number of the matched indexes returned by the look-up process is substantially decreased with any additional keystroke entries, which eventually brings the desired index to the screen with only a few keystrokes.
For completeness, although unlikely in practice, additional keystrokes 530, 540, 540 and 560 will guarantee to cause the desired index “bakers” to be displayed on the screen. The thick line in the FIG. 5 shows the actual combination of the keystrokes that lead to the desired index.
It should be pointed out that the above description is equally applied when a user enters a string of characters without looking at the screen. For example, “225377” may be successively entered to retrieve particularly the record indexed by “bakers”.
FIG. 6 illustrates an internal functional block diagram of a portable device 600 in which the present invention may be practiced. Portable device 600 may include, but not be limited to a cellular phone, a two-way pager, a palm-sized computing device, and a personal digital assistant. The portable device 600 also has a small screen 602 (i.e., reduced-size screen) that may be a LCD screen. Screen 602 is communicated with and commanded by a screen driver 604 that is controlled by a microcontroller (processor) 606. Memory 610 includes a compiled and linked version of one implementation of the present invention as an application module 612. When microcontroller 606 executes application module 612, screen driver 604 is caused to generate control signals to drive screen 602 to display according to application module 612.
According to one implementation, a structured database 614 is loaded in memory 610 that further includes code for a lookup process 616. When device 600 is powered on, both application module 612 and lookup process 616 are executed on microcontroller 606. Input interface 630 coupled to and controlled by microcontroller 606 receives inputs (queries) from a user. Screens in FIGS. 3A to 3H are some of the examples that may be displayed by screen driver 602 according to application module 612 in conjunction with lookup process 616 and queries.
As described above, input interface 630 may be a phone keypad. It should be pointed out that a regular phone keypad is not the only input interface that can practice the present invention. Some of portable devices sometimes have no physical keys at all, such as those palm-size computing devices that, however, use soft keys or icons as an input means for users to interact with the devices. In the above description, unless otherwise specifically described, it is clear that keys or buttons are generally referred to as either the physical keys or soft keys.
FIG. 7 illustrates a process flowchart of the present invention according to one embodiment and shall be understood in conjunction with FIG. 6. At 700, a portable device is powered on or the lookup process is activated. A first portion of indexes from the database is displayed on the screen and a counter is set to zero at 710. The counter records the number of the character entries and can be used to indicate to a user how many characters have been entered.
At 720, the user determines if a desired index is among the indexes being displayed. When the desired index is not displayed, the user enters a character query at 730. The counter is incremented by one every time the user enters a character query at 740. The look-up process proceeds at 750 with the entered character and returns to 720 all indexes that have the entered character at the corresponding character location. If the look-up process fails to identify any index in the database that matches the entered character and all precedent characters, an error message is displayed at 780.
When the desired index is among the indexes being displayed following the look-up process at block 750, the processing returns to block 720 where the matching indexes are display on the screen 602. Then, when the desired index is being displayed, the user can scroll the zoom window to the desired index in a known direction at 760. It is described that the zoom window displays an index and preferably a field of a record when the zoom widow is being scrolled over from one index to another (adjoining indexes) until reaching the desired index. In other words, the zoom window displays an index and one or more associated fields whenever it is placed upon the index. At 770, a full record indexed by the desired index can be displayed if a predefined key is activated.
On the other hand, when the desired index is not being displayed, the user can enter another character to refine the query at 730. The counter is then incremented by one at 740. The look-up process proceeds at 750 with the entered character and returns to 720 all indexes that have the entered character as well as all previously entered characters in their respective character positions of the indexes.
There are many advantages and benefits of the present invention that can be appreciated by those skilled in the art. According to the principles of this invention, it is disclosed a method and apparatus for displaying a record from structured information with a reduced number of keystrokes. Consequently, a user of a portable device with a small screen and a limited input interface can access and display a certain record from a database quickly and efficiently. Visual feedback is also provided to the user so that the effectiveness of the retrieval or search process can be easily understood.
It is understood to those skilled in the art that the present disclosure of embodiments has been made by way of example only and that numerous changes in the arrangement and combination of parts as well as steps may be resorted without departing from the spirit and scope of the invention as claimed. Accordingly, the scope of the present invention is defined by the appended claims rather than the forgoing description of embodiments.

Claims (39)

We claim:
1. A method for displaying a record from a structured database on a display screen of an electronic device having a reduced-size input interface, the structured database including a plurality of records, the records including at least one field and being indexed by indexes comprising n characters, the method comprising:
displaying on the display screen a portion of indexes from the structured database;
receiving successively n symbols from the input interface, the n symbols sequentially and respectively corresponding to the n characters of a desired index of the indexes for the records of the structured database, each of the symbols representing a group of characters one of which corresponds to the associated nth character of the desired index;
displaying on the display screen a reduced portion of the indexes, including the desired index, from the structured database, the reduced portion displays those of the indexes where each of the n characters in the indexes is respectively matched by one of the characters of the group of characters represented by the each of the symbols; and
displaying a zoom window positioned upon one of the indexes being displayed on the display screen, the zoom window displaying the one of the indexes and the at least one field of the record.
2. The method as recited in claim 1, wherein the reduced-size input interface is a phone keypad comprising numeric keys and wherein each of the n symbols is one of the numeric keys.
3. The method as recited in claim 1, wherein the reduced-size input interface is soft keys displayed in the display screen and wherein each of the n symbols symbol is one of the soft keys.
4. The method as recited in claim 1, the method still further comprising:
refreshing the display screen with the record corresponding to the one of the indexes having the zoom window positioned thereover after a predetermined key in the input interface is activated.
5. A method for displaying a record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the method comprising:
initially displaying on the screen an initial portion of indexes from the structured database;
subsequently receiving a first symbol from an input device if the desired index is not among the indexes being displayed on the screen; the first symbol representing a first group of characters one of which is a first character in the string of characters of the desired index; and
indicating the desired index with a cursor when the desired index is among the indexes being displayed in the screen and the cursor is scrolled to the desired index, wherein the cursor is a zoom window, the zoom window displaying the desired index and at least one field.
6. The method as recited in claim 5, the method further comprising:
displaying a first number indicating the number of the indexes in the structured database.
7. The method as recited in claim 6, the method still further comprising:
displaying a second number indicating the number of a first chosen indexes that start with any of the characters in the first group represented by the first symbol.
8. The method as recited in claim 5, wherein said indicating the desired index with a cursor comprises:
moving the cursor across a list of adjoining indexes to the desired index.
9. The method as recited in claim 8, wherein said cursor is a zoom window and wherein said moving the cursor across a list of adjoining indexes comprises:
displaying in the zoom window respectively each of the adjoining indexes along with a field of an adjoining record indexed by the each of the adjoining indexes when the zoom window moves across the list of adjoining indexes.
10. The method as recited in claim 5, the method further comprising:
refreshing the screen with only the record being displayed after a predetermined key in an input interface is activated.
11. The method as recited in claim 10, wherein the input interface is a phone keypad comprising numeric keys and wherein the first symbol is one of the numerical keys.
12. The method as recited in claim 10, wherein the input interface is soft keys displayed in the screen and wherein the first symbol is one of the soft keys.
13. The method as recited in claim 5, the method further comprising:
displaying a list of first chosen indexes started with one of the first group of characters.
14. The method as recited in claim 13, wherein said displaying a list of first chosen indexes comprises:
highlighting the first character of first chosen indexes being displayed to indicate that the first symbol has been entered.
15. The method as recited in claim 14, the method still further comprising:
receiving a second symbol from the input device if the desired index is still not among the first chosen indexes being displayed in the screen; the second symbol representing a second group of characters one of which is a second character of the string of characters in the desired index; and
displaying a number to indicate the number of chosen indexes that start with one of the characters in the first group represented by the first symbol followed by one of the characters in the second group represented by the second symbol.
16. The method as recited in claim 15, the method still further comprising:
updating the screen with a list of second chosen indexes started with one of the first group of characters corresponding to the first symbol and successively with one of the second group of characters corresponding to the second symbol; and
highlighting the second character of the second chosen indexes being displayed to indicate that both of the first symbol and the second symbol have been entered.
17. The method as recited in claim 16, the method still further comprising:
receiving, successively and respectively, subsequent symbols till the desired index is displayed in the screen.
18. The method as recited in claim 17, the method further comprising:
displaying a sign to indicate that the first symbol, the second symbol and the subsequent symbols have been entered.
19. The method as recited in claim 18, wherein the sign indicates graphically a retrieval of the record is being narrowed down with each of the first symbol, the second symbol and the subsequent symbols entered.
20. A method for displaying a record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the method comprising:
receiving a list of indexes of the structured database;
displaying as many of the indexes sequentially as the screen can accommodate;
receiving respectively and successively, if the desired index is not among the indexes being displayed on the screen; a series of symbols until the desired index is caused to be displayed on the screen, wherein each of the symbols represents a group of characters one of which corresponds to a character in the string of characters of the desired index; and
moving a zoom window to the desired index; the zoom window displaying the desired index and the at least one field of the record.
21. The method as recited in claim 20, the method further comprising:
displaying the record completely on the screen after a predefined key is activated.
22. The method as recited in claim 21, wherein said receiving a series of symbols comprises:
displaying, respectively and progressively, a list of chosen indexes with respect to each of the symbols entered.
23. The method as recited in claim 22, the method further comprising:
displaying a sign to indicate the number of the symbols have been entered.
24. The method as recited in claim 23, wherein the sign is a number of icons, each of icons representing one of the symbols that has been entered.
25. The method as recited in claim 23, wherein the sign is a number of highlighted characters in one of the chosen indexes being displayed, each of highlighted characters representing one of the symbols that has been entered.
26. An apparatus for displaying a desired record from a structured database on a screen, the record including at least one field and indexed by a desired index comprising a string of characters, the apparatus comprising:
a screen driver commanding the screen;
an input interface;
a memory for storing code for an application module,
a processor coupled to the memory, the input interface and the screen driver, the processor executing the code in the memory to cause the application module to drive the screen driver to:
display on the screen a portion of indexes from the structured database;
position a zoom window on one of indexes being displayed on the screen; wherein the zoom window displays the one of indexes along with a field of a record indexed by the one of indexes; and
move the zoom window to the desired index when a navigation key is being activated and the desired index is among the indexes being displayed in the screen; wherein the zoom window displays the desired index and the at least one field of the desired record.
27. The device as recited in claim 18, wherein the input interface is a phone keypad comprising a plurality of keys, each representing a group of characters.
28. The device as recited in claim 18, wherein the input interface is a plurality of soft keys, each representing a group of characters.
29. The device as recited in claim 18, wherein the processor executing the code in the memory further causes the application module to drive the screen driver to:
display a list of chosen indexes staring with a character in a group of characters represented by a symbol activated from the input interface.
30. The device as recited in claim 21, wherein the processor executing the code in the memory still causes the application module to drive the screen driver to:
display a sign to indicate the number of symbols activated from the input interface.
31. The device as recited in claim 22, wherein the sign is a number of icons, each of icons representing one of the symbols that has been entered.
32. The method as recited in claim 22, wherein the sign is a number of highlighted characters in one of the chosen indexes being displayed, each of highlighted characters representing one of the symbols that has been entered.
33. A computer readable medium including computer program code for displaying a record from a database on a display screen of an electronic device having a reduced-size input interface, the database including a plurality of records, the records including at least one field and being indexed by indexes of alphanumeric characters, said computer readable medium comprising:
computer program code for receiving a first symbol from the input interface, the first symbol pertaining to a first group of alphanumeric characters, and the first alphanumeric character of a desired index of the indexes for the database being one of the alphanumeric character of the first group;
computer program code for retrieving a first list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group;
computer program code for displaying on the display screen at least a portion of the retrieved first list of the indexes, the desired index being one of the indexes;
computer program code for receiving a second symbol from the input interface, the second symbol pertaining to a second group of alphanumeric characters, and the second alphanumeric character of the desired index of the indexes for the database being one of the alphanumeric characters of the second group;
computer program code for retrieving a second list of the indexes of the database in which their first alphanumeric character matches one of the alphanumeric characters of the first group and their second alphanumeric character matches one of the alphanumeric characters of the second group; and
computer program code for displaying on the display screen at least a portion of the retrieved second list of the indexes, the desired index being one of the indexes.
34. A computer readable medium as recited in claim 33, wherein the electronic device is a mobile device.
35. A computer readable medium as recited in claim 34, wherein the mobile device is a mobile phone.
36. A computer readable medium as recited in claim 33, wherein said computer readable medium further comprises:
computer program code for displaying a count of the number of the indexes within the list being displayed.
37. A computer readable medium as recited in claim 33, wherein said computer readable medium further comprises:
computer program code for displaying a selection indicator that selects one of the indexes being displayed on the display screen and displays at least one field from the record associated with the selected index.
38. A computer readable medium as recited in claim 33, wherein said computer readable medium further comprises:
computer program code for displaying an indicator of the number of symbols that have been used to retrieve the list from the database.
39. A computer readable medium as recited in claim 33, wherein said computer readable medium further comprises:
computer program code for displaying an retrieval effectiveness indicator for each of the symbols that are received, wherein a dimension of the retrieval effectiveness indicator is determined based on the size of the retrieve list of the indexes which are determined to match verses all of the indexes of the database.
US09/166,822 1998-10-05 1998-10-05 Method and apparatus for displaying a record from a structured database with minimum keystrokes Expired - Lifetime US6370518B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/166,822 US6370518B1 (en) 1998-10-05 1998-10-05 Method and apparatus for displaying a record from a structured database with minimum keystrokes
US10/066,053 US20020087514A1 (en) 1998-10-05 2002-01-31 Method and apparatus for displaying a record from a structured database with minimum keystrokes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/166,822 US6370518B1 (en) 1998-10-05 1998-10-05 Method and apparatus for displaying a record from a structured database with minimum keystrokes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/066,053 Continuation US20020087514A1 (en) 1998-10-05 2002-01-31 Method and apparatus for displaying a record from a structured database with minimum keystrokes

Publications (1)

Publication Number Publication Date
US6370518B1 true US6370518B1 (en) 2002-04-09

Family

ID=22604825

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/166,822 Expired - Lifetime US6370518B1 (en) 1998-10-05 1998-10-05 Method and apparatus for displaying a record from a structured database with minimum keystrokes
US10/066,053 Abandoned US20020087514A1 (en) 1998-10-05 2002-01-31 Method and apparatus for displaying a record from a structured database with minimum keystrokes

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/066,053 Abandoned US20020087514A1 (en) 1998-10-05 2002-01-31 Method and apparatus for displaying a record from a structured database with minimum keystrokes

Country Status (1)

Country Link
US (2) US6370518B1 (en)

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054131A1 (en) * 2000-09-01 2002-05-09 Masao Ozawa Reproducing apparatus and reproducing method
US20020062298A1 (en) * 1997-11-29 2002-05-23 Guido Meier-Arendt Motor vehicle information system having a database and a movable control element
WO2002080398A1 (en) * 2001-03-30 2002-10-10 Motorola, Inc. Mobile wireless communication devices with quick-send features and methods therefor
US6469720B1 (en) * 1998-10-30 2002-10-22 Koninklijke Philips Electronics N.V. Electronic device comprising a screen and method of displaying short menus
US6557004B1 (en) * 2000-01-06 2003-04-29 Microsoft Corporation Method and apparatus for fast searching of hand-held contacts lists
US20030122882A1 (en) * 2001-12-28 2003-07-03 Samuel Kho Menu navigation and operation feature for a handheld computer
US20040015478A1 (en) * 2000-11-30 2004-01-22 Pauly Duncan Gunther Database
US20040054569A1 (en) * 2002-07-31 2004-03-18 Alvaro Pombo Contextual computing system
US20040080544A1 (en) * 2002-10-29 2004-04-29 Stripling Jeffrey Ricks System and method for providing network access to devices using numeric input
US20040225695A1 (en) * 2003-05-08 2004-11-11 International Business Machines Corporation Personal information management system and method with audit functionality
US20050179654A1 (en) * 2001-06-11 2005-08-18 Hawkins Jeffrey C. Interface for processing of an alternate symbol in a computer device
US20050188174A1 (en) * 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
US20050200609A1 (en) * 2004-03-12 2005-09-15 Van Der Hoeven Steven Apparatus method and system for a data entry interface
US6950988B1 (en) * 2001-06-11 2005-09-27 Handspring, Inc. Multi-context iterative directory filter
US6952220B1 (en) 1997-03-13 2005-10-04 Openwave Systems Inc. Method of displaying elements having a width greater than a screen display width
US20060004739A1 (en) * 2004-05-03 2006-01-05 Microsoft Corporation System and method for dynamically generating a selectable search extension
US20060010120A1 (en) * 1999-10-26 2006-01-12 Sony Corporation Searching system, searching unit, searching method, displaying method for search results, terminal unit, inputting unit, and record medium
US20060015819A1 (en) * 1999-08-12 2006-01-19 Hawkins Jeffrey C Integrated handheld computing and telephony system and services
EP1635538A1 (en) * 2004-09-14 2006-03-15 Lorenz Borsche Method of searching and displaying stored data
US20060080397A1 (en) * 2004-10-08 2006-04-13 Marc Chene Content management across shared, mobile file systems
US20060103642A1 (en) * 2000-09-21 2006-05-18 Hawkins Jeffrey C Charging and communication cable system for a mobile computer apparatus
US20060121938A1 (en) * 1999-08-12 2006-06-08 Hawkins Jeffrey C Integrated handheld computing and telephony device
US20060136397A1 (en) * 2004-12-21 2006-06-22 High Tech Computer, Corp. Search methods
US20060161858A1 (en) * 1999-08-12 2006-07-20 Hawkins Jeffrey C Configuration mechanism for organization of addressing elements
US20060161646A1 (en) * 2005-01-19 2006-07-20 Marc Chene Policy-driven mobile forms applications
US20060205432A1 (en) * 1999-08-12 2006-09-14 Hawkins Jeffrey C Control mechanisms for mobile devices
US7184024B2 (en) * 2000-06-30 2007-02-27 Nokia Corporation Method and apparatus for mapping an input location with a displayed functional representation
US20080056481A1 (en) * 2006-09-01 2008-03-06 Research In Motion Limited Integrated dialing
US7376938B1 (en) 2004-03-12 2008-05-20 Steven Van der Hoeven Method and system for disambiguation and predictive resolution
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US20080307055A1 (en) * 2007-06-07 2008-12-11 Datamaxx Applied Technologies, Inc. System and Method for Efficient Indexing of Messages in a Law Enforcement Data Network
US20100087185A1 (en) * 2001-06-11 2010-04-08 Palm, Inc. Integrated personal digital assistant device
US7711744B1 (en) * 2006-01-18 2010-05-04 3Com Corporation Simple and fast directory search with reduced keystrokes and reduced server calls
US7725127B2 (en) 2001-06-11 2010-05-25 Palm, Inc. Hand-held device
US20100281390A1 (en) * 2003-03-24 2010-11-04 Microsoft Corporation System and method for user modification of metadata in a shell browser
USRE42268E1 (en) 2000-09-21 2011-04-05 Hewlett-Packard Company Method and apparatus for organizing addressing elements
US20110083097A1 (en) * 2003-04-17 2011-04-07 Microsoft Corporation Address bar user interface control
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US20120229320A1 (en) * 2011-03-11 2012-09-13 Sunplus Technology Co., Ltd. Nine-square virtual input system using a remote control
EP2523123A1 (en) * 2011-05-11 2012-11-14 Mitel Networks Corporation Contact list search method for mobile phone
US8341676B1 (en) * 2000-12-01 2012-12-25 JLB Ventures LLC. Method and system for performing an alphabetic search using a single application of keys
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
CN103617275A (en) * 2013-12-06 2014-03-05 中国联合网络通信集团有限公司 Internet-surfing detailed record query method and system for mobile terminal
US8677286B2 (en) 2003-05-01 2014-03-18 Hewlett-Packard Development Company, L.P. Dynamic sizing user interface method and system for data display
US8700653B2 (en) 2010-08-19 2014-04-15 Google Inc. Predictive query completion and predictive search results
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US8762356B1 (en) * 2011-07-15 2014-06-24 Google Inc. Detecting change in rate of input reception
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
US8812733B1 (en) 2010-08-19 2014-08-19 Google Inc. Transport protocol independent communications library
US8972342B2 (en) 2004-04-29 2015-03-03 Microsoft Corporation Metadata editing control
US9361313B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on common elements
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface
US10884513B2 (en) 2005-08-26 2021-01-05 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US10929410B2 (en) 2006-04-20 2021-02-23 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US11449761B2 (en) * 2018-10-31 2022-09-20 Fair Isaac Corporation Efficient value lookup in a set of scalar intervals
US11886474B2 (en) 2005-08-26 2024-01-30 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706747B2 (en) * 2000-07-06 2014-04-22 Google Inc. Systems and methods for searching using queries written in a different character-set and/or language from the target pages
US7136854B2 (en) * 2000-07-06 2006-11-14 Google, Inc. Methods and apparatus for providing search results in response to an ambiguous search query
US8112529B2 (en) * 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US20090006543A1 (en) * 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US7752326B2 (en) * 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
GB2411983A (en) * 2004-03-12 2005-09-14 Sendo Int Ltd Methods of generating and matching an input character in a database for searching a mobile phone address book
US8972444B2 (en) 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US8392453B2 (en) * 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
EP1860576A1 (en) * 2006-05-23 2007-11-28 Harman/Becker Automotive Systems GmbH Indexing big world lists in databases
US7979425B2 (en) * 2006-10-25 2011-07-12 Google Inc. Server-side match
US20100114887A1 (en) * 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US10528993B2 (en) * 2016-12-07 2020-01-07 Intuit Inc. Payment and invoice systems integration

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384579A (en) * 1988-09-26 1995-01-24 Sharp Kabushiki Kaisha Information display apparatus and method of scrolling displayed data
US5446882A (en) * 1992-10-02 1995-08-29 Apple Computer, Inc. Interface for a computerized database having card and list views
US5586196A (en) * 1991-04-24 1996-12-17 Michael Sussman Digital document magnifier
US5594897A (en) * 1993-09-01 1997-01-14 Gwg Associates Method for retrieving high relevance, high quality objects from an overall source
US5745716A (en) * 1995-08-07 1998-04-28 Apple Computer, Inc. Method and apparatus for tab access and tab cycling in a pen-based computer system
US5809415A (en) 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US5819286A (en) * 1995-12-11 1998-10-06 Industrial Technology Research Institute Video database indexing and query method and system
US5818437A (en) 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US5844561A (en) * 1995-10-23 1998-12-01 Sharp Kabushiki Kaisha Information search apparatus and information search control method
US5883635A (en) * 1993-09-17 1999-03-16 Xerox Corporation Producing a single-image view of a multi-image table using graphical representations of the table data
US5911485A (en) * 1995-12-11 1999-06-15 Unwired Planet, Inc. Predictive data entry method for a keypad
US6016142A (en) * 1998-02-09 2000-01-18 Trimble Navigation Limited Rich character set entry from a small numeric keypad
US6018577A (en) * 1997-07-31 2000-01-25 Roach, Jr.; Peter Owen Data messaging method
US6073036A (en) * 1997-04-28 2000-06-06 Nokia Mobile Phones Limited Mobile station with touch input having automatic symbol magnification function
US6288718B1 (en) * 1998-11-13 2001-09-11 Openwave Systems Inc. Scrolling method and apparatus for zoom display

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384579A (en) * 1988-09-26 1995-01-24 Sharp Kabushiki Kaisha Information display apparatus and method of scrolling displayed data
US5586196A (en) * 1991-04-24 1996-12-17 Michael Sussman Digital document magnifier
US5446882A (en) * 1992-10-02 1995-08-29 Apple Computer, Inc. Interface for a computerized database having card and list views
US5594897A (en) * 1993-09-01 1997-01-14 Gwg Associates Method for retrieving high relevance, high quality objects from an overall source
US5883635A (en) * 1993-09-17 1999-03-16 Xerox Corporation Producing a single-image view of a multi-image table using graphical representations of the table data
US5818437A (en) 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US5745716A (en) * 1995-08-07 1998-04-28 Apple Computer, Inc. Method and apparatus for tab access and tab cycling in a pen-based computer system
US5844561A (en) * 1995-10-23 1998-12-01 Sharp Kabushiki Kaisha Information search apparatus and information search control method
US5809415A (en) 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US5819286A (en) * 1995-12-11 1998-10-06 Industrial Technology Research Institute Video database indexing and query method and system
US5911485A (en) * 1995-12-11 1999-06-15 Unwired Planet, Inc. Predictive data entry method for a keypad
US6073036A (en) * 1997-04-28 2000-06-06 Nokia Mobile Phones Limited Mobile station with touch input having automatic symbol magnification function
US6018577A (en) * 1997-07-31 2000-01-25 Roach, Jr.; Peter Owen Data messaging method
US6016142A (en) * 1998-02-09 2000-01-18 Trimble Navigation Limited Rich character set entry from a small numeric keypad
US6288718B1 (en) * 1998-11-13 2001-09-11 Openwave Systems Inc. Scrolling method and apparatus for zoom display

Cited By (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952220B1 (en) 1997-03-13 2005-10-04 Openwave Systems Inc. Method of displaying elements having a width greater than a screen display width
US20020062298A1 (en) * 1997-11-29 2002-05-23 Guido Meier-Arendt Motor vehicle information system having a database and a movable control element
US6469720B1 (en) * 1998-10-30 2002-10-22 Koninklijke Philips Electronics N.V. Electronic device comprising a screen and method of displaying short menus
US20090034514A1 (en) * 1999-08-12 2009-02-05 Palm, Inc. Integrated Mobile Computing and Telephony Device and Services
US8855722B2 (en) 1999-08-12 2014-10-07 Hewlett-Packard Development Company, L.P. Integrated handheld computing and telephony device
US20060205432A1 (en) * 1999-08-12 2006-09-14 Hawkins Jeffrey C Control mechanisms for mobile devices
US20100015965A1 (en) * 1999-08-12 2010-01-21 Palm, Inc. Integrated handheld computing and telephony device
US7555727B2 (en) * 1999-08-12 2009-06-30 Palm, Inc. Integrated handheld computing and telephony system and services
US7503016B2 (en) 1999-08-12 2009-03-10 Palm, Inc. Configuration mechanism for organization of addressing elements
US8064886B2 (en) 1999-08-12 2011-11-22 Hewlett-Packard Development Company, L.P. Control mechanisms for mobile devices
US20060121938A1 (en) * 1999-08-12 2006-06-08 Hawkins Jeffrey C Integrated handheld computing and telephony device
US20060015819A1 (en) * 1999-08-12 2006-01-19 Hawkins Jeffrey C Integrated handheld computing and telephony system and services
US20060161858A1 (en) * 1999-08-12 2006-07-20 Hawkins Jeffrey C Configuration mechanism for organization of addressing elements
US7197495B2 (en) * 1999-10-26 2007-03-27 Sony Corporation Searching system, searching unit, searching method, displaying method for search results, terminal unit, inputting unit, and record medium
US20060010120A1 (en) * 1999-10-26 2006-01-12 Sony Corporation Searching system, searching unit, searching method, displaying method for search results, terminal unit, inputting unit, and record medium
US6557004B1 (en) * 2000-01-06 2003-04-29 Microsoft Corporation Method and apparatus for fast searching of hand-held contacts lists
US7184024B2 (en) * 2000-06-30 2007-02-27 Nokia Corporation Method and apparatus for mapping an input location with a displayed functional representation
US20020054131A1 (en) * 2000-09-01 2002-05-09 Masao Ozawa Reproducing apparatus and reproducing method
US20060103642A1 (en) * 2000-09-21 2006-05-18 Hawkins Jeffrey C Charging and communication cable system for a mobile computer apparatus
USRE42268E1 (en) 2000-09-21 2011-04-05 Hewlett-Packard Company Method and apparatus for organizing addressing elements
US20040015478A1 (en) * 2000-11-30 2004-01-22 Pauly Duncan Gunther Database
US8224829B2 (en) * 2000-11-30 2012-07-17 Bernard Consulting Limited Database
US8341676B1 (en) * 2000-12-01 2012-12-25 JLB Ventures LLC. Method and system for performing an alphabetic search using a single application of keys
US7725133B2 (en) 2001-03-30 2010-05-25 Motorola, Inc. Mobile wireless communication devices with quick-send features and methods therefor
WO2002080398A1 (en) * 2001-03-30 2002-10-10 Motorola, Inc. Mobile wireless communication devices with quick-send features and methods therefor
US20100087185A1 (en) * 2001-06-11 2010-04-08 Palm, Inc. Integrated personal digital assistant device
US7725127B2 (en) 2001-06-11 2010-05-25 Palm, Inc. Hand-held device
US9549056B2 (en) 2001-06-11 2017-01-17 Qualcomm Incorporated Integrated personal digital assistant device
US20050179654A1 (en) * 2001-06-11 2005-08-18 Hawkins Jeffrey C. Interface for processing of an alternate symbol in a computer device
US20070188448A1 (en) * 2001-06-11 2007-08-16 Hawkins Jeffrey C Alternate key options for launching applications in mobile communication devices
US8495517B2 (en) 2001-06-11 2013-07-23 Palm, Inc. Multi-context iteractive directory filter
US8433314B2 (en) 2001-06-11 2013-04-30 Hewlett-Packard Development Company, L.P. Integrated personal digital assistant device
US9203940B2 (en) 2001-06-11 2015-12-01 Qualcomm Incorporated Integrated personal digital assistant device
US9696905B2 (en) 2001-06-11 2017-07-04 Qualcomm Incorporated Interface for processing of an alternate symbol in a computer device
US6950988B1 (en) * 2001-06-11 2005-09-27 Handspring, Inc. Multi-context iterative directory filter
US7681146B2 (en) 2001-06-11 2010-03-16 Palm, Inc. Multi-context iterative directory filter
US10097679B2 (en) 2001-06-11 2018-10-09 Qualcomm Incorporated Integrated personal digital assistant device
US8538478B2 (en) 2001-06-11 2013-09-17 Palm, Inc. Integrated personal digital assistant device
US10326871B2 (en) 2001-06-11 2019-06-18 Qualcomm Incorporated Integrated personal digital assistant device
US8976108B2 (en) 2001-06-11 2015-03-10 Qualcomm Incorporated Interface for processing of an alternate symbol in a computer device
US7665043B2 (en) 2001-12-28 2010-02-16 Palm, Inc. Menu navigation and operation feature for a handheld computer
US20100070918A1 (en) * 2001-12-28 2010-03-18 Samuel Kho Menu navigation and operation feature for a handheld computer
US20030122882A1 (en) * 2001-12-28 2003-07-03 Samuel Kho Menu navigation and operation feature for a handheld computer
US20040054569A1 (en) * 2002-07-31 2004-03-18 Alvaro Pombo Contextual computing system
US20110153465A1 (en) * 2002-07-31 2011-06-23 Truecontext Corporation Contextual computing system
US8655738B2 (en) 2002-07-31 2014-02-18 Rpx Corporation Contextual computing system
US7930215B2 (en) 2002-07-31 2011-04-19 Truecontext Corporation Contextual computing system
US20040080544A1 (en) * 2002-10-29 2004-04-29 Stripling Jeffrey Ricks System and method for providing network access to devices using numeric input
US20100281390A1 (en) * 2003-03-24 2010-11-04 Microsoft Corporation System and method for user modification of metadata in a shell browser
US8555199B2 (en) 2003-03-24 2013-10-08 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US9361312B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on metadata
US9361313B2 (en) 2003-03-27 2016-06-07 Microsoft Technology Licensing, Llc System and method for filtering and organizing items based on common elements
US8117226B2 (en) 2003-03-27 2012-02-14 Microsoft Corporation System and method for virtual folder sharing including utilization of static and dynamic lists
US8209624B2 (en) 2003-04-17 2012-06-26 Microsoft Corporation Virtual address bar user interface control
US20110083097A1 (en) * 2003-04-17 2011-04-07 Microsoft Corporation Address bar user interface control
US8615717B2 (en) 2003-04-17 2013-12-24 Microsoft Corporation Address bar user interface control
US8677286B2 (en) 2003-05-01 2014-03-18 Hewlett-Packard Development Company, L.P. Dynamic sizing user interface method and system for data display
US20040225695A1 (en) * 2003-05-08 2004-11-11 International Business Machines Corporation Personal information management system and method with audit functionality
US7080103B2 (en) * 2003-05-08 2006-07-18 International Business Machines Corporation Personal information management system and method with audit functionality
US20050188174A1 (en) * 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
US20050200609A1 (en) * 2004-03-12 2005-09-15 Van Der Hoeven Steven Apparatus method and system for a data entry interface
US7376938B1 (en) 2004-03-12 2008-05-20 Steven Van der Hoeven Method and system for disambiguation and predictive resolution
US7555732B2 (en) 2004-03-12 2009-06-30 Steven Van der Hoeven Apparatus method and system for a data entry interface
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US8972342B2 (en) 2004-04-29 2015-03-03 Microsoft Corporation Metadata editing control
US20060004739A1 (en) * 2004-05-03 2006-01-05 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8024335B2 (en) * 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
EP1635538A1 (en) * 2004-09-14 2006-03-15 Lorenz Borsche Method of searching and displaying stored data
US9471611B2 (en) 2004-10-08 2016-10-18 ProntoForms Inc. Distributed scalable policy based content management
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
US8090844B2 (en) 2004-10-08 2012-01-03 Truecontext Corporation Content management across shared, mobile file systems
US20060080397A1 (en) * 2004-10-08 2006-04-13 Marc Chene Content management across shared, mobile file systems
US20060136397A1 (en) * 2004-12-21 2006-06-22 High Tech Computer, Corp. Search methods
US20100174744A1 (en) * 2004-12-21 2010-07-08 Wang John C Search methods
US7716195B2 (en) * 2004-12-21 2010-05-11 Htc Corporation Search methods
US20060161646A1 (en) * 2005-01-19 2006-07-20 Marc Chene Policy-driven mobile forms applications
US7774504B2 (en) 2005-01-19 2010-08-10 Truecontext Corporation Policy-driven mobile forms applications
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface
US10884513B2 (en) 2005-08-26 2021-01-05 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US11886474B2 (en) 2005-08-26 2024-01-30 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7711744B1 (en) * 2006-01-18 2010-05-04 3Com Corporation Simple and fast directory search with reduced keystrokes and reduced server calls
US10929410B2 (en) 2006-04-20 2021-02-23 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
JP2009510954A (en) * 2006-09-01 2009-03-12 リサーチ イン モーション リミテッド Integrated dialing
US8532710B2 (en) 2006-09-01 2013-09-10 Blackberry Limited Integrated dialing
US20080056481A1 (en) * 2006-09-01 2008-03-06 Research In Motion Limited Integrated dialing
EP1920581A1 (en) * 2006-09-01 2008-05-14 Research in Motion Limited Integrated dialing
EP1920581A4 (en) * 2006-09-01 2008-09-10 Research In Motion Ltd Integrated dialing
US8095186B2 (en) 2006-09-01 2012-01-10 Research In Motion Limited Integrated dialing
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US8849831B2 (en) * 2007-06-07 2014-09-30 Datamaxx Applied Technologies, Inc. System and method for efficient indexing of messages in a law enforcement data network
US20080307055A1 (en) * 2007-06-07 2008-12-11 Datamaxx Applied Technologies, Inc. System and Method for Efficient Indexing of Messages in a Law Enforcement Data Network
US9953076B2 (en) 2010-08-19 2018-04-24 Google Llc Predictive query completion and predictive search results
US8812733B1 (en) 2010-08-19 2014-08-19 Google Inc. Transport protocol independent communications library
US11620318B2 (en) 2010-08-19 2023-04-04 Google Llc Predictive query completion and predictive search results
US8706750B2 (en) 2010-08-19 2014-04-22 Google Inc. Predictive query completion and predictive search results
US9723061B1 (en) 2010-08-19 2017-08-01 Google Inc. Transport protocol independent communications library
US8700653B2 (en) 2010-08-19 2014-04-15 Google Inc. Predictive query completion and predictive search results
US20120229320A1 (en) * 2011-03-11 2012-09-13 Sunplus Technology Co., Ltd. Nine-square virtual input system using a remote control
US9317625B2 (en) 2011-05-11 2016-04-19 Mitel Networks Corporation Quick directory search system on a touch screen device and methods thereof
EP2523123A1 (en) * 2011-05-11 2012-11-14 Mitel Networks Corporation Contact list search method for mobile phone
US8762356B1 (en) * 2011-07-15 2014-06-24 Google Inc. Detecting change in rate of input reception
US9514111B1 (en) 2011-08-31 2016-12-06 Google Inc. Providing autocomplete suggestions
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
CN103617275A (en) * 2013-12-06 2014-03-05 中国联合网络通信集团有限公司 Internet-surfing detailed record query method and system for mobile terminal
US11449761B2 (en) * 2018-10-31 2022-09-20 Fair Isaac Corporation Efficient value lookup in a set of scalar intervals

Also Published As

Publication number Publication date
US20020087514A1 (en) 2002-07-04

Similar Documents

Publication Publication Date Title
US6370518B1 (en) Method and apparatus for displaying a record from a structured database with minimum keystrokes
US6288718B1 (en) Scrolling method and apparatus for zoom display
EP1581857B1 (en) Alphanumeric keyboard input system using a game controller
US7681146B2 (en) Multi-context iterative directory filter
EP2109046A1 (en) Predictive text input system and method involving two concurrent ranking means
US20090193334A1 (en) Predictive text input system and method involving two concurrent ranking means
US6263217B1 (en) Mobile telephone capable of automatically rebuilding menu tree and method for controlling the same
US8375058B2 (en) Process and apparatus for selecting an item from a database
CN101427202A (en) Method and device for improving inputting speed of characters
JPH0646121A (en) Telephone set
JPH07129516A (en) Electronic telephone directory
EP0342964A2 (en) Data retrieval system
US5150316A (en) Electronic apparatus
KR100417194B1 (en) Method for searching telephone-list in a mobile telephone
JPH06110637A (en) Information processor with menu display function
KR20070024386A (en) Succession chinese character input method
JPH0335355A (en) Electronic equipment
JP2001285450A (en) Method and device for displaying retrieved telephone number for portable telephone set
JP3712272B2 (en) Character input device
JPH0335356A (en) Electronic equipment
JPH03276326A (en) Key input device
AU2012209049B2 (en) Improved process and apparatus for selecting an item from a database
JP2979097B2 (en) Data input device
JP2002207560A (en) Character input device
JPH10124530A (en) Method, device for retrieving data for electronic equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: UNWIRED PLANET, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PAYNE, CRAIG;LAURSEN, ANDREW L.;WULFF, JONATHAN M.;AND OTHERS;REEL/FRAME:009511/0686;SIGNING DATES FROM 19981002 TO 19981005

AS Assignment

Owner name: OPENWAVE SYSTEMS INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:PHONE.COM, INC.;REEL/FRAME:012526/0462

Effective date: 20001117

Owner name: PHONE.COM, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:UNWIRED PLANET, INC.;REEL/FRAME:012526/0483

Effective date: 19990419

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: PURPLE LABS S.A., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OPENWAVE SYSTEMS INC.;REEL/FRAME:021172/0131

Effective date: 20080627

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

AS Assignment

Owner name: MYRIAD FRANCE, SAS, FRANCE

Free format text: MERGER;ASSIGNOR:PURPLE LABS SA;REEL/FRAME:025202/0494

Effective date: 20090728

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MYRIAD FRANCE SAS;REEL/FRAME:025182/0754

Effective date: 20100716

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044127/0735

Effective date: 20170929