US20040153963A1 - Information entry mechanism for small keypads - Google Patents

Information entry mechanism for small keypads Download PDF

Info

Publication number
US20040153963A1
US20040153963A1 US10/360,541 US36054103A US2004153963A1 US 20040153963 A1 US20040153963 A1 US 20040153963A1 US 36054103 A US36054103 A US 36054103A US 2004153963 A1 US2004153963 A1 US 2004153963A1
Authority
US
United States
Prior art keywords
user
data
predictive
computer
readable medium
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.)
Abandoned
Application number
US10/360,541
Inventor
Todd Simpson
Roland Williams
Robert O'Dell
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.)
Zi Corp of Canada Inc
Original Assignee
Zi Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zi Technology Corp Ltd filed Critical Zi Technology Corp Ltd
Priority to US10/360,541 priority Critical patent/US20040153963A1/en
Assigned to ZI TECHNOLOGY CORPORATION LTD. reassignment ZI TECHNOLOGY CORPORATION LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: O'DELL, ROBERT B., SIMPSON, TODD G., WILLIAMS, ROLAND E.
Priority to PCT/US2004/003952 priority patent/WO2004073286A2/en
Priority to CNA2004800036934A priority patent/CN1954286A/en
Priority to EP04708683A priority patent/EP1658716A2/en
Publication of US20040153963A1 publication Critical patent/US20040153963A1/en
Assigned to ZI CORPORATION OF CANADA, INC. reassignment ZI CORPORATION OF CANADA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZI TECHNOLOGY CORPORATION LTD.
Priority to US12/619,608 priority patent/US8413050B2/en
Priority to US13/853,847 priority patent/US20130226960A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

Definitions

  • This invention relates to the field of information entry in electronic devices, and more specifically to a mechanism which is both efficient and intuitive to the user for entering information in a reduced keypad.
  • Multi-tap systems provide usable but less than convenient text entry functionality for users of the Roman or similar alphabet.
  • multi-tap systems determine a number of repeated presses of a key to disambiguate multiple letters associated with a single key. For example, pressing the “2” key once represents the letter “a;” pressing the “2” key twice represents the letter “b;” pressing the “2” key thrice represents the letter “c;” and pressing the “2” key four (4) times represents the numeral “2.”
  • the number of presses of a particular key is typically delimited with a brief pause. While feasible, entering textual data of the Roman alphabet using multi-tap is cumbersome and time-consuming.
  • the entire predicted word is displayed to the user. Since numerous words begin with any of the letters d, e, or f, it is rather common that the predicted word is not what the user intends to enter. Thus, as the user presses the “3” key to begin spelling “forest,” an entirely different word such as “don't” can be displayed as a predicted word.
  • results of predictive interpretation of key presses is postponed for a period of time such that a user entering multiple characters is not interrupted with repeated guesses as to what the user is intending to enter.
  • predictive analysis begins immediately following pressing of a key by the user, but results of such analysis are not displayed until at least a predetermined amount of time, e.g., 0.5 seconds, has elapsed since the last key press by the user. Accordingly, the user's experience in entering data is substantially enhanced.
  • the user After specifying “defo,” the user pauses for at least the predetermined period of time. The user is most likely to pause if the user becomes somewhat confused as to which key to press next or if the user has determined that a sufficient number of characters have been specified that predictive analysis can produce accurate results. In either case, presentation of predicted candidates of the user's intended data is a welcome event. Since the user has paused for at least the predetermined amount of time, results of predictive analysis are presented to the user.
  • results of predictive analysis are not available by no less than a second predetermined amount of time from the last key press, e.g., 2.0 seconds, no predicted candidates of the user's intended data are presented to the user. It is preferred that some characteristic of the display is changed to indicate to the user that predicted candidates are not forthcoming. For example, a blinking cursor can indicate that predictive analysis is under way while a transition from a blinking cursor to a solid cursor indicates that predictive candidates are not available.
  • the availability of predictive candidates can be indicated to the user, either immediately or upon elapsing of the predetermined amount of time.
  • the user can request display of any available predicted candidates by making a user input gesture so indicating. For example, a word being entered by the user can be highlighted, e.g., with a dotted underline, to indicate that predicted candidates for completion of the word are available and a soft key can be labeled to indicate that pressing the soft key causes display of available predicted candidates.
  • display of results of predictive analysis of user input data can be explicitly requested by the user.
  • results of predictive analysis can be considered available only when resources for predicted candidates have been thoroughly and completely processed.
  • partial results of predictive analysis can be considered available while predictive analysis continues and adds to the already available partial results until processing is terminated at the elapsing of the second predetermined amount of time from the last key press.
  • Some word processors such as StarOffice from Sun Microsystems of Palo Alto, Calif., and OpenOffice from the OpenOffice.org community of which Sun Microsystems is a member—include a word completion feature which can present predictive candidates to the user as the user types a partial word. By only displaying predicted candidates to the user when the user has paused for a predetermined amount of time, such word processors would not quickly flash predicted candidates to the user as the user continues to type, thereby avoiding a somewhat annoying experience for the user.
  • predicted candidates of contact records, images, sounds, and data files can be presented to the user without interrupting the user by waiting for a predetermined amount of time from the last user input gesture, e.g., key press, before presenting such candidates.
  • multiple data types can be active and it is possible that the user partially specifies a number of data records of more than one of the active data types. In this case, the user is presented with representations of each data type, e.g., icons, from which the user selects an intended data type. Then, predicted candidates of the selected data type are presented to the user for selection.
  • FIG. 1 shows a mobile telephone which is used for textual communication.
  • FIG. 2 shows a diagram of a timeline of information entry in a mobile telephone.
  • FIG. 3 shows a block diagram of the mobile telephone which is used for textual communication.
  • FIG. 4 shows a logic flow diagram of predictive analysis of input text.
  • FIG. 5 shows a logic flow diagram of managing user input in predictive analysis of input text.
  • FIG. 6 shows a logic flow diagram of managing time-outs in predictive analysis of input text.
  • FIG. 7 shows a logic flow diagram of managing a predictive analysis result in predictive analysis of input text.
  • FIG. 8 shows a logic flow diagram of predictive analysis of input text.
  • FIG. 9 shows a logic flow diagram of presenting predictive results for selection by a user.
  • FIG. 10 shows a block diagram of a predictive database.
  • FIGS. 11 - 14 show a display of mobile telephone presenting predictive results and selection by a user.
  • FIG. 15 shows a mobile telephone displaying a message in which a word is highlighted with a dotted underline to indicate the predicted candidates are available to the user in accordance with the present invention.
  • FIG. 16 shows a mobile telephone displaying a message in which predicted candidates for multiple data types are available to the user in accordance with the present invention.
  • display of results of predictive interpretation of user input gestures is postponed for an interval of time.
  • the user is permitted to continue entry of data without interruption during the interval of time.
  • the user is therefore not distracted while entering such data.
  • Predicted candidates are only displayed to the user after a pause in user input gestures of at least a predetermined minimum duration. Such a pause is presumed to indicate that the user is either puzzled or intentionally awaiting predicted candidates.
  • FIG. 1 shows a mobile telephone 100 which is used for textual communication.
  • mobile telephone 100 can be used to send and receive textual messages and/or can be used to browse the ubiquitous World Wide Web according to the known and standard Wireless Application Protocol (WAP).
  • WAP Wireless Application Protocol
  • Mobile telephone 100 can also be used, in this illustrative embodiment, to send text messages according to the currently available and known Short Message Service (SMS).
  • SMS Short Message Service
  • mobile telephone 100 includes a keypad 102 which includes both command keys 104 and data input keys 106 .
  • mobile telephone 100 includes a display screen 108 for display of text and/or graphical information.
  • Mobile telephone 100 also includes a microphone 110 for receiving audio signals and a speaker 112 for presenting audio signals to a user.
  • Data input keys 106 which are sometimes referred to herein collectively as numeric keypad 106 , are arranged in the typical telephone keypad arrangement as shown. While numeric keypad 106 is described herein as an illustrative example of a reduced keypad, it should be appreciated that the principles of the present invention are applicable to other reduced keypads. As used herein, a reduced keypad is a keypad in which one or more keys can each be used to enter one of a group of two of more symbols. For example, the letters “a,” “b,” and “c” are associated with, and specified by a user pressing, the “2” key of numeric keypad 106 .
  • FIG. 2 shows a timing diagram 200 which illustrates the display of predicted candidates resulting from predictive analysis in accordance with the present invention.
  • Time 202 represents a time at which the user has most recently pressed any of data input keys 106 .
  • time 206 i.e., during time interval 204 .
  • display of any predicted candidates for text intended to be entered by the user is suppressed.
  • timing diagram 200 is reset to time 202 . Accordingly, the user can continue entering text in a conventional manner, e.g., using an unambiguous text entry mechanism such as multi-tap, without interruption as long as the user does not pause for the entire duration of time interval 204 .
  • display 108 is modified at time 206 if predictive analysis continues.
  • the cursor can change from a steady state to a blinking state. Such notifies the user that mobile telephone 100 is analyzing data entered by the user thus far to predict a larger portion of data intended by the user. For example, given a few letters entered by the user, a blinking cursor can indicate to the user that mobile telephone 100 is processing those letters to predict an intended word or phrase.
  • Predicted candidates can also be made available to the user prior to completion of predictive analysis. For example, such partial results can be indicated to the user as available prior to time 206 and can be presented to the user while predictive analysis continues during time interval 208 .
  • the user uses command keys 104 to browse among two or more predicted candidates displayed in display 108 and to select as predicted candidate as the intended data. For example, if the predicted candidates represent words and/or phrases of a text message, selecting a candidate causes the predicted word or phrase to be included in a message which is currently being composed by the user. The user is also permitted to ignore the displayed predicted candidates and to continue using data input keys 106 to enter data. Pressing any of data input keys 106 during time interval 208 , regardless of whether predicted candidates are displayed in display 108 , causes timing diagram to reset at time 202 .
  • predictive analysis is only permitted to continue for a limited amount of time in this illustrative embodiment. Accordingly, predictive analysis terminates at time 210 , i.e., at the end of time interval 208 . If predictive analysis has not produced predicted candidates by time 210 , no predicted candidates are presented to the user. In this illustrative embodiment, display 108 is again modified to indicate to the user that predictive analysis terminated without producing useful predicted candidates, e.g., by changing the cursor from a blinking state back to a steady state. The user therefore does not wait endlessly for predictive analysis if no results are forthcoming. In this illustrative embodiment, time 210 is two (2) seconds from time 202 .
  • time 210 does not exist or is set to such a large amount of time that predictive analysis doesn't terminate during data entry by the user.
  • the user can always terminate predictive analysis, even if such analysis goes on for a considerable amount of time, by continuing to enter data by pressing any of data input keys 106 .
  • the user continues to enter data normally, i.e., without the assistance of predictive analysis.
  • Such can include pressing any of data input keys 106 to continue specifying a character or pressing one or more of control keys 104 to indicate that a complete unit, e.g., a word or phrase, has been successfully specified.
  • pressing any of data input keys 106 restarts the behavior of mobile telephone 100 represented in timing diagram 200 .
  • pressing any of data input keys 106 subsequent to time 210 resets at time 202 such that predictive candidates are presented to the user after a subsequent occurrence of time 206 , i.e., in a subsequent instance of timing diagram 200 .
  • the result of displaying predicted candidates in the manner described in conjunction with timing diagram 200 is that predictive analysis of data entry in reduced keypads is much more comfortable and palatable to the user. Specifically, the user continues to enter data at a reasonable pace without interruption so long as the user does not pause for the duration of time-interval 204 . At some point in time, the user may be confused as to which key to press next or may believe that sufficient data has been entered such that predictive analysis can make a very accurate guess as to the entire word, phrase, or data element intended by the user. Accordingly, the user pauses for the duration of time-interval 204 and predicted candidates are displayed after time 206 to the user for browsing and selection. If the user was confused, the predicted candidates can be very helpful. If the user was hoping to see predicted candidates, then mobile telephone 100 behaves exactly as the user intends. In either case, presentation of the predicted candidates is a positive experience for the user and not at all annoying.
  • Mobile telephone 100 includes a microprocessor 302 which retrieves data and/or instructions from memory 304 and executes retrieved instructions in a conventional manner.
  • Microprocessor 302 and memory 304 are connected to one another through an interconnect 306 which is a bus in this illustrative embodiment. Interconnect 306 is also connected to one or more input devices 308 , one or more output devices 310 , and network access circuitry 312 .
  • Input devices 308 include, for example, keypad 102 (FIG. 1) and microphone 110 . In alternative embodiments, input devices 308 (FIG. 3) can include other types of user input devices such as touch-sensitive screens, for example.
  • Output devices 310 include display 108 (FIG. 1), which is a liquid crystal display (LCD) in this illustrative embodiment, and speaker 112 for playing audio received by mobile telephone 100 and a second speaker for playing ring signals. Input devices 308 and output devices 310 can also collectively include a conventional headset jack for supporting voice communication through a convention headset.
  • Network access circuitry 312 includes a transceiver and an antenna for conducting data and/or voice communication through a network.
  • Call logic 320 includes a collection of instructions and data which define the behavior of mobile telephone 100 in communicating through network access circuitry 312 in a conventional manner.
  • Dial logic 322 includes a collection of instructions and data which define the behavior of mobile telephone 100 in establishing communication through network access circuitry 312 in a conventional manner.
  • Text communication logic 324 includes a collection of instructions and data which define the behavior of mobile telephone 100 in sending and receiving text messages through network access circuitry 312 in a conventional manner.
  • Text input logic 326 includes a collection of instructions and data which define the behavior of mobile telephone 100 in accepting textual data from a user. Such text entered by the user can be sent to another through text communication logic 324 or can be stored as a name of the owner of mobile telephone 100 or as a textual name to be associated with a stored telephone number. As described above, text input logic 326 can be used for a wide variety of applications other than text messaging between wireless devices.
  • Predictive database 328 stores data which is used to predict text intended by the user according to pressed keys of input devices 308 in a manner described more completely below. Predictive database 328 is shown in greater detail as block diagram 328 (FIG. 10).
  • Logic flow diagram 400 illustrates behavior of the mobile telephone 100 (FIG. 3) according to text input logic 326 of this illustrative embodiment.
  • the text input logic sets asynchronous interrupt traps for a number of events such as receiving user input, receiving predictive analysis results, and expiration of a timer.
  • step 404 text input logic 326 (FIG. 3) receives a character entered by the user by use of data input keys 106 (FIG. 1).
  • the user enters characters using conventional multi-tap techniques. Receipt of a character in step 404 corresponds to the beginning time 202 of the timeline 200 (FIG. 2).
  • text input logic 326 begins predictive analysis. Once begun, text input logic 326 performs predictive analysis concurrently with the steps of logic flow diagram 400 . In predictive analysis, text input logic 326 collects data previously entered by the user and predicts therefrom one or more additional characters, whole or partial words, and/or phrases intended by the user.
  • Text input logic 326 performs predictive analysis for the Chinese language in generally the manner described in the O'Dell Patent and that description is incorporated herein by reference. Predictive analysis can be performed in any of a number of ways for various languages.
  • a dictionary stores a large collection of words and/or phrases representing the most likely things the user is expected to enter. As the user enters data, those words and/or phrases stored in the dictionary which match the entered data become fewer and fewer in number. Any such matching words and/or phrases are ranked accordingly to frequency of use such that the first element of the list of matching words and phrases is the most frequently used word or phrase of the list.
  • text input logic 326 expects words of the English language
  • predictive data 328 stores words of the English language.
  • predictive analysis includes using relative frequency of appearance of bigrams, tri-grams, etc. to respectively predict second, third, etc. characters in the manner described in copending U.S. patent application Ser. No. 10, by Roland Williams and Robert O'Dell entitled “Text Entry Mechanism for Small Keypads” dated October ______, 2002 and that description is incorporated herein by reference.
  • predicted candidates resulting from predictive analysis are only made available when predictive analysis completes.
  • predictive analysis can make partial results available, generating one or more events to convey one or more corresponding parts of the complete set of results.
  • step 408 text input logic 326 (FIG. 3) sets a timer to expire at time 206 (FIG. 2). Accordingly, text input logic 326 (FIG. 3) is initially set to trap expiration of time interval 204 . As shown, the relative order of steps 406 and 408 is unimportant and, in fact, can be performed concurrently.
  • step 410 text input logic 326 traps an asynchronous event.
  • Asynchronous event traps are well-known and are not described further herein.
  • step 412 text input logic 326 (FIG. 3) determines the type of asynchronous event trapped in step 410 .
  • three types of asynchronous events are trapped in this illustrative embodiment: receiving user input, i.e., detected pressing of any of data input keys 106 , processing transfers to step 418 . If the trapped asynchronous event is completion of predictive analysis as started in step 406 , processing transfers to step 416 . If the trapped asynchronous event is expiration of a timer, processing transfers to step 414 .
  • Logic flow diagram 418 shows step 418 in greater detail.
  • text input logic 326 terminates predictive analysis that began in step 406 (FIG. 4).
  • processing according to logic flow diagram 418 and therefore step 418 (FIG. 4) completes.
  • processing by text input logic 418 transfers to step 404 in which the character entered by the user is received and thus to step 408 in which timers are reset such that timing diagram 200 (FIG. 2) is reset at time 202 .
  • Step 416 in which text input logic 326 processes a trapped asynchronous timeout event, is shown in greater detail as logic flow diagram 416 (FIG. 7). Operations of timers and trapping asynchronous timeouts thereof are well known and are not described further herein.
  • step 702 text input logic 326 (FIG. 3) determines if the timer is currently set to expire at time 206 (FIG. 2). If so, time 206 has not yet been reached and presentation of predictive analysis results is premature. However, if time 206 has already been reached, the timer is set to expire at time 210 as described more completely below. Therefore, if the timer is not set to expire at time 206 , text input logic 326 (FIG. 3) determines that presentation of results of predictive analysis is now permitted and presents such results in step 704 .
  • results of predictive analysis can be presented to the user in various ways.
  • a list of predicted candidates which are sorted in descending order of frequency of usage, is presented to the user and the user is free to select from the list, e.g., by using control keys 104 , rather than continuing to specify individual characters, e.g., by using data input keys 106 .
  • the most frequently used predicted candidate is superimposed over text currently entered by the user. Pressing a selected one of control keys 104 , the user can accept the superimposed predicted candidate. By pressing selected others of control keys 104 , the user can scroll up and/or down a list of predicted candidates sorted by frequency of usage to switch which of the predicted candidates is superimposed over the text entered so far by user.
  • step 706 text input logic 326 (FIG. 3) clears the timer such that termination of time-interval 208 is not trapped since termination of predictive analysis is no longer necessary.
  • step 706 is skipped such that time 210 is recognized to enable termination of predictive analysis at time 210 .
  • text input logic 326 presents predicted candidates to the user in step 704 while predictive analysis continues if it has not yet completed. More results of predictive analysis can be made available to the user in subsequent performances of logic flow diagram 416 as such results become available during time-interval 208 .
  • text input logic 326 (FIG. 3) ensures that time 206 has been reached prior to presentation of predicted candidates to the user. In particular, if the timer is set to expire at time 206 , time 206 has not yet been reached and step 704 is skipped. Thus, according to logic flow diagram 416 , if time 206 has been reached when results of predictive analysis are available, such results are displayed for the user; and such results are not displayed if time 206 has not yet been reached.
  • the availability of predicted candidates is indicated to the use in step 708 despite the fact that time 206 has not yet been reached. It is preferred that such indication be relatively subtle so as to not disrupt data entry by the user.
  • An illustrative example of a relatively subtle indication is shown in FIG. 15.
  • a dotted underline 1502 for the partial word, “resc,” subtly indicates to the user that mobile telephone 100 has predicted candidates for completion of that partial word.
  • Exclamation point 1504 is associated with soft button 1506 to suggest to the user that pressing soft button 1506 will allow the user to review and select from the predicted candidates.
  • a soft button is a button whose function is dynamic.
  • a soft button is typically associated with a dynamic function indicator such as the adjacent portion of display 108 in which exclamation point 1504 is displayed.
  • Step 414 in which text input logic 326 (FIG. 3) handles asynchronous timer expiration, is shown in greater detail as logic flow diagram 414 (FIG. 6).
  • text input logic 326 determines whether the timer is set to expire at time 206 (FIG. 2) in the manner described above with respect to test step 702 (FIG. 7). If the timer is set to expire at time 206 , processing transfers to test step 604 . Conversely, if the time is set to expire at another time, e.g., time 210 , processing transfers to step 612 .
  • step 604 text input logic 326 (FIG. 3) determines whether results of predictive analysis have been received. If so, processing transfers to step 606 in which the results are presented to the user in the manner described above. Conversely, if results of predictive analysis are not yet available, processing transfers from test step 604 to step 608 .
  • step 608 text input logic 326 (FIG. 3) changes a prompt or another aspect of display 108 . Such informs the user that mobile telephone 100 is actively processing an implicit request to predict the data intended by the user.
  • text input logic 236 changes a cursor within display 108 from a static state to a blinking state in step 608 . From the user's perspective, mobile telephone 100 has been awaiting data input during time interval 204 as indicated by a static cursor or similar aspect of information displayed in display 108 . Unbeknownst to the user, mobile telephone 100 has been actively working at predicting intended data as begun in step 406 .
  • a timer interrupt is handled in step 414 and, if no predictive analysis results are available at that time, a change in a passive state to an active state is indicated in display 108 , e.g., by a blinking cursor.
  • the user perceives that mobile telephone 100 is actively processing data entered so far. This perception is reassuring to a user who has paused for the duration of time interval 204 either as a result of uncertainty as to how to continue data entry or as a result of intentionally triggering predictive analysis.
  • step 610 (FIG. 6), text input logic 326 (FIG. 3) sets the timer to expire at time 210 (FIG. 2) since the next time to trap after time 206 is time 210 .
  • step 612 text input logic 326 (FIG. 3) determines in test step 602 that the timer is set to expire at time 210 , e.g., by a previous performance of step 610 , processing transfers to step 612 .
  • step 612 text input logic 326 (FIG. 3) terminates predictive analysis. It should be noted that step 612 is only reached at time 210 when no results of predictive analysis are available or, alternatively, if predictive analysis has not completed by time 210 after presentation of partial predictive analysis results.
  • step 614 text input logic 326 (FIG. 3) clears the timer so no further timeout events will occur.
  • step 616 text input logic 326 (FIG. 3) changes the prompt, or another aspect of display 108 , to indicate to the user a transition from an active state back to a passive state. Such communicates to the user that no predicted candidates of intended text are forthcoming.
  • step 414 (FIG. 4)
  • processing according to logic flow diagram 400 transfers to step 410 in which the next asynchronous interrupt is trapped.
  • Text input logic 326 handles an asynchronous interrupt trap of receiving user input by managing user input in step 418 .
  • Step 418 is shown more completely as logic flow diagram 418 (FIG. 5).
  • text input logic 326 terminates predictive analysis started in step 406 (FIG. 4).
  • processing according to step 418 completes and processing transfers to step 404 .
  • steps 414 - 416 after which processing transfers to step 410 in which another asynchronous event is trapped, processing transfers from step 418 to step 404 to interpret the received data as a character of text input and the overall processing of logic flow diagram 400 , as represented in timing diagram 200 , restarts.
  • FIGS. 11 - 14 illustrate an example of usage of mobile telephone 100 in accordance with the present invention.
  • FIG. 11 shows display 108 of mobile telephone 100 (FIG. 1).
  • User specification of text according to the present invention is described in the context of an illustrative example of the user specifying the word, “forward.”
  • Display 108 is divided logically, i.e., by text input logic 326 (FIG. 3), into an upper portion—window 108 B (FIG. 11)—and a lower portion—window 108 A.
  • Window 108 A displays a current word, i.e., the word currently being specified by the user.
  • Window 108 B displays previously specified words which have been confirmed by the user and therefore appended to a current message which can include multiple words during the first time-interval 204 (FIG. 2).
  • display 108 is not divided in this matter and individual characters specified by the user are displayed in the context of a message as entered by the user.
  • the user specifies the letter “f” using multi-tap user interface techniques, e.g., by pressing the “3” key three (3) times and pausing to confirm the specification of the letter “f.”
  • the results are shown in FIG. 11 in which the letter “f” is displayed in window 108 A.
  • the user has not previously specified any words so window 108 B is empty.
  • text input logic 326 receives signals representing the letter “f” as entered by the user in step 404 and displays the letter “f” in window 108 A (FIG. 11).
  • text input logic 326 respectively begins predictive analysis and sets a timer to expire at time 206 .
  • text input logic 326 traps the next asynchronous event.
  • the user presses the “6” key of numeric keypad 106 prior to time 206 (FIG. 2).
  • predictive analysis completes prior to pressing of the “6” key by the user.
  • step 502 If predictive analysis does not complete prior to pressing of the “6” key by the user, the first asynchronous event trapped by text input logic 326 is detected input and processing accordingly transfers to step 502 in which any predictive analysis is terminated. From step 502 , processing transfers to step 404 in which the input signals are interpreted as specification of one of the letters associated with the “6” key, namely, “m,” “n,” or “o.” Once any of data input keys 106 is pressed by the user, multi-tap techniques are employed to determine which letter is intended by the user. Thus, in this illustrative embodiment, the user presses the “6” key thrice without a significant pause to indicate the letter “o” is intended.
  • step 410 the next asynchronous event is trapped.
  • next asynchronous event is detection of input signals prior to time 206 .
  • processing transfers to step 502 in which the data input signals are processed in the manner described above.
  • no predictive results are presented despite completion of predictive analysis. Whether predictive analysis completes prior to user input or subsequently, results of predictive analysis are not shown prior to time 206 .
  • the user enters another character resulting in the view shown in FIG. 13. Subsequent to receipt of the letter “r” as shown, the user does not press any keys of mobile telephone 100 prior to time 206 . Therefore, a number of possible sequences of events are possible. In one sequence, predictive analysis results are available prior to time 206 . In another sequence of events, predictive analysis results become available after time 206 and prior to time 210 . In a third sequence of events, predictive analysis results are not available at time 210 .
  • test step 602 text input logic 326 determines whether the timer is set to expire at time 206 or at time 210 . Since the timer is set to expired at time 206 , processing transfers to test step 604 and therefrom to step 606 since predictive analysis results are available. In step 606 , test input logic 326 presents predicted candidates for selection by the user in the manner described above. Such is shown in FIG.
  • step 410 in which text input logic 326 has predicted that the user intends to enter the word “forward.” The user is free to select this predicted word and add it to text in window 108 B in the manner described above. If the user does so, the next event trapped in step 410 is user input and processing transfers to step 404 .
  • step 410 In the second sequence of events, predictive analysis results become available after time 206 . Accordingly, the first event trapped is a timeout at time 206 . Processing transfers from step 410 to test step 602 . Since the timer is set to expire at time 206 , processing transfers to test step 604 . Since no predictive analysis results are available, i.e., predictive analysis continues, processing transfers to step 608 in which text input logic 326 changes the prompt or another aspect of display 108 to indicate a transition from a passive state to an active state. In step 610 , text input logic 326 sets the timer to expire at time 210 such that the next timer-related event to be trapped is expiration of time interval 208 .
  • step 410 The next event to be trapped in step 410 in this illustrative example is completion of predictive analysis. Accordingly, processing transfers to test step 702 and therethrough to step 704 since the timer is now set to expire at time 210 .
  • step 704 text input logic 326 presents results of predictive analysis to the user for selection and the timer is cleared in step 706 . Accordingly, the user can select from among the predicted candidates and the timer will no longer generate an asynchronous event which could interrupt browsing and selection of predicted candidates by the user.
  • the third sequence of events predictive analysis results are not available at time 210 .
  • the first event trapped is a timeout which causes processing to include steps 602 , 604 , 608 , and 610 .
  • the timer is set to expire at time 210 . Since results of predictive analysis are not available at time 210 in this illustrative sequence of events, the next event trapped at step 410 is another timeout event. From test step 602 , processing transfers to step 612 since the timer is set to expire at time 210 .
  • step 612 text input logic 326 terminates predictive analysis.
  • step 614 text input logic 326 clears the timer so no further timeout events occur until user input is detected, thereby causing another performance of step 408 .
  • step 616 text input logic 326 changes the prompt or another aspect of display 108 to indicate to the user a change from an active state to a passive state such that the user understands that predictive analysis results are not forthcoming.
  • a user can enter data representing a file stored within mobile telephone 100 , a contact stored within a contacts database within mobile telephone 100 , an image, or a sound.
  • the type of data which can be specified by the user is clear and unambiguous.
  • various contexts of data input are implemented and each context can have two or more valid data types. For example, in the context of composing a text message, valid types can include all those listed above, namely, filenames, contacts, images, and sounds.
  • the user can identify a contact to (i) address the message to the contact or (ii) to attach a v-card representing identified contact information to the message.
  • a contact In the body of a text message, the user can identify a contact to (i) address the message to the contact or (ii) to attach a v-card representing identified contact information to the message.
  • specifying an image, a sound, or any other file stored in mobile telephone 100 in the body of a message enables attachment of the corresponding file to the message.
  • the user can enter ordinary words in the manner described above.
  • predictive database 328 includes various databases 1002 - 1012 (FIG. 10).
  • File database 1002 includes data specifying files stored within mobile telephone 100 .
  • Contacts database 1004 includes data specifying contact information, e.g., telephone numbers, addresses, e-mail addresses, and various message service addresses, of individuals whom the user may wish to contact.
  • Images database 1006 includes data specifying information about various images stored within mobile telephone 100 .
  • Sounds database 1008 includes data specifying information about various sounds stored within mobile telephone 100 , including ring tones, for example.
  • predictive database 328 includes a dictionary 1010 of the English language such that text input logic 326 (FIG. 3) can accurately predict words of the English language intended by the user during text input in the manner described above.
  • Predictive database 328 also includes (i) a personal dictionary 1012 which includes words specific to the user, i.e., proper nouns and slang frequently used by the user or stored in a contacts database used by the user and (ii) a used words dictionary 1014 which specifies words previously entered by the user such that words entered by the user which are not represented within dictionary 1010 . Accordingly, text input logic 326 (FIG.
  • Used words dictionary 1014 is used in conjunction with databases 1002 - 1012 to order predicted candidates according to frequency and/or recency of use by the user. Thus, predictive behavior adapts to the specific data entry habits of the specific user.
  • Index of remote data 1014 includes references to data similar to data stored in databases 1002 - 1012 and which is accessible through a network.
  • contact data can be retrieved from known and conventional LDAP WAP or web servers.
  • sounds such as ring tones and music in the known and ubiquitous MP3 format and be made available through wireless Internet servers and cataloged and referenced within index of remote data 1014 .
  • Text input logic 326 predicts data intended by the user when implementing multiple data types in the manner shown in logic flow diagram 900 (FIG. 9).
  • Loop step 902 and next step 910 define a loop in which each of the databases 1002 - 1014 which are valid in the current context. The context is determined by the type of task currently being performed by mobile telephone 100 . If the user is specifying the intended recipient of a text message, only contacts database 1004 is valid. During composition of the body of a text message, all databases 1002 - 1014 are valid. During each iteration of the loop of steps 902 - 910 , the particular database processed according to steps 904 - 908 is referred to as the subject database.
  • text input logic 326 identifies entries in the subject database which match one or more characters recently specified by the user.
  • text input logic 326 identifies a graphical icon that is associated with the subject database. For example, a file can be associated with a file icon; an image can be associated with an image icon or a thumbnail of the image itself; a sound can be associated with a musical note icon; and a contact can be associated with an index card icon.
  • text input logic 326 associates the graphical icon with a textual representation of each of the entries.
  • an associate icon can be displayed in conjunction with the textual description.
  • the user can readily determine the type of data item predicted by text input logic 326 .
  • an associated icon can indicate to the user whether a predicted candidate whose textual description is “jack” is a contact, an image, a sound, or a word.
  • FIG. 16 The result of processing according to logic flow diagram 900 is shown in FIG. 16.
  • the word, “jack,” is highlighted with a dotted underline 1602 to indicate that predicted candidates are available for that word.
  • Display 108 also includes icons 1604 - 1612 , displayed in respective performances of step 908 (FIG. 9), to indicate the various types of predicted candidates which are available for “jack” in the context shown in FIG. 16.
  • icon 1604 is a Rolodex® style card to represent contact information associated with “jack”
  • icon 1606 is a camera to represent one or more graphical images associated with “jack”
  • icon 1608 is a speaker to represent one or more sounds associated with “jack”
  • icon 1610 is document icon to represent one or more data files associated with “jack”
  • icon 1612 is a book to indicate one or more words which begin with “jack.”
  • the user can highlight and select icon 1604 to indicate that “jack” refers to contact information, e.g., of a person.
  • mobile telephone 100 allows the user to select from one or more contact records associated with “jack.”
  • actions can be associated with contacts and can be initiated by the user.
  • One such action can be to address the current message currently being composed and shown in display 108 to the entity represented by the selected contact record.
  • Another such action is to associate a v-card data item representing the selected contact record for attachment to the current message.
  • Sounds in a message can be embedded in the message such that the sound plays when the message is displayed or can be attached as a sound data file.
  • Images can be embedded in the message such that the image is a displayed component of the message itself or can be attached as an image data file.
  • a data file can be attached to the message or the contents of the data file can be imported into the body of the message.
  • Wireless telephones use text entry for purposes other than messaging such as storing a name of the wireless telephone's owner and associating textual names or descriptions with stored telephone numbers.
  • devices other than wireless telephones can be used for text messaging, such as two-way pagers and personal wireless e-mail devices.
  • PDAs Personal Digital Assistants
  • PIMs compact personal information managers
  • Entertainment equipment such as DVD players, VCRs, etc.
  • Text entry in the manner described above can use text entry in the manner described above for on-screen programming or in video games to enter names of high scoring players.
  • Video cameras with little more than a remote control with a numeric keypad can be used to enter text for textual overlays over recorded video.
  • Text entry in the manner described above can even be used for word processing or any data entry in a full-sized, fully-functional computer system.

Abstract

Presentation of results of a predictive analysis of text is delayed until entry of the text by a user is paused by a particular amount of time. The results are available for selection by the user for another particular amount of time. After the other particular amount of time is expired, the results are no longer available to for selection. If a particular result is selected, the selected result either replaces or supplements the entered text.

Description

    FIELD OF THE INVENTION
  • This invention relates to the field of information entry in electronic devices, and more specifically to a mechanism which is both efficient and intuitive to the user for entering information in a reduced keypad. [0001]
  • BACKGROUND OF THE INVENTION
  • The dramatic increase of popularity of the Internet has led to a corresponding dramatic rise in the popularity of textual communications such as e-mail and instant messaging. Increasingly, browsing of the World Wide Web of the Internet and textual communications are being performing using reduced keypads such as those found on mobile telephones. [0002]
  • Multi-tap systems provide usable but less than convenient text entry functionality for users of the Roman or similar alphabet. Briefly, multi-tap systems determine a number of repeated presses of a key to disambiguate multiple letters associated with a single key. For example, pressing the “2” key once represents the letter “a;” pressing the “2” key twice represents the letter “b;” pressing the “2” key thrice represents the letter “c;” and pressing the “2” key four (4) times represents the numeral “2.” The number of presses of a particular key is typically delimited with a brief pause. While feasible, entering textual data of the Roman alphabet using multi-tap is cumbersome and time-consuming. [0003]
  • Some attempts have been made to use predictive interpretation of key presses to disambiguate multiple written symbols associated with individual keys. Such predictive interpretation is described by Zi Corporation on the World Wide Web and in U.S. Pat. No. 5,109,352 to Robert B. O'Dell (hereinafter the O'Dell Patent). Predictive interpretation is generally effective and greatly simplifies text input using reduced keypads with very large collections of written symbols. However, predictive interpretation has difficulty with words used in proper nouns, slang, and neology as such words might not be represented in a predictive database. [0004]
  • Despite its great efficiency, predictive interpretation of key presses for disambiguation provides a somewhat less than intuitive user experience. In particular, predictive interpretation lacks accuracy until a few characters have been specified. The following example is illustrative. [0005]
  • Consider that a user is specifying the word “forest” using a numeric telephone keypad. In predictive interpretation, the user presses the following sequence of keys: 3-6-7-3-7-8. It should be appreciated that entering “forest” using multi-tap is significantly more cumbersome, pressing 3-3-3-6-6-6-7-7-7-3-3-7-7-7-7-8. Entry of text in which two or more consecutive letters are presented by the same key is exacerbated by the need to pause for a period of time between specifying each such letter to delimit the respective letter. In predictive interpretation, pressing “3” by the user does not necessarily interpret and display “f” as the indicated letter. Instead, an “e” or a “d” could be displayed to the user as the interpretation of the pressing of the “3” key. In some predictive interpretation implementations, the entire predicted word is displayed to the user. Since numerous words begin with any of the letters d, e, or f, it is rather common that the predicted word is not what the user intends to enter. Thus, as the user presses the “3” key to begin spelling “forest,” an entirely different word such as “don't” can be displayed as a predicted word. [0006]
  • As the user presses the second key in spelling “forest,” namely, the “6” key, some word other than “forest” can continue to be displayed as the predicted word. What can be even more confusing to the user is that the predict word can change suddenly and dramatically. For example, pressing the “6” key can change the predicted word from “don't” to “eminently”—both of which are spelled beginning with the “3” key followed immediately by the “6” key—depending upon frequency of usage of those respective words. To obtain full efficiency of predictive interpretation systems, the user continues with the remainder of the sequence—finishing with 7-3-7-8. Once the full sequence is entered, only one word—or just a few words—match the entered sequence. However, until that point is reached, the user is required to place faith and trust that the predictive interpretation will eventually arrive at the correct interpretation notwithstanding the various displayed incorrect interpretations early in the spelling of the desired word. [0007]
  • What is needed is an improved mechanism for efficiently disambiguating among multiple symbols associated with individual keys of a reduced keypad while continuing to provide accurate and reassuring feedback to the user. [0008]
  • SUMMARY OF THE INVENTION
  • In accordance with the present invention, display of results of predictive interpretation of key presses is postponed for a period of time such that a user entering multiple characters is not interrupted with repeated guesses as to what the user is intending to enter. Specifically, predictive analysis begins immediately following pressing of a key by the user, but results of such analysis are not displayed until at least a predetermined amount of time, e.g., 0.5 seconds, has elapsed since the last key press by the user. Accordingly, the user's experience in entering data is substantially enhanced. [0009]
  • It is helpful to consider the illustrative example of specifying “deforestation” using a reduced keypad. In accordance with the present invention, the user specifies “defo” unambiguously. During the entry of these first four characters, the user does not pause longer than the predetermined period of time. Accordingly, the user does not see any predicted candidates for the intended data. While predictive analysis was performed immediately following specification of each character, no results of such analysis were ever displayed to interrupt or confuse the user. [0010]
  • After specifying “defo,” the user pauses for at least the predetermined period of time. The user is most likely to pause if the user becomes somewhat confused as to which key to press next or if the user has determined that a sufficient number of characters have been specified that predictive analysis can produce accurate results. In either case, presentation of predicted candidates of the user's intended data is a welcome event. Since the user has paused for at least the predetermined amount of time, results of predictive analysis are presented to the user. [0011]
  • It is also advantageous that the user does not wait indefinitely for results of predictive analysis. Therefore, if results of predictive analysis are not available by no less than a second predetermined amount of time from the last key press, e.g., 2.0 seconds, no predicted candidates of the user's intended data are presented to the user. It is preferred that some characteristic of the display is changed to indicate to the user that predicted candidates are not forthcoming. For example, a blinking cursor can indicate that predictive analysis is under way while a transition from a blinking cursor to a solid cursor indicates that predictive candidates are not available. [0012]
  • In addition, the availability of predictive candidates can be indicated to the user, either immediately or upon elapsing of the predetermined amount of time. The user can request display of any available predicted candidates by making a user input gesture so indicating. For example, a word being entered by the user can be highlighted, e.g., with a dotted underline, to indicate that predicted candidates for completion of the word are available and a soft key can be labeled to indicate that pressing the soft key causes display of available predicted candidates. Thus, display of results of predictive analysis of user input data can be explicitly requested by the user. [0013]
  • To ensure that results of predictive analysis are thorough and complete prior to presentation to the user, such results can be considered available only when resources for predicted candidates have been thoroughly and completely processed. Alternatively, partial results of predictive analysis can be considered available while predictive analysis continues and adds to the already available partial results until processing is terminated at the elapsing of the second predetermined amount of time from the last key press. [0014]
  • In addition, the same advantages can be realized on full-size keyboards. Some word processors—such as StarOffice from Sun Microsystems of Palo Alto, Calif., and OpenOffice from the OpenOffice.org community of which Sun Microsystems is a member—include a word completion feature which can present predictive candidates to the user as the user types a partial word. By only displaying predicted candidates to the user when the user has paused for a predetermined amount of time, such word processors would not quickly flash predicted candidates to the user as the user continues to type, thereby avoiding a somewhat annoying experience for the user. [0015]
  • These advantages are also applicable to non-textual data. For example, predicted candidates of contact records, images, sounds, and data files can be presented to the user without interrupting the user by waiting for a predetermined amount of time from the last user input gesture, e.g., key press, before presenting such candidates. In some contexts, multiple data types can be active and it is possible that the user partially specifies a number of data records of more than one of the active data types. In this case, the user is presented with representations of each data type, e.g., icons, from which the user selects an intended data type. Then, predicted candidates of the selected data type are presented to the user for selection.[0016]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a mobile telephone which is used for textual communication. [0017]
  • FIG. 2 shows a diagram of a timeline of information entry in a mobile telephone. [0018]
  • FIG. 3 shows a block diagram of the mobile telephone which is used for textual communication. [0019]
  • FIG. 4 shows a logic flow diagram of predictive analysis of input text. [0020]
  • FIG. 5 shows a logic flow diagram of managing user input in predictive analysis of input text. [0021]
  • FIG. 6 shows a logic flow diagram of managing time-outs in predictive analysis of input text. [0022]
  • FIG. 7 shows a logic flow diagram of managing a predictive analysis result in predictive analysis of input text. [0023]
  • FIG. 8 shows a logic flow diagram of predictive analysis of input text. [0024]
  • FIG. 9 shows a logic flow diagram of presenting predictive results for selection by a user. [0025]
  • FIG. 10 shows a block diagram of a predictive database. [0026]
  • FIGS. [0027] 11-14 show a display of mobile telephone presenting predictive results and selection by a user.
  • FIG. 15 shows a mobile telephone displaying a message in which a word is highlighted with a dotted underline to indicate the predicted candidates are available to the user in accordance with the present invention. [0028]
  • FIG. 16 shows a mobile telephone displaying a message in which predicted candidates for multiple data types are available to the user in accordance with the present invention.[0029]
  • DETAILED DESCRIPTION
  • In accordance with the present invention, display of results of predictive interpretation of user input gestures is postponed for an interval of time. The user is permitted to continue entry of data without interruption during the interval of time. The user is therefore not distracted while entering such data. Predicted candidates are only displayed to the user after a pause in user input gestures of at least a predetermined minimum duration. Such a pause is presumed to indicate that the user is either puzzled or intentionally awaiting predicted candidates. [0030]
  • FIG. 1 shows a [0031] mobile telephone 100 which is used for textual communication. For example, mobile telephone 100 can be used to send and receive textual messages and/or can be used to browse the ubiquitous World Wide Web according to the known and standard Wireless Application Protocol (WAP). Mobile telephone 100 can also be used, in this illustrative embodiment, to send text messages according to the currently available and known Short Message Service (SMS). Of course, other types of devices with reduced keypads are used to enter data for purposes other than communications. Text entry in mobile telephone 100 is merely an illustrative embodiment. Mobile telephone 100 includes a keypad 102 which includes both command keys 104 and data input keys 106. In addition, mobile telephone 100 includes a display screen 108 for display of text and/or graphical information. Mobile telephone 100 also includes a microphone 110 for receiving audio signals and a speaker 112 for presenting audio signals to a user.
  • [0032] Data input keys 106, which are sometimes referred to herein collectively as numeric keypad 106, are arranged in the typical telephone keypad arrangement as shown. While numeric keypad 106 is described herein as an illustrative example of a reduced keypad, it should be appreciated that the principles of the present invention are applicable to other reduced keypads. As used herein, a reduced keypad is a keypad in which one or more keys can each be used to enter one of a group of two of more symbols. For example, the letters “a,” “b,” and “c” are associated with, and specified by a user pressing, the “2” key of numeric keypad 106.
  • FIG. 2 shows a timing diagram [0033] 200 which illustrates the display of predicted candidates resulting from predictive analysis in accordance with the present invention. Time 202 represents a time at which the user has most recently pressed any of data input keys 106. Until time 206, i.e., during time interval 204, display of any predicted candidates for text intended to be entered by the user is suppressed. If the user presses any of data input keys 106 during time interval 204, the user sees no predicted results, and timing diagram 200 is reset to time 202. Accordingly, the user can continue entering text in a conventional manner, e.g., using an unambiguous text entry mechanism such as multi-tap, without interruption as long as the user does not pause for the entire duration of time interval 204.
  • However, if the user has paused for the duration of [0034] time interval 204, i.e., no key press is detected at time 206 relative to the most recent key press, display of predicted candidates resulting from predictive analysis is enabled at time 206. A few things are worth noting at this point. First, predictive analysis begins immediately upon pressing of any of data input keys 106, i.e., at time 202. Second, it is possible that predictive analysis completes prior to time 206. If so, presentation of the resulting predicted candidates to the user is suppressed during time interval 206. However, availability of predicted candidates can be indicated to the user in a preferably subtle and non-disruptive manner. Third, it is also possible that predictive analysis does not complete by time 206. In this case, predictive analysis continues. In this illustrative embodiment, display 108 is modified at time 206 if predictive analysis continues. For example, the cursor can change from a steady state to a blinking state. Such notifies the user that mobile telephone 100 is analyzing data entered by the user thus far to predict a larger portion of data intended by the user. For example, given a few letters entered by the user, a blinking cursor can indicate to the user that mobile telephone 100 is processing those letters to predict an intended word or phrase.
  • Predicted candidates can also be made available to the user prior to completion of predictive analysis. For example, such partial results can be indicated to the user as available prior to [0035] time 206 and can be presented to the user while predictive analysis continues during time interval 208.
  • If predictive analysis produces one or more predicted candidates for the data intended by the user, those predicted candidates are presented to the user for browsing and selection. In this illustrative embodiment, the user uses [0036] command keys 104 to browse among two or more predicted candidates displayed in display 108 and to select as predicted candidate as the intended data. For example, if the predicted candidates represent words and/or phrases of a text message, selecting a candidate causes the predicted word or phrase to be included in a message which is currently being composed by the user. The user is also permitted to ignore the displayed predicted candidates and to continue using data input keys 106 to enter data. Pressing any of data input keys 106 during time interval 208, regardless of whether predicted candidates are displayed in display 108, causes timing diagram to reset at time 202.
  • Since all good things must come to an end, predictive analysis is only permitted to continue for a limited amount of time in this illustrative embodiment. Accordingly, predictive analysis terminates at [0037] time 210, i.e., at the end of time interval 208. If predictive analysis has not produced predicted candidates by time 210, no predicted candidates are presented to the user. In this illustrative embodiment, display 108 is again modified to indicate to the user that predictive analysis terminated without producing useful predicted candidates, e.g., by changing the cursor from a blinking state back to a steady state. The user therefore does not wait endlessly for predictive analysis if no results are forthcoming. In this illustrative embodiment, time 210 is two (2) seconds from time 202. In another embodiment, time 210 does not exist or is set to such a large amount of time that predictive analysis doesn't terminate during data entry by the user. The user can always terminate predictive analysis, even if such analysis goes on for a considerable amount of time, by continuing to enter data by pressing any of data input keys 106.
  • After [0038] time 210, the user continues to enter data normally, i.e., without the assistance of predictive analysis. Such can include pressing any of data input keys 106 to continue specifying a character or pressing one or more of control keys 104 to indicate that a complete unit, e.g., a word or phrase, has been successfully specified. In the former case, pressing any of data input keys 106 restarts the behavior of mobile telephone 100 represented in timing diagram 200. In particular, pressing any of data input keys 106 subsequent to time 210 resets at time 202 such that predictive candidates are presented to the user after a subsequent occurrence of time 206, i.e., in a subsequent instance of timing diagram 200.
  • The result of displaying predicted candidates in the manner described in conjunction with timing diagram [0039] 200 is that predictive analysis of data entry in reduced keypads is much more comfortable and palatable to the user. Specifically, the user continues to enter data at a reasonable pace without interruption so long as the user does not pause for the duration of time-interval 204. At some point in time, the user may be confused as to which key to press next or may believe that sufficient data has been entered such that predictive analysis can make a very accurate guess as to the entire word, phrase, or data element intended by the user. Accordingly, the user pauses for the duration of time-interval 204 and predicted candidates are displayed after time 206 to the user for browsing and selection. If the user was confused, the predicted candidates can be very helpful. If the user was hoping to see predicted candidates, then mobile telephone 100 behaves exactly as the user intends. In either case, presentation of the predicted candidates is a positive experience for the user and not at all annoying.
  • Some elements of [0040] mobile telephone 100 are shown in diagrammatic form in FIG. 3. Mobile telephone 100 includes a microprocessor 302 which retrieves data and/or instructions from memory 304 and executes retrieved instructions in a conventional manner.
  • [0041] Microprocessor 302 and memory 304 are connected to one another through an interconnect 306 which is a bus in this illustrative embodiment. Interconnect 306 is also connected to one or more input devices 308, one or more output devices 310, and network access circuitry 312. Input devices 308 include, for example, keypad 102 (FIG. 1) and microphone 110. In alternative embodiments, input devices 308 (FIG. 3) can include other types of user input devices such as touch-sensitive screens, for example. Output devices 310 include display 108 (FIG. 1), which is a liquid crystal display (LCD) in this illustrative embodiment, and speaker 112 for playing audio received by mobile telephone 100 and a second speaker for playing ring signals. Input devices 308 and output devices 310 can also collectively include a conventional headset jack for supporting voice communication through a convention headset. Network access circuitry 312 includes a transceiver and an antenna for conducting data and/or voice communication through a network.
  • Call [0042] logic 320 includes a collection of instructions and data which define the behavior of mobile telephone 100 in communicating through network access circuitry 312 in a conventional manner. Dial logic 322 includes a collection of instructions and data which define the behavior of mobile telephone 100 in establishing communication through network access circuitry 312 in a conventional manner. Text communication logic 324 includes a collection of instructions and data which define the behavior of mobile telephone 100 in sending and receiving text messages through network access circuitry 312 in a conventional manner.
  • [0043] Text input logic 326 includes a collection of instructions and data which define the behavior of mobile telephone 100 in accepting textual data from a user. Such text entered by the user can be sent to another through text communication logic 324 or can be stored as a name of the owner of mobile telephone 100 or as a textual name to be associated with a stored telephone number. As described above, text input logic 326 can be used for a wide variety of applications other than text messaging between wireless devices. Predictive database 328 stores data which is used to predict text intended by the user according to pressed keys of input devices 308 in a manner described more completely below. Predictive database 328 is shown in greater detail as block diagram 328 (FIG. 10).
  • Logic flow diagram [0044] 400 (FIG. 4) illustrates behavior of the mobile telephone 100 (FIG. 3) according to text input logic 326 of this illustrative embodiment. In step 402, the text input logic sets asynchronous interrupt traps for a number of events such as receiving user input, receiving predictive analysis results, and expiration of a timer.
  • In [0045] step 404, text input logic 326 (FIG. 3) receives a character entered by the user by use of data input keys 106 (FIG. 1). In this illustrative embodiment, the user enters characters using conventional multi-tap techniques. Receipt of a character in step 404 corresponds to the beginning time 202 of the timeline 200 (FIG. 2).
  • In [0046] step 406, text input logic 326 (FIG. 3) begins predictive analysis. Once begun, text input logic 326 performs predictive analysis concurrently with the steps of logic flow diagram 400. In predictive analysis, text input logic 326 collects data previously entered by the user and predicts therefrom one or more additional characters, whole or partial words, and/or phrases intended by the user.
  • [0047] Text input logic 326 performs predictive analysis for the Chinese language in generally the manner described in the O'Dell Patent and that description is incorporated herein by reference. Predictive analysis can be performed in any of a number of ways for various languages. Generally, a dictionary stores a large collection of words and/or phrases representing the most likely things the user is expected to enter. As the user enters data, those words and/or phrases stored in the dictionary which match the entered data become fewer and fewer in number. Any such matching words and/or phrases are ranked accordingly to frequency of use such that the first element of the list of matching words and phrases is the most frequently used word or phrase of the list. In this illustrative embodiment, text input logic 326 expects words of the English language, and predictive data 328 stores words of the English language. In one embodiment, predictive analysis includes using relative frequency of appearance of bigrams, tri-grams, etc. to respectively predict second, third, etc. characters in the manner described in copending U.S. patent application Ser. No. 10, by Roland Williams and Robert O'Dell entitled “Text Entry Mechanism for Small Keypads” dated October ______, 2002 and that description is incorporated herein by reference.
  • In one embodiment, predicted candidates resulting from predictive analysis are only made available when predictive analysis completes. In an alternative embodiment, predictive analysis can make partial results available, generating one or more events to convey one or more corresponding parts of the complete set of results. [0048]
  • In step [0049] 408 (FIG. 4), text input logic 326 (FIG. 3) sets a timer to expire at time 206 (FIG. 2). Accordingly, text input logic 326 (FIG. 3) is initially set to trap expiration of time interval 204. As shown, the relative order of steps 406 and 408 is unimportant and, in fact, can be performed concurrently.
  • In [0050] step 410, text input logic 326 traps an asynchronous event. Asynchronous event traps are well-known and are not described further herein. In step 412, text input logic 326 (FIG. 3) determines the type of asynchronous event trapped in step 410. As described above, three types of asynchronous events are trapped in this illustrative embodiment: receiving user input, receiving predictive analysis results, and expiration of a timer. If the trapped asynchronous event is receipt of user input, i.e., detected pressing of any of data input keys 106, processing transfers to step 418. If the trapped asynchronous event is completion of predictive analysis as started in step 406, processing transfers to step 416. If the trapped asynchronous event is expiration of a timer, processing transfers to step 414.
  • Logic flow diagram [0051] 418 (FIG. 5) shows step 418 in greater detail. In step 502, text input logic 326 (FIG. 3) terminates predictive analysis that began in step 406 (FIG. 4). After step 502, processing according to logic flow diagram 418, and therefore step 418 (FIG. 4) completes. After step 418, processing by text input logic 418 transfers to step 404 in which the character entered by the user is received and thus to step 408 in which timers are reset such that timing diagram 200 (FIG. 2) is reset at time 202.
  • Step [0052] 416 (FIG. 4), in which text input logic 326 processes a trapped asynchronous timeout event, is shown in greater detail as logic flow diagram 416 (FIG. 7). Operations of timers and trapping asynchronous timeouts thereof are well known and are not described further herein.
  • In [0053] step 702, text input logic 326 (FIG. 3) determines if the timer is currently set to expire at time 206 (FIG. 2). If so, time 206 has not yet been reached and presentation of predictive analysis results is premature. However, if time 206 has already been reached, the timer is set to expire at time 210 as described more completely below. Therefore, if the timer is not set to expire at time 206, text input logic 326 (FIG. 3) determines that presentation of results of predictive analysis is now permitted and presents such results in step 704.
  • The results of predictive analysis can be presented to the user in various ways. In one embodiment, a list of predicted candidates, which are sorted in descending order of frequency of usage, is presented to the user and the user is free to select from the list, e.g., by using [0054] control keys 104, rather than continuing to specify individual characters, e.g., by using data input keys 106. In an alternative embodiment, the most frequently used predicted candidate is superimposed over text currently entered by the user. Pressing a selected one of control keys 104, the user can accept the superimposed predicted candidate. By pressing selected others of control keys 104, the user can scroll up and/or down a list of predicted candidates sorted by frequency of usage to switch which of the predicted candidates is superimposed over the text entered so far by user.
  • In step [0055] 706 (FIG. 7), text input logic 326 (FIG. 3) clears the timer such that termination of time-interval 208 is not trapped since termination of predictive analysis is no longer necessary. In an alternative embodiment in which partial results of predictive analysis are made available to the user, step 706 is skipped such that time 210 is recognized to enable termination of predictive analysis at time 210. In this alternative embodiment, text input logic 326 presents predicted candidates to the user in step 704 while predictive analysis continues if it has not yet completed. More results of predictive analysis can be made available to the user in subsequent performances of logic flow diagram 416 as such results become available during time-interval 208.
  • Through [0056] test step 702, text input logic 326 (FIG. 3) ensures that time 206 has been reached prior to presentation of predicted candidates to the user. In particular, if the timer is set to expire at time 206, time 206 has not yet been reached and step 704 is skipped. Thus, according to logic flow diagram 416, if time 206 has been reached when results of predictive analysis are available, such results are displayed for the user; and such results are not displayed if time 206 has not yet been reached.
  • In the embodiment shown in FIG. 7, the availability of predicted candidates is indicated to the use in [0057] step 708 despite the fact that time 206 has not yet been reached. It is preferred that such indication be relatively subtle so as to not disrupt data entry by the user. An illustrative example of a relatively subtle indication is shown in FIG. 15. A dotted underline 1502 for the partial word, “resc,” subtly indicates to the user that mobile telephone 100 has predicted candidates for completion of that partial word. Exclamation point 1504 is associated with soft button 1506 to suggest to the user that pressing soft button 1506 will allow the user to review and select from the predicted candidates. A soft button is a button whose function is dynamic. A soft button is typically associated with a dynamic function indicator such as the adjacent portion of display 108 in which exclamation point 1504 is displayed.
  • Step [0058] 414 (FIG. 4), in which text input logic 326 (FIG. 3) handles asynchronous timer expiration, is shown in greater detail as logic flow diagram 414 (FIG. 6). In test step 602, text input logic 326 (FIG. 3) determines whether the timer is set to expire at time 206 (FIG. 2) in the manner described above with respect to test step 702 (FIG. 7). If the timer is set to expire at time 206, processing transfers to test step 604. Conversely, if the time is set to expire at another time, e.g., time 210, processing transfers to step 612.
  • Initially, the timer is set to expire at [0059] time 206, so processing transfers to test step 604 in which text input logic 326 (FIG. 3) determines whether results of predictive analysis have been received. If so, processing transfers to step 606 in which the results are presented to the user in the manner described above. Conversely, if results of predictive analysis are not yet available, processing transfers from test step 604 to step 608.
  • In [0060] step 608, text input logic 326 (FIG. 3) changes a prompt or another aspect of display 108. Such informs the user that mobile telephone 100 is actively processing an implicit request to predict the data intended by the user. In this illustrative embodiment, text input logic 236 changes a cursor within display 108 from a static state to a blinking state in step 608. From the user's perspective, mobile telephone 100 has been awaiting data input during time interval 204 as indicated by a static cursor or similar aspect of information displayed in display 108. Unbeknownst to the user, mobile telephone 100 has been actively working at predicting intended data as begun in step 406. At time 206, a timer interrupt is handled in step 414 and, if no predictive analysis results are available at that time, a change in a passive state to an active state is indicated in display 108, e.g., by a blinking cursor. Thus, at time 206, the user perceives that mobile telephone 100 is actively processing data entered so far. This perception is reassuring to a user who has paused for the duration of time interval 204 either as a result of uncertainty as to how to continue data entry or as a result of intentionally triggering predictive analysis.
  • In step [0061] 610 (FIG. 6), text input logic 326 (FIG. 3) sets the timer to expire at time 210 (FIG. 2) since the next time to trap after time 206 is time 210.
  • If text input logic [0062] 326 (FIG. 3) determines in test step 602 that the timer is set to expire at time 210, e.g., by a previous performance of step 610, processing transfers to step 612. In step 612, text input logic 326 (FIG. 3) terminates predictive analysis. It should be noted that step 612 is only reached at time 210 when no results of predictive analysis are available or, alternatively, if predictive analysis has not completed by time 210 after presentation of partial predictive analysis results. In step 614, text input logic 326 (FIG. 3) clears the timer so no further timeout events will occur. In step 616, text input logic 326 (FIG. 3) changes the prompt, or another aspect of display 108, to indicate to the user a transition from an active state back to a passive state. Such communicates to the user that no predicted candidates of intended text are forthcoming.
  • After any of [0063] steps 606, 610, or 616, processing according to logic flow diagram 414, and therefore step 414 (FIG. 4), completes. After either of steps 414-416, processing according to logic flow diagram 400 transfers to step 410 in which the next asynchronous interrupt is trapped.
  • Text input logic [0064] 326 (FIG. 3) handles an asynchronous interrupt trap of receiving user input by managing user input in step 418. Step 418 is shown more completely as logic flow diagram 418 (FIG. 5). In step 502, text input logic 326 (FIG. 3) terminates predictive analysis started in step 406 (FIG. 4). After step 502, processing according to step 418 completes and processing transfers to step 404. Unlike steps 414-416, after which processing transfers to step 410 in which another asynchronous event is trapped, processing transfers from step 418 to step 404 to interpret the received data as a character of text input and the overall processing of logic flow diagram 400, as represented in timing diagram 200, restarts.
  • Logic flow diagrams of FIGS. [0065] 4-7 are shown collectively for the reader's convenience in FIG. 8. FIGS. 11-14 illustrate an example of usage of mobile telephone 100 in accordance with the present invention. FIG. 11 shows display 108 of mobile telephone 100 (FIG. 1). User specification of text according to the present invention is described in the context of an illustrative example of the user specifying the word, “forward.”
  • [0066] Display 108 is divided logically, i.e., by text input logic 326 (FIG. 3), into an upper portion—window 108B (FIG. 11)—and a lower portion—window 108A. Window 108A displays a current word, i.e., the word currently being specified by the user. Window 108B displays previously specified words which have been confirmed by the user and therefore appended to a current message which can include multiple words during the first time-interval 204 (FIG. 2). In an alternative embodiment, display 108 is not divided in this matter and individual characters specified by the user are displayed in the context of a message as entered by the user.
  • In this illustrative example, the user specifies the letter “f” using multi-tap user interface techniques, e.g., by pressing the “3” key three (3) times and pausing to confirm the specification of the letter “f.” The results are shown in FIG. 11 in which the letter “f” is displayed in [0067] window 108A. In this illustrative example, the user has not previously specified any words so window 108B is empty.
  • In logic flow diagram [0068] 400 as shown in FIG. 8, text input logic 326 (FIG. 3) receives signals representing the letter “f” as entered by the user in step 404 and displays the letter “f” in window 108A (FIG. 11). In steps 406 and 408, text input logic 326 respectively begins predictive analysis and sets a timer to expire at time 206. In step 410, text input logic 326 traps the next asynchronous event. In this illustrative example, the user presses the “6” key of numeric keypad 106 prior to time 206 (FIG. 2). However, it is possible that predictive analysis completes prior to pressing of the “6” key by the user.
  • If predictive analysis does not complete prior to pressing of the “6” key by the user, the first asynchronous event trapped by [0069] text input logic 326 is detected input and processing accordingly transfers to step 502 in which any predictive analysis is terminated. From step 502, processing transfers to step 404 in which the input signals are interpreted as specification of one of the letters associated with the “6” key, namely, “m,” “n,” or “o.” Once any of data input keys 106 is pressed by the user, multi-tap techniques are employed to determine which letter is intended by the user. Thus, in this illustrative embodiment, the user presses the “6” key thrice without a significant pause to indicate the letter “o” is intended.
  • Suppose, however, for illustration purposes that predictive analysis completes prior to pressing the “6” key by the user. In this scenario, the first trapped asynchronous event is the completion of predictive analysis by [0070] text input logic 326. Accordingly, processing transfers to step test step 702 (FIG. 8). Since time 206 has not yet been reached, the timer is set to expire at time 206 and processing transfers from test step 702 to step 410, bypassing step 704 such that results of predictive analysis are not displayed in window 108A (FIG. 12). In step 410, the next asynchronous event is trapped.
  • In this illustrative example, the next asynchronous event is detection of input signals prior to [0071] time 206. Thus, processing transfers to step 502 in which the data input signals are processed in the manner described above. As a result, no predictive results are presented despite completion of predictive analysis. Whether predictive analysis completes prior to user input or subsequently, results of predictive analysis are not shown prior to time 206.
  • Continuing in this illustrative embodiment, the user enters another character resulting in the view shown in FIG. 13. Subsequent to receipt of the letter “r” as shown, the user does not press any keys of [0072] mobile telephone 100 prior to time 206. Therefore, a number of possible sequences of events are possible. In one sequence, predictive analysis results are available prior to time 206. In another sequence of events, predictive analysis results become available after time 206 and prior to time 210. In a third sequence of events, predictive analysis results are not available at time 210.
  • In the first sequence of events, predictive analysis results are available prior to [0073] time 206. The first event trapped is completion of predictive analysis and, since time 206 has not yet been reached, processing transfers through test step 702 to step 410 in the manner described above. The second event trapped is a timeout event at time 206 and processing transfers from step 410 to test step 602. In test step 602, text input logic 326 determines whether the timer is set to expire at time 206 or at time 210. Since the timer is set to expired at time 206, processing transfers to test step 604 and therefrom to step 606 since predictive analysis results are available. In step 606, test input logic 326 presents predicted candidates for selection by the user in the manner described above. Such is shown in FIG. 14 in which text input logic 326 has predicted that the user intends to enter the word “forward.” The user is free to select this predicted word and add it to text in window 108B in the manner described above. If the user does so, the next event trapped in step 410 is user input and processing transfers to step 404.
  • In the second sequence of events, predictive analysis results become available after [0074] time 206. Accordingly, the first event trapped is a timeout at time 206. Processing transfers from step 410 to test step 602. Since the timer is set to expire at time 206, processing transfers to test step 604. Since no predictive analysis results are available, i.e., predictive analysis continues, processing transfers to step 608 in which text input logic 326 changes the prompt or another aspect of display 108 to indicate a transition from a passive state to an active state. In step 610, text input logic 326 sets the timer to expire at time 210 such that the next timer-related event to be trapped is expiration of time interval 208.
  • The next event to be trapped in [0075] step 410 in this illustrative example is completion of predictive analysis. Accordingly, processing transfers to test step 702 and therethrough to step 704 since the timer is now set to expire at time 210. In step 704, text input logic 326 presents results of predictive analysis to the user for selection and the timer is cleared in step 706. Accordingly, the user can select from among the predicted candidates and the timer will no longer generate an asynchronous event which could interrupt browsing and selection of predicted candidates by the user.
  • In the third sequence of events, predictive analysis results are not available at [0076] time 210. In the manner described above, the first event trapped is a timeout which causes processing to include steps 602, 604, 608, and 610. In step 610, the timer is set to expire at time 210. Since results of predictive analysis are not available at time 210 in this illustrative sequence of events, the next event trapped at step 410 is another timeout event. From test step 602, processing transfers to step 612 since the timer is set to expire at time 210.
  • In [0077] step 612, text input logic 326 terminates predictive analysis. In step 614, text input logic 326 clears the timer so no further timeout events occur until user input is detected, thereby causing another performance of step 408. In step 616, text input logic 326 changes the prompt or another aspect of display 108 to indicate to the user a change from an active state to a passive state such that the user understands that predictive analysis results are not forthcoming.
  • The benefits of the system described above with respect to text entry are also applicable to specification of other types of data. For example, a user can enter data representing a file stored within [0078] mobile telephone 100, a contact stored within a contacts database within mobile telephone 100, an image, or a sound. In some embodiments, the type of data which can be specified by the user is clear and unambiguous. In another embodiment, various contexts of data input are implemented and each context can have two or more valid data types. For example, in the context of composing a text message, valid types can include all those listed above, namely, filenames, contacts, images, and sounds. In the body of a text message, the user can identify a contact to (i) address the message to the contact or (ii) to attach a v-card representing identified contact information to the message. Similarly, specifying an image, a sound, or any other file stored in mobile telephone 100 in the body of a message enables attachment of the corresponding file to the message. In addition, the user can enter ordinary words in the manner described above.
  • To support various types of data specified by a user, [0079] predictive database 328 includes various databases 1002-1012 (FIG. 10). File database 1002 includes data specifying files stored within mobile telephone 100. Contacts database 1004 includes data specifying contact information, e.g., telephone numbers, addresses, e-mail addresses, and various message service addresses, of individuals whom the user may wish to contact. Images database 1006 includes data specifying information about various images stored within mobile telephone 100. Sounds database 1008 includes data specifying information about various sounds stored within mobile telephone 100, including ring tones, for example.
  • In addition, [0080] predictive database 328 includes a dictionary 1010 of the English language such that text input logic 326 (FIG. 3) can accurately predict words of the English language intended by the user during text input in the manner described above. Predictive database 328 also includes (i) a personal dictionary 1012 which includes words specific to the user, i.e., proper nouns and slang frequently used by the user or stored in a contacts database used by the user and (ii) a used words dictionary 1014 which specifies words previously entered by the user such that words entered by the user which are not represented within dictionary 1010. Accordingly, text input logic 326 (FIG. 3) can accurately predict non-standard words entered by the user, including slang terms, neologies, and proper nouns for example. Used words dictionary 1014 is used in conjunction with databases 1002-1012 to order predicted candidates according to frequency and/or recency of use by the user. Thus, predictive behavior adapts to the specific data entry habits of the specific user.
  • Index of [0081] remote data 1014 includes references to data similar to data stored in databases 1002-1012 and which is accessible through a network. For example, contact data can be retrieved from known and conventional LDAP WAP or web servers. Similarly, sounds such as ring tones and music in the known and ubiquitous MP3 format and be made available through wireless Internet servers and cataloged and referenced within index of remote data 1014.
  • [0082] Text input logic 326 predicts data intended by the user when implementing multiple data types in the manner shown in logic flow diagram 900 (FIG. 9). Loop step 902 and next step 910 define a loop in which each of the databases 1002-1014 which are valid in the current context. The context is determined by the type of task currently being performed by mobile telephone 100. If the user is specifying the intended recipient of a text message, only contacts database 1004 is valid. During composition of the body of a text message, all databases 1002-1014 are valid. During each iteration of the loop of steps 902-910, the particular database processed according to steps 904-908 is referred to as the subject database.
  • In [0083] step 904, text input logic 326 identifies entries in the subject database which match one or more characters recently specified by the user. In step 906, text input logic 326 identifies a graphical icon that is associated with the subject database. For example, a file can be associated with a file icon; an image can be associated with an image icon or a thumbnail of the image itself; a sound can be associated with a musical note icon; and a contact can be associated with an index card icon. In step 906, text input logic 326 associates the graphical icon with a textual representation of each of the entries. Accordingly, subsequent presentation of any of the entries as results of predictive analysis, e.g., in steps 606 or 704, can cause the associate icon to be displayed in conjunction with the textual description. Thus, the user can readily determine the type of data item predicted by text input logic 326. For example, an associated icon can indicate to the user whether a predicted candidate whose textual description is “jack” is a contact, an image, a sound, or a word.
  • The result of processing according to logic flow diagram [0084] 900 is shown in FIG. 16. In display 108, the word, “jack,” is highlighted with a dotted underline 1602 to indicate that predicted candidates are available for that word. Display 108 also includes icons 1604-1612, displayed in respective performances of step 908 (FIG. 9), to indicate the various types of predicted candidates which are available for “jack” in the context shown in FIG. 16. Specifically, (i) icon 1604 is a Rolodex® style card to represent contact information associated with “jack,” (ii) icon 1606 is a camera to represent one or more graphical images associated with “jack,” (iii) icon 1608 is a speaker to represent one or more sounds associated with “jack,” (iv) icon 1610 is document icon to represent one or more data files associated with “jack,” and (v) icon 1612 is a book to indicate one or more words which begin with “jack.” Thus, by using control keys 104, the user can select from the various data types represented by icons 1604-1620 to select the type of data indicated by the entered text, “jack.”
  • For example, the user can highlight and [0085] select icon 1604 to indicate that “jack” refers to contact information, e.g., of a person. Upon such selection, mobile telephone 100 allows the user to select from one or more contact records associated with “jack.”
  • Once such a record is selected, actions can be associated with contacts and can be initiated by the user. One such action can be to address the current message currently being composed and shown in [0086] display 108 to the entity represented by the selected contact record. Another such action is to associate a v-card data item representing the selected contact record for attachment to the current message.
  • Other actions can be associated with other data types. Sounds in a message can be embedded in the message such that the sound plays when the message is displayed or can be attached as a sound data file. Images can be embedded in the message such that the image is a displayed component of the message itself or can be attached as an image data file. A data file can be attached to the message or the contents of the data file can be imported into the body of the message. [0087]
  • The above description is illustrative only and is not limiting. For example, while text messaging using a wireless telephone is described as an illustrative embodiment, it is appreciated that text entry in the manner described above is equally applicable to many other types of text entry. Wireless telephones use text entry for purposes other than messaging such as storing a name of the wireless telephone's owner and associating textual names or descriptions with stored telephone numbers. In addition, devices other than wireless telephones can be used for text messaging, such as two-way pagers and personal wireless e-mail devices. Personal Digital Assistants (PDAs) and compact personal information managers (PIMs) can utilize text entry in the manner described here to enter contact information and generally any type of data. Entertainment equipment such as DVD players, VCRs, etc. can use text entry in the manner described above for on-screen programming or in video games to enter names of high scoring players. Video cameras with little more than a remote control with a numeric keypad can be used to enter text for textual overlays over recorded video. Text entry in the manner described above can even be used for word processing or any data entry in a full-sized, fully-functional computer system. [0088]
  • Therefore, this description is merely illustrative, and the present invention is defined solely by the claims which follow and their full range of equivalents. [0089]

Claims (45)

What is claimed is:
1. A method for generating information in response to signals generated by a user, the method comprising:
generating a predictive interpretation of data intended by the user by the signals; and
postponing presentation of the predictive interpretation during a first interval of time.
2. The method of claim 1, wherein the method includes:
presenting the predictive interpretation to the user after the first interval of time;
receiving an indication of a selection of the predictive interpretation from the user; and
accepting the selected predictive interpretation as accurately representing the data intended by the user.
3. The method of claim 2, wherein the step of presenting includes:
displaying the selected predictive interpretation.
4. The method of claim 2, wherein the step of presenting includes:
generating a voice synthesis of the selected predictive interpretation; and
outputting the voice synthesis through a speaker.
5. The method of claim 1, wherein the method includes:
determining that a second predetermined time interval has expired; and
changing a display characteristic to indicate that the predictive interpretation is not available.
6. The method of claim 1, wherein the step of generating includes:
searching a predictive database for data corresponding to the one or more signals.
7. A method for generating information in response to signals generated by a user, the method comprising:
determining that the signals from the user represent entered data;
predicting supplemental data from the entered data;
determining that the user has paused during generation of the signals for a first time interval of a predetermined length; and
presenting the supplemental data to the user.
8. The method of claim 7, wherein the predicting includes:
searching a predictive database for the data.
9. The method of claim 7, wherein the method includes:
receiving an indication of selection of the predicted supplemental data from the user; and
modifying the entered data in accordance with the supplemental data.
10. The method of claim 7, wherein the method includes:
determining that a second predetermined time period has expired; and
changing a display characteristic to indicate that the supplemental data is not available.
11. A method for generating information in response to signals generated by a user, the method comprising:
receiving data from a user;
predicting at least one character from the data;
determining that a first time-interval has expired since the receiving;
presenting the at least one character for selection by the user after the first time-interval;
receiving an indication of selection of the at least one character from the user; and
modifying the data in accordance with the selected character.
12. The method of claim 11, wherein the predicting includes:
searching a predictive database for the data.
13. The method of claim 11, wherein the method includes:
changing a characteristic of a display to indicate that the selection is not available, after expiration of a second predetermined time interval.
14. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to provide predictive interpretation of a plurality of user input signals by performing the steps of:
generating in the memory a predictive interpretation of data intended by the user by the signals; and
postponing presentation of the predictive interpretation to an output device during a first interval of time.
15. The computer readable medium of claim 14, wherein execution of the computer instructions cause the computer to also perform the steps of:
presenting the predictive interpretation to the user through the output device after the first interval of time;
receiving an indication of a selection of the predictive interpretation from the user through an input device; and
accepting the selected predictive interpretation as data specified by the one or more user input gestures.
16. The computer readable medium of claim 15, wherein the step of presenting includes:
displaying the selected predictive interpretation.
17. The computer readable medium of claim 15, wherein the step of presenting includes:
generating a voice synthesis of the selected predictive interpretation; and
outputting the voice synthesis through a speaker.
18. The computer readable medium of claim 14, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
determining that a second predetermined time interval has expired; and
changing a display characteristic to indicate that the predictive interpretation is not available.
19. The computer readable medium of claim 14, wherein the step of generating includes:
searching a predictive database for data corresponding to the one or more signals.
20. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to provide predictive interpretation of one or more user input signals by performing the steps of:
generating in a memory a predictive interpretation during a first time interval of signals of one or more user input gestures; and
postponing presentation of the predictive interpretation to an output device during the first interval of time.
21. The computer readable medium of claim 20, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
presenting the predictive interpretation to the user through the output device after the first interval of time;
receiving an indication of a selection of the predictive interpretation from the user through an input device; and
accepting the selected predictive interpretation as data specified by the one or more user input gestures.
22. The computer readable medium of claim 21, wherein the step of presenting includes:
displaying the selected predictive interpretation.
23. The computer readable medium of claim 20, wherein the step of presenting includes:
generating a voice synthesis of the selected predictive interpretation; and
outputting the voice synthesis through a speaker.
24. The computer readable medium of claim 20, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
determining that a second predetermined time interval has expired; and
changing a display characteristic to indicate that the predictive interpretation is not available.
25. The computer readable medium of claim 20, wherein the step of generating includes:
searching a predictive database for data corresponding to the one or more signals.
26. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to provide predictive interpretation of user input signals, by performing the steps of:
determining that the signals from the user represent entered data;
predicting supplemental data from the received data;
determining that the user has paused during entry of the data for a first predetermined time interval; and
presenting the supplemental data to the user.
27. The computer readable medium of claim 26, wherein the predicting includes:
searching a predictive database for the data.
28. The computer readable medium of claim 26, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
receiving an indication of selection of the predicted supplemental data from the user; and
modifying the data in accordance with the supplemental data.
29. The computer readable medium of claim 26, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
determining that a second predetermined time period has expired; and
changing a display characteristic to indicate that the supplemental data is not available.
30. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to provide predictive interpretation of a plurality of user input signals, by performing the steps of:
receiving data from a user;
predicting at least one character from the data;
determining that a first time-interval has expired since the receiving;
presenting the predicted character for selection by the user after the first time-interval;
receiving an indication of selection of the predicted character from the user; and
modifying the data in accordance with the selected character.
31. The computer readable medium of claim 30, wherein the predicting includes:
searching a predictive database for the data.
32. The computer readable medium of claim 30, wherein the computer instructions are configured to cause the computer to perform the following additional steps:
changing a characteristic of the display to indicate that the selection is not available, after expiration of a second predetermined time interval.
33. A computer system comprising:
a processor;
a memory operatively coupled to the processor; and
a predictive interpreter which executes in the processor from the memory and which, when executed by the processor, causes the computer to provide predictive interpretation of a plurality of user input signals, by performing the steps of:
generating a predictive interpretation of data intended by the user by the signals; and
postponing presentation of the predictive interpretation during a first interval of time.
34. The computer system of claim 33, wherein the predictive interpreter, when executed, performs the following additional step:
presenting the predictive interpretation to the user after the first interval of time;
receiving an indication of a selection of the predictive interpretation from the user; and
accepting the selected predictive interpretation as accurately representing the data intended by the user.
35. The computer system of claim 34, wherein the step of presenting includes:
displaying the selected predictive interpretation.
36. The computer system of claim 34, wherein the step of presenting includes:
generating a voice synthesis of the selected predictive interpretation; and
outputting the voice synthesis through a speaker.
37. The computer system of claim 33, wherein the predictive interpreter, when executed, performs the following additional steps:
determining that a second predetermined time interval has expired; and
changing a display characteristic to indicate that the predictive interpretation is not available.
38. The computer system of claim 33, wherein the step of generating includes:
searching a predictive database for data corresponding to the one or more signals.
39. A computer system comprising:
a processor;
a memory operatively coupled to the processor; and
a predictive interpreter which executes in the processor from the memory and which, when executed by the processor, causes the computer to provide predictive interpretation of a plurality of user input signals, by performing the steps of:
determining that the signals from the user represent entered data;
predicting supplemental data from the received text;
determining that the user has paused during entry of the data for a first predetermined time interval; and
presenting the supplemental data to the user.
40. The computer system of claim 39, wherein the predicting includes:
searching a predictive database for the data.
41. The computer system of claim 39, wherein the predictive interpreter, when executed, performs the following additional steps:
receiving an indication of selection of the predicted supplemental data from the user; and
modifying the data in accordance with the supplemental data.
42. The computer system of claim 39, wherein the predictive interpreter, when executed, performs the following additional steps:
determining that a second predetermined time period has expired; and
changing a display characteristic to indicate that the supplemental data is not available.
43. A computer system comprising:
a processor;
a memory operatively coupled to the processor; and
a predictive interpreter which executes in the processor from the memory and which, when executed by the processor, causes the computer to provide predictive interpretation of a plurality of user input signals, by performing the steps of:
receiving data from a user;
predicting at least one character from the data;
determining that a first time-interval has expired since the receiving;
presenting the predicted character for selection by the user after the first time-interval;
receiving an indication of selection of the predicted character from the user; and
modifying the data in accordance with the selected character.
44. The computer system of claim 43, wherein the predicting includes:
searching a predictive database for the data.
45. The computer system of claim 43, wherein the predictive interpreter, when executed, performs the following additional step:
changing a characteristic of a display to indicate that the selection is not available, after expiration of a second predetermined time interval.
US10/360,541 2003-02-05 2003-02-05 Information entry mechanism for small keypads Abandoned US20040153963A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US10/360,541 US20040153963A1 (en) 2003-02-05 2003-02-05 Information entry mechanism for small keypads
PCT/US2004/003952 WO2004073286A2 (en) 2003-02-05 2004-02-05 Information entry mechanism for small keypads
CNA2004800036934A CN1954286A (en) 2003-02-05 2004-02-05 Information entry mechanism for small keypads
EP04708683A EP1658716A2 (en) 2003-02-05 2004-02-05 Information entry mechanism for small keypads
US12/619,608 US8413050B2 (en) 2003-02-05 2009-11-16 Information entry mechanism for small keypads
US13/853,847 US20130226960A1 (en) 2003-02-05 2013-03-29 Information entry mechanism for small keypads

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/360,541 US20040153963A1 (en) 2003-02-05 2003-02-05 Information entry mechanism for small keypads

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/619,608 Continuation US8413050B2 (en) 2003-02-05 2009-11-16 Information entry mechanism for small keypads

Publications (1)

Publication Number Publication Date
US20040153963A1 true US20040153963A1 (en) 2004-08-05

Family

ID=32771376

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/360,541 Abandoned US20040153963A1 (en) 2003-02-05 2003-02-05 Information entry mechanism for small keypads
US12/619,608 Active 2024-12-12 US8413050B2 (en) 2003-02-05 2009-11-16 Information entry mechanism for small keypads
US13/853,847 Abandoned US20130226960A1 (en) 2003-02-05 2013-03-29 Information entry mechanism for small keypads

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/619,608 Active 2024-12-12 US8413050B2 (en) 2003-02-05 2009-11-16 Information entry mechanism for small keypads
US13/853,847 Abandoned US20130226960A1 (en) 2003-02-05 2013-03-29 Information entry mechanism for small keypads

Country Status (4)

Country Link
US (3) US20040153963A1 (en)
EP (1) EP1658716A2 (en)
CN (1) CN1954286A (en)
WO (1) WO2004073286A2 (en)

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083198A1 (en) * 2002-07-18 2004-04-29 Bradford Ethan R. Dynamic database reordering system
US20040264782A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation System and method for object-oriented graphically integrated command shell
US20050017954A1 (en) * 1998-12-04 2005-01-27 Kay David Jon Contextual prediction of user words and user actions
US20050052406A1 (en) * 2003-04-09 2005-03-10 James Stephanick Selective input system based on tracking of motion parameters of an input device
US20050114770A1 (en) * 2003-11-21 2005-05-26 Sacher Heiko K. Electronic device and user interface and input method therefor
US20050195171A1 (en) * 2004-02-20 2005-09-08 Aoki Ann N. Method and apparatus for text input in various languages
US20050264584A1 (en) * 2004-05-27 2005-12-01 Zhu-Min Di [method for fast input of chinese character]
US20060059429A1 (en) * 2004-09-15 2006-03-16 International Business Machines Corporation Dynamic update of data entry in a user interface
US20060215042A1 (en) * 2005-03-24 2006-09-28 Motorola, Inc. Image processing method and apparatus with provision of status information to a user
US20060217953A1 (en) * 2005-01-21 2006-09-28 Prashant Parikh Automatic dynamic contextual data entry completion system
US20060265208A1 (en) * 2005-05-18 2006-11-23 Assadollahi Ramin O Device incorporating improved text input mechanism
US20060274051A1 (en) * 2003-12-22 2006-12-07 Tegic Communications, Inc. Virtual Keyboard Systems with Automatic Correction
US20070038951A1 (en) * 2003-06-10 2007-02-15 Microsoft Corporation Intelligent Default Selection In An OnScreen Keyboard
US20070050339A1 (en) * 2005-08-24 2007-03-01 Richard Kasperski Biasing queries to determine suggested queries
US20070050351A1 (en) * 2005-08-24 2007-03-01 Richard Kasperski Alternative search query prediction
US20070055652A1 (en) * 2005-08-24 2007-03-08 Stephen Hood Speculative search result for a search query
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US20070106785A1 (en) * 2005-11-09 2007-05-10 Tegic Communications Learner for resource constrained devices
US20070233463A1 (en) * 2006-04-03 2007-10-04 Erik Sparre On-line predictive text dictionary
US20070250469A1 (en) * 2006-04-19 2007-10-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US20080016034A1 (en) * 2006-07-14 2008-01-17 Sudipta Guha Search equalizer
US20080016046A1 (en) * 2006-07-14 2008-01-17 Yahoo Inc. Query categorizer
US20080015841A1 (en) * 2000-05-26 2008-01-17 Longe Michael R Directional Input System with Automatic Correction
US20080066017A1 (en) * 2006-09-11 2008-03-13 Yahoo! Inc. Displaying items using a reduced presentation
US20080072143A1 (en) * 2005-05-18 2008-03-20 Ramin Assadollahi Method and device incorporating improved text input mechanism
US20080109752A1 (en) * 2006-11-07 2008-05-08 Yahoo! Inc. Expanding search query input box to support livesearch interaction
US20080126308A1 (en) * 2006-11-28 2008-05-29 Yahoo! Inc. Wait timer for partially formed query
EP1952651A1 (en) * 2005-11-21 2008-08-06 ZI Corporation of Canada, Inc. Information delivery system and method for mobile appliances
US20080189605A1 (en) * 2007-02-01 2008-08-07 David Kay Spell-check for a keyboard system with automatic correction
US20080235003A1 (en) * 2007-03-22 2008-09-25 Jenny Huang-Yu Lai Disambiguation of telephone style key presses to yield chinese text using segmentation and selective shifting
US20080291059A1 (en) * 2007-05-22 2008-11-27 Longe Michael R Multiple predictions in a reduced keyboard disambiguating system
US20080313359A1 (en) * 2007-06-18 2008-12-18 Liang-Yu Chi Relative typing waiting time before disambiguation aids
US20090106695A1 (en) * 2007-10-19 2009-04-23 Hagit Perry Method and system for predicting text
US20090174665A1 (en) * 2008-01-09 2009-07-09 Jason Griffin Method of facilitating user input in handheld electronic device employing a text disambiguation function
EP2081102A1 (en) 2008-01-09 2009-07-22 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US20090192786A1 (en) * 2005-05-18 2009-07-30 Assadollahi Ramin O Text input device and method
US20090213134A1 (en) * 2003-04-09 2009-08-27 James Stephanick Touch screen and graphical user interface
US7587378B2 (en) 2005-12-09 2009-09-08 Tegic Communications, Inc. Embedded rule engine for rendering text and other applications
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US20100225599A1 (en) * 2009-03-06 2010-09-09 Mikael Danielsson Text Input
US20100292984A1 (en) * 2007-09-21 2010-11-18 Xiaofeng Huang Method for quickly inputting correlative word
US20110010174A1 (en) * 2004-06-02 2011-01-13 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7880730B2 (en) 1999-05-27 2011-02-01 Tegic Communications, Inc. Keyboard system with automatic correction
US20110197128A1 (en) * 2008-06-11 2011-08-11 EXBSSET MANAGEMENT GmbH Device and Method Incorporating an Improved Text Input Mechanism
US20120066244A1 (en) * 2010-09-15 2012-03-15 Kazuomi Chiba Name retrieval method and name retrieval apparatus
US20120137217A1 (en) * 2010-11-29 2012-05-31 International Business Machines Corporation System and method for adjusting inactivity timeout settings on a display device
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US20130031505A1 (en) * 2007-10-15 2013-01-31 Harman International Industries, Incorporated System for a text speller
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US20130212511A1 (en) * 2012-02-09 2013-08-15 Samsung Electronics Co., Ltd. Apparatus and method for guiding handwriting input for handwriting recognition
US8543934B1 (en) 2012-04-30 2013-09-24 Blackberry Limited Method and apparatus for text selection
US8583440B2 (en) 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
US8659569B2 (en) 2012-02-24 2014-02-25 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
US20140278372A1 (en) * 2013-03-14 2014-09-18 Honda Motor Co., Ltd. Ambient sound retrieving device and ambient sound retrieving method
US20140304617A1 (en) * 2011-12-21 2014-10-09 Huawei Device Co., Ltd. Information Prompt Method, Apparatus and Terminal Device
US20140359514A1 (en) * 2013-06-04 2014-12-04 Samsung Electronics Co., Ltd. Method and apparatus for processing key pad input received on touch screen of mobile terminal
US8930181B2 (en) 2012-12-06 2015-01-06 Prashant Parikh Automatic dynamic contextual data entry completion
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US9298695B2 (en) 2013-09-05 2016-03-29 At&T Intellectual Property I, Lp Method and apparatus for managing auto-correction in messaging
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9557913B2 (en) * 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
EP2626794A4 (en) * 2010-10-08 2018-01-10 NEC Corporation Character conversion system and character conversion method and computer program
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389124B2 (en) * 2004-06-02 2008-06-17 Research In Motion Limited Handheld electronic device with text disambiguation
US7516124B2 (en) 2005-12-20 2009-04-07 Yahoo! Inc. Interactive search engine
US10152139B2 (en) * 2005-12-13 2018-12-11 International Business Machines Corporation Autocompletion method and system
US8027964B2 (en) * 2007-07-13 2011-09-27 Medio Systems, Inc. Personalized query completion suggestion
KR20090110244A (en) * 2008-04-17 2009-10-21 삼성전자주식회사 Method for encoding/decoding audio signals using audio semantic information and apparatus thereof
KR20090110242A (en) * 2008-04-17 2009-10-21 삼성전자주식회사 Method and apparatus for processing audio signal
KR101599875B1 (en) * 2008-04-17 2016-03-14 삼성전자주식회사 Method and apparatus for multimedia encoding based on attribute of multimedia content, method and apparatus for multimedia decoding based on attributes of multimedia content
WO2010068445A2 (en) * 2008-11-25 2010-06-17 Spetalnick Jeffrey R Methods and systems for improved data input, compression, recognition, correction, and translation through frequency-based language analysis
US9009030B2 (en) * 2011-01-05 2015-04-14 Google Inc. Method and system for facilitating text input
US8972323B2 (en) 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
US10534532B2 (en) 2014-08-08 2020-01-14 Samsung Electronics Co., Ltd. Electronic device and method for processing letter input in electronic device
US20160180560A1 (en) * 2014-12-17 2016-06-23 Created To Love, Inc. Image insertion in a message
CN105988704B (en) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 Efficient touch screen text input system and method

Citations (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3978508A (en) * 1975-03-14 1976-08-31 Rca Corporation Pressure sensitive field effect device
US4244000A (en) * 1978-11-28 1981-01-06 Nippon Telegraph And Telephone Public Corporation PNPN Semiconductor switches
US4268815A (en) * 1979-11-26 1981-05-19 Eventoff Franklin Neal Multi-function touch switch apparatus
US4276538A (en) * 1980-01-07 1981-06-30 Franklin N. Eventoff Touch switch keyboard apparatus
US4337665A (en) * 1979-02-26 1982-07-06 Hitachi, Ltd. Semiconductor pressure detector apparatus with zero-point temperature compensation
US4339806A (en) * 1978-11-20 1982-07-13 Kunio Yoshida Electronic dictionary and language interpreter with faculties of examining a full-length word based on a partial word entered and of displaying the total word and a translation corresponding thereto
US4438505A (en) * 1979-02-09 1984-03-20 Sharp Kabushiki Kaisha Electronic dictionary and language interpreter with auto-search key for deriving a full-length word and its associated translation word based on a partial word entered
US4459049A (en) * 1982-03-24 1984-07-10 International Business Machines Corporation Abbreviated typing with special form display
US4760528A (en) * 1985-09-18 1988-07-26 Levin Leonid D Method for entering text using abbreviated word forms
US4954956A (en) * 1986-12-13 1990-09-04 Brother Kogyo Kabushiki Kaisha Data processing apparatus having function of providing helpful information after excessive time lapse from last input operation
US4965415A (en) * 1988-03-17 1990-10-23 Thorn Emi Plc Microengineered diaphragm pressure switch
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
US5333272A (en) * 1991-06-13 1994-07-26 International Business Machines Corporation Warning timer for users of interactive systems
US5387803A (en) * 1993-06-16 1995-02-07 Kulite Semiconductor Products, Inc. Piezo-optical pressure sensitive switch with porous material
US5455203A (en) * 1992-02-20 1995-10-03 Seiko Instruments Inc. Method of adjusting the pressure detection value of semiconductor pressure switches
US5528235A (en) * 1991-09-03 1996-06-18 Edward D. Lin Multi-status multi-function data processing key and key array
US5786776A (en) * 1995-03-13 1998-07-28 Kabushiki Kaisha Toshiba Character input terminal device and recording apparatus
US5802911A (en) * 1994-09-13 1998-09-08 Tokyo Gas Co., Ltd. Semiconductor layer pressure switch
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US5994655A (en) * 1998-02-26 1999-11-30 Tsai; Huo-Lu Key switch assembly for a computer keyboard
US6011554A (en) * 1995-07-26 2000-01-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6040541A (en) * 1998-06-25 2000-03-21 Hon Hai Precision Ind. Co., Ltd. Key switch
US6064020A (en) * 1998-05-25 2000-05-16 Oki Electric Industry Co., Ltd. Key switch structure
US6068416A (en) * 1998-01-19 2000-05-30 Hosiden Corporation Keyboard switch
US6072134A (en) * 1998-05-25 2000-06-06 Brother Kogyo Kabushiki Kaisha Key switch device
US6080941A (en) * 1997-11-26 2000-06-27 Hosiden Corporation Multi-directional key switch assembly
US6107584A (en) * 1999-08-27 2000-08-22 Minebea Co., Ltd. Key switch
US6118092A (en) * 1998-09-22 2000-09-12 Fujitsu Takamisawa Component Limited Key switch for keyboard
US6133536A (en) * 1999-05-11 2000-10-17 Hon Hai Precision Ind. Co., Ltd. Key switch assembly
US6133539A (en) * 1999-01-12 2000-10-17 Hon Hai Precision Ind. Co., Ltd. Key switch
US6140595A (en) * 1999-05-04 2000-10-31 Hon Hai Precision Ind. Co., Ltd. Key switch arrangement
US6153843A (en) * 1995-01-03 2000-11-28 Sega Enterprises, Ltd. Hand held control key device including multiple switch arrangements
US6156986A (en) * 1999-12-30 2000-12-05 Jing Mold Enterprise Co., Ltd. Computer key switch
US6168330B1 (en) * 1998-10-23 2001-01-02 Matsushita Electric Industrial Co., Ltd. Electronic equipment comprising thin keyboard switch
US6180048B1 (en) * 1996-12-06 2001-01-30 Polymatech Co., Ltd. Manufacturing method of color keypad for a contact of character illumination rubber switch
US6180900B1 (en) * 1998-02-20 2001-01-30 Polymatech Co., Ltd. Contact key switch and method for its manufacturing the same
US6196738B1 (en) * 1998-07-31 2001-03-06 Shin-Etsu Polymer Co., Ltd. Key top element, push button switch element and method for manufacturing same
US6257782B1 (en) * 1998-06-18 2001-07-10 Fujitsu Limited Key switch with sliding mechanism and keyboard
US6259049B1 (en) * 1999-06-07 2001-07-10 Alps Electric Co., Ltd. Key switch device with low-profile key top which gives three-dimensional appearance and looks thicker than actual one
US6265677B1 (en) * 1998-07-07 2001-07-24 Acer Peripherals, Inc. Keyboard assembly including circuit membrane switch array
US6268578B1 (en) * 1999-04-26 2001-07-31 Alps Electric Co., Ltd. Key switch used in a keyboard
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US20020183100A1 (en) * 2001-03-29 2002-12-05 John Parker Character selection method and character selection apparatus
US6864809B2 (en) * 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
US7149550B2 (en) * 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63284655A (en) * 1987-05-18 1988-11-21 Canon Inc Character processor
JPH01117825A (en) 1987-10-28 1989-05-10 Sanwa Kagaku Kenkyusho Co Ltd Pharmaceutical for nasal cavity and paranasal sinuses administration and use, form and use tool thereof
JP2910240B2 (en) 1990-11-30 1999-06-23 日本電気株式会社 Key telephone equipment
JP3320117B2 (en) 1992-10-16 2002-09-03 キヤノン株式会社 Drive device with vibration wave motor
JPH09243395A (en) 1996-03-07 1997-09-19 Mitsubishi Heavy Ind Ltd Portable telephone navigation system
DE19640068A1 (en) 1996-09-28 1998-04-02 Alsthom Cge Alcatel Destination finder for vehicle
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
JP4207658B2 (en) 1997-11-26 2009-01-14 東レ株式会社 Method for producing photosensitive heat-resistant resin precursor composition
AU5889899A (en) 1998-08-26 2000-03-21 Telefonaktiebolaget Lm Ericsson (Publ) Mobile terminal navigational assistance service
DE19859644A1 (en) 1998-12-23 2000-06-29 Alcatel Sa Mobile navigation system has topological data memory connected to central server that can communicate via mobile network with user's mobile telephone
GB2388938B (en) * 1999-02-22 2004-03-17 Nokia Corp A communication terminal having a predictive editor application
US6314365B1 (en) 2000-01-18 2001-11-06 Navigation Technologies Corp. Method and system of providing navigation services to cellular phone devices from a server
DE10027523A1 (en) * 2000-06-02 2001-12-20 Nokia Mobile Phones Ltd Data searching method e.g. for telephone directories involves displaying search term if it is stored in search table such that succeeding term of input search term is displayed if search term is not in search table
US7177797B1 (en) * 2000-08-31 2007-02-13 Semantic Compaction Systems Linguistic retrieval system and method
CA2323856A1 (en) * 2000-10-18 2002-04-18 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
DE10058492A1 (en) 2000-11-24 2001-08-30 Horst Neuser Mobile telephone with navigational support used e.g. in car, includes compass and bearing transmitter to transmit current location and destination location information to service center
GB0103053D0 (en) * 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
US7219129B2 (en) * 2001-11-28 2007-05-15 Weissman Peter S Mail program for processing multiple email messages
US7325194B2 (en) * 2002-05-07 2008-01-29 Microsoft Corporation Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US7707496B1 (en) * 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input

Patent Citations (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3978508A (en) * 1975-03-14 1976-08-31 Rca Corporation Pressure sensitive field effect device
US4339806A (en) * 1978-11-20 1982-07-13 Kunio Yoshida Electronic dictionary and language interpreter with faculties of examining a full-length word based on a partial word entered and of displaying the total word and a translation corresponding thereto
US4244000A (en) * 1978-11-28 1981-01-06 Nippon Telegraph And Telephone Public Corporation PNPN Semiconductor switches
US4438505A (en) * 1979-02-09 1984-03-20 Sharp Kabushiki Kaisha Electronic dictionary and language interpreter with auto-search key for deriving a full-length word and its associated translation word based on a partial word entered
US4337665A (en) * 1979-02-26 1982-07-06 Hitachi, Ltd. Semiconductor pressure detector apparatus with zero-point temperature compensation
US4268815A (en) * 1979-11-26 1981-05-19 Eventoff Franklin Neal Multi-function touch switch apparatus
US4276538A (en) * 1980-01-07 1981-06-30 Franklin N. Eventoff Touch switch keyboard apparatus
US4459049A (en) * 1982-03-24 1984-07-10 International Business Machines Corporation Abbreviated typing with special form display
US4760528A (en) * 1985-09-18 1988-07-26 Levin Leonid D Method for entering text using abbreviated word forms
US4954956A (en) * 1986-12-13 1990-09-04 Brother Kogyo Kabushiki Kaisha Data processing apparatus having function of providing helpful information after excessive time lapse from last input operation
US4965415A (en) * 1988-03-17 1990-10-23 Thorn Emi Plc Microengineered diaphragm pressure switch
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
US5333272A (en) * 1991-06-13 1994-07-26 International Business Machines Corporation Warning timer for users of interactive systems
US5528235A (en) * 1991-09-03 1996-06-18 Edward D. Lin Multi-status multi-function data processing key and key array
US5455203A (en) * 1992-02-20 1995-10-03 Seiko Instruments Inc. Method of adjusting the pressure detection value of semiconductor pressure switches
US5387803A (en) * 1993-06-16 1995-02-07 Kulite Semiconductor Products, Inc. Piezo-optical pressure sensitive switch with porous material
US5569626A (en) * 1993-06-16 1996-10-29 Kulite Semiconductor Products, Inc. Piezo-optical pressure sensitive switch and methods for fabricating the same
US5802911A (en) * 1994-09-13 1998-09-08 Tokyo Gas Co., Ltd. Semiconductor layer pressure switch
US6153843A (en) * 1995-01-03 2000-11-28 Sega Enterprises, Ltd. Hand held control key device including multiple switch arrangements
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5786776A (en) * 1995-03-13 1998-07-28 Kabushiki Kaisha Toshiba Character input terminal device and recording apparatus
US6011554A (en) * 1995-07-26 2000-01-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US6180048B1 (en) * 1996-12-06 2001-01-30 Polymatech Co., Ltd. Manufacturing method of color keypad for a contact of character illumination rubber switch
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6080941A (en) * 1997-11-26 2000-06-27 Hosiden Corporation Multi-directional key switch assembly
US6068416A (en) * 1998-01-19 2000-05-30 Hosiden Corporation Keyboard switch
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
US6180900B1 (en) * 1998-02-20 2001-01-30 Polymatech Co., Ltd. Contact key switch and method for its manufacturing the same
US5994655A (en) * 1998-02-26 1999-11-30 Tsai; Huo-Lu Key switch assembly for a computer keyboard
US6064020A (en) * 1998-05-25 2000-05-16 Oki Electric Industry Co., Ltd. Key switch structure
US6072134A (en) * 1998-05-25 2000-06-06 Brother Kogyo Kabushiki Kaisha Key switch device
US6257782B1 (en) * 1998-06-18 2001-07-10 Fujitsu Limited Key switch with sliding mechanism and keyboard
US6040541A (en) * 1998-06-25 2000-03-21 Hon Hai Precision Ind. Co., Ltd. Key switch
US6265677B1 (en) * 1998-07-07 2001-07-24 Acer Peripherals, Inc. Keyboard assembly including circuit membrane switch array
US6196738B1 (en) * 1998-07-31 2001-03-06 Shin-Etsu Polymer Co., Ltd. Key top element, push button switch element and method for manufacturing same
US6118092A (en) * 1998-09-22 2000-09-12 Fujitsu Takamisawa Component Limited Key switch for keyboard
US6168330B1 (en) * 1998-10-23 2001-01-02 Matsushita Electric Industrial Co., Ltd. Electronic equipment comprising thin keyboard switch
US6133539A (en) * 1999-01-12 2000-10-17 Hon Hai Precision Ind. Co., Ltd. Key switch
US6268578B1 (en) * 1999-04-26 2001-07-31 Alps Electric Co., Ltd. Key switch used in a keyboard
US6140595A (en) * 1999-05-04 2000-10-31 Hon Hai Precision Ind. Co., Ltd. Key switch arrangement
US6133536A (en) * 1999-05-11 2000-10-17 Hon Hai Precision Ind. Co., Ltd. Key switch assembly
US6259049B1 (en) * 1999-06-07 2001-07-10 Alps Electric Co., Ltd. Key switch device with low-profile key top which gives three-dimensional appearance and looks thicker than actual one
US6107584A (en) * 1999-08-27 2000-08-22 Minebea Co., Ltd. Key switch
US6156986A (en) * 1999-12-30 2000-12-05 Jing Mold Enterprise Co., Ltd. Computer key switch
US20020183100A1 (en) * 2001-03-29 2002-12-05 John Parker Character selection method and character selection apparatus
US7149550B2 (en) * 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature
US6864809B2 (en) * 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user

Cited By (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626355B2 (en) 1998-12-04 2017-04-18 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US20050017954A1 (en) * 1998-12-04 2005-01-27 Kay David Jon Contextual prediction of user words and user actions
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US8441454B2 (en) 1999-05-27 2013-05-14 Tegic Communications, Inc. Virtual keyboard system with automatic correction
US9557916B2 (en) 1999-05-27 2017-01-31 Nuance Communications, Inc. Keyboard system with automatic correction
US20100277416A1 (en) * 1999-05-27 2010-11-04 Tegic Communications, Inc. Directional input system with automatic correction
US8576167B2 (en) 1999-05-27 2013-11-05 Tegic Communications, Inc. Directional input system with automatic correction
US9400782B2 (en) 1999-05-27 2016-07-26 Nuance Communications, Inc. Virtual keyboard system with automatic correction
US8294667B2 (en) 1999-05-27 2012-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7880730B2 (en) 1999-05-27 2011-02-01 Tegic Communications, Inc. Keyboard system with automatic correction
US8466896B2 (en) 1999-05-27 2013-06-18 Tegic Communications, Inc. System and apparatus for selectable input with a touch screen
US8782568B2 (en) 1999-12-03 2014-07-15 Nuance Communications, Inc. Explicit character filtering of ambiguous text entry
US8381137B2 (en) 1999-12-03 2013-02-19 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US8972905B2 (en) 1999-12-03 2015-03-03 Nuance Communications, Inc. Explicit character filtering of ambiguous text entry
US8990738B2 (en) 1999-12-03 2015-03-24 Nuance Communications, Inc. Explicit character filtering of ambiguous text entry
US7778818B2 (en) 2000-05-26 2010-08-17 Tegic Communications, Inc. Directional input system with automatic correction
US8976115B2 (en) 2000-05-26 2015-03-10 Nuance Communications, Inc. Directional input system with automatic correction
US20080015841A1 (en) * 2000-05-26 2008-01-17 Longe Michael R Directional Input System with Automatic Correction
US20080126073A1 (en) * 2000-05-26 2008-05-29 Longe Michael R Directional Input System with Automatic Correction
US8583440B2 (en) 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
US20040083198A1 (en) * 2002-07-18 2004-04-29 Bradford Ethan R. Dynamic database reordering system
US8237682B2 (en) 2003-04-09 2012-08-07 Tegic Communications, Inc. System and process for selectable input with a touch screen
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US20050052406A1 (en) * 2003-04-09 2005-03-10 James Stephanick Selective input system based on tracking of motion parameters of an input device
US8237681B2 (en) 2003-04-09 2012-08-07 Tegic Communications, Inc. Selective input system and process based on tracking of motion parameters of an input object
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US20090213134A1 (en) * 2003-04-09 2009-08-27 James Stephanick Touch screen and graphical user interface
US8456441B2 (en) 2003-04-09 2013-06-04 Tegic Communications, Inc. Selective input system and process based on tracking of motion parameters of an input object
US20070038951A1 (en) * 2003-06-10 2007-02-15 Microsoft Corporation Intelligent Default Selection In An OnScreen Keyboard
US8132118B2 (en) * 2003-06-10 2012-03-06 Microsoft Corporation Intelligent default selection in an on-screen keyboard
US7627833B2 (en) * 2003-06-26 2009-12-01 International Business Machines Corporation System and method for object-oriented graphically integrated command shell
US20040264782A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation System and method for object-oriented graphically integrated command shell
US9600086B2 (en) 2003-11-21 2017-03-21 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US8136050B2 (en) * 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US20050114770A1 (en) * 2003-11-21 2005-05-26 Sacher Heiko K. Electronic device and user interface and input method therefor
US8570292B2 (en) 2003-12-22 2013-10-29 Tegic Communications, Inc. Virtual keyboard system with automatic correction
US20060274051A1 (en) * 2003-12-22 2006-12-07 Tegic Communications, Inc. Virtual Keyboard Systems with Automatic Correction
US20050195171A1 (en) * 2004-02-20 2005-09-08 Aoki Ann N. Method and apparatus for text input in various languages
US7636083B2 (en) 2004-02-20 2009-12-22 Tegic Communications, Inc. Method and apparatus for text input in various languages
US20050264584A1 (en) * 2004-05-27 2005-12-01 Zhu-Min Di [method for fast input of chinese character]
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US8311829B2 (en) 2004-06-02 2012-11-13 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US20110010174A1 (en) * 2004-06-02 2011-01-13 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US8606582B2 (en) 2004-06-02 2013-12-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US9786273B2 (en) 2004-06-02 2017-10-10 Nuance Communications, Inc. Multimodal disambiguation of speech recognition
US20060059429A1 (en) * 2004-09-15 2006-03-16 International Business Machines Corporation Dynamic update of data entry in a user interface
US7984387B2 (en) * 2004-09-15 2011-07-19 International Business Machines Corporation Dynamic update of data entry in a user interface
US8311805B2 (en) * 2005-01-21 2012-11-13 Prashant Parikh Automatic dynamic contextual data entry completion system
US20060217953A1 (en) * 2005-01-21 2006-09-28 Prashant Parikh Automatic dynamic contextual data entry completion system
US20130024185A1 (en) * 2005-01-21 2013-01-24 Prashant Parikh Automatic Dynamic Contextual Date Entry Completion
US20060215042A1 (en) * 2005-03-24 2006-09-28 Motorola, Inc. Image processing method and apparatus with provision of status information to a user
US20090192786A1 (en) * 2005-05-18 2009-07-30 Assadollahi Ramin O Text input device and method
US8374850B2 (en) 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Device incorporating improved text input mechanism
US9606634B2 (en) 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
US20060265208A1 (en) * 2005-05-18 2006-11-23 Assadollahi Ramin O Device incorporating improved text input mechanism
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US8374846B2 (en) 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8117540B2 (en) 2005-05-18 2012-02-14 Neuer Wall Treuhand Gmbh Method and device incorporating improved text input mechanism
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US20080072143A1 (en) * 2005-05-18 2008-03-20 Ramin Assadollahi Method and device incorporating improved text input mechanism
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US20070055652A1 (en) * 2005-08-24 2007-03-08 Stephen Hood Speculative search result for a search query
US8666962B2 (en) 2005-08-24 2014-03-04 Yahoo! Inc. Speculative search result on a not-yet-submitted search query
US7958110B2 (en) 2005-08-24 2011-06-07 Yahoo! Inc. Performing an ordered search of different databases in response to receiving a search query and without receiving any additional user input
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US20100161661A1 (en) * 2005-08-24 2010-06-24 Stephen Hood Performing an ordered search of different databases
US7844599B2 (en) 2005-08-24 2010-11-30 Yahoo! Inc. Biasing queries to determine suggested queries
US7747639B2 (en) * 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US20070050339A1 (en) * 2005-08-24 2007-03-01 Richard Kasperski Biasing queries to determine suggested queries
US20070050351A1 (en) * 2005-08-24 2007-03-01 Richard Kasperski Alternative search query prediction
US20070106785A1 (en) * 2005-11-09 2007-05-10 Tegic Communications Learner for resource constrained devices
US8504606B2 (en) 2005-11-09 2013-08-06 Tegic Communications Learner for resource constrained devices
EP1952651A1 (en) * 2005-11-21 2008-08-06 ZI Corporation of Canada, Inc. Information delivery system and method for mobile appliances
US9842143B2 (en) 2005-11-21 2017-12-12 Zi Corporation Of Canada, Inc. Information delivery system and method for mobile appliances
EP1952651A4 (en) * 2005-11-21 2010-06-02 Zi Corp Canada Inc Information delivery system and method for mobile appliances
US7587378B2 (en) 2005-12-09 2009-09-08 Tegic Communications, Inc. Embedded rule engine for rendering text and other applications
US20070233463A1 (en) * 2006-04-03 2007-10-04 Erik Sparre On-line predictive text dictionary
US7912706B2 (en) 2006-04-03 2011-03-22 Sony Ericsson Mobile Communications Ab On-line predictive text dictionary
WO2007113617A3 (en) * 2006-04-03 2007-12-06 Sony Ericsson Mobile Comm Ab On-line predictive text dictionary
US8676779B2 (en) 2006-04-19 2014-03-18 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US20070250469A1 (en) * 2006-04-19 2007-10-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US8204921B2 (en) 2006-04-19 2012-06-19 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US20090037371A1 (en) * 2006-04-19 2009-02-05 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US7580925B2 (en) 2006-04-19 2009-08-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US20080016034A1 (en) * 2006-07-14 2008-01-17 Sudipta Guha Search equalizer
US8868539B2 (en) 2006-07-14 2014-10-21 Yahoo! Inc. Search equalizer
US20080016046A1 (en) * 2006-07-14 2008-01-17 Yahoo Inc. Query categorizer
US8301616B2 (en) 2006-07-14 2012-10-30 Yahoo! Inc. Search equalizer
US7664744B2 (en) 2006-07-14 2010-02-16 Yahoo! Inc. Query categorizer
US7761805B2 (en) 2006-09-11 2010-07-20 Yahoo! Inc. Displaying items using a reduced presentation
US20080066017A1 (en) * 2006-09-11 2008-03-13 Yahoo! Inc. Displaying items using a reduced presentation
US20080109752A1 (en) * 2006-11-07 2008-05-08 Yahoo! Inc. Expanding search query input box to support livesearch interaction
US7630970B2 (en) 2006-11-28 2009-12-08 Yahoo! Inc. Wait timer for partially formed query
US20080126308A1 (en) * 2006-11-28 2008-05-29 Yahoo! Inc. Wait timer for partially formed query
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8892996B2 (en) 2007-02-01 2014-11-18 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US20080189605A1 (en) * 2007-02-01 2008-08-07 David Kay Spell-check for a keyboard system with automatic correction
US9092419B2 (en) 2007-02-01 2015-07-28 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US20080235003A1 (en) * 2007-03-22 2008-09-25 Jenny Huang-Yu Lai Disambiguation of telephone style key presses to yield chinese text using segmentation and selective shifting
US8103499B2 (en) 2007-03-22 2012-01-24 Tegic Communications, Inc. Disambiguation of telephone style key presses to yield Chinese text using segmentation and selective shifting
US8299943B2 (en) 2007-05-22 2012-10-30 Tegic Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US9086736B2 (en) 2007-05-22 2015-07-21 Nuance Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US8692693B2 (en) 2007-05-22 2014-04-08 Nuance Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US20080291059A1 (en) * 2007-05-22 2008-11-27 Longe Michael R Multiple predictions in a reduced keyboard disambiguating system
US7747792B2 (en) * 2007-06-18 2010-06-29 Yahoo! Inc. Relative typing waiting time before disambiguation aids
US20080313359A1 (en) * 2007-06-18 2008-12-18 Liang-Yu Chi Relative typing waiting time before disambiguation aids
US9116551B2 (en) * 2007-09-21 2015-08-25 Shanghai Chule (Cootek) Information Technology Co., Ltd. Method for quickly inputting correlative word
US20150317300A1 (en) * 2007-09-21 2015-11-05 Shanghai Chule (Cootek) Information Technology Co., Ltd. Method for fast inputting a related word
US20100292984A1 (en) * 2007-09-21 2010-11-18 Xiaofeng Huang Method for quickly inputting correlative word
US20130031505A1 (en) * 2007-10-15 2013-01-31 Harman International Industries, Incorporated System for a text speller
US20090106695A1 (en) * 2007-10-19 2009-04-23 Hagit Perry Method and system for predicting text
US8078978B2 (en) * 2007-10-19 2011-12-13 Google Inc. Method and system for predicting text
US8893023B2 (en) 2007-10-19 2014-11-18 Google Inc. Method and system for predicting text
EP2081102A1 (en) 2008-01-09 2009-07-22 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
US8462119B2 (en) 2008-01-09 2013-06-11 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
US20090174665A1 (en) * 2008-01-09 2009-07-09 Jason Griffin Method of facilitating user input in handheld electronic device employing a text disambiguation function
US8713432B2 (en) 2008-06-11 2014-04-29 Neuer Wall Treuhand Gmbh Device and method incorporating an improved text input mechanism
US20110197128A1 (en) * 2008-06-11 2011-08-11 EXBSSET MANAGEMENT GmbH Device and Method Incorporating an Improved Text Input Mechanism
US8605039B2 (en) 2009-03-06 2013-12-10 Zimpl Ab Text input
US20100225599A1 (en) * 2009-03-06 2010-09-09 Mikael Danielsson Text Input
US20120066244A1 (en) * 2010-09-15 2012-03-15 Kazuomi Chiba Name retrieval method and name retrieval apparatus
US8306968B2 (en) * 2010-09-15 2012-11-06 Alpine Electronics, Inc. Name retrieval method and name retrieval apparatus
EP2626794A4 (en) * 2010-10-08 2018-01-10 NEC Corporation Character conversion system and character conversion method and computer program
US10146771B2 (en) 2010-10-08 2018-12-04 Nec Corporation Mobile terminal device implementing character-pictogram translation using pictogram search site
US9069550B2 (en) * 2010-11-29 2015-06-30 International Business Machines Corporation System and method for adjusting inactivity timeout settings on a display device
US20120137217A1 (en) * 2010-11-29 2012-05-31 International Business Machines Corporation System and method for adjusting inactivity timeout settings on a display device
US10133335B2 (en) 2010-11-29 2018-11-20 International Business Machines Corporation Adjusting inactivity timeout settings for a computing device
US10620684B2 (en) 2010-11-29 2020-04-14 International Business Machines Corporation Adjusting inactivity timeout settings for a computing device
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9032322B2 (en) 2011-11-10 2015-05-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US20140304617A1 (en) * 2011-12-21 2014-10-09 Huawei Device Co., Ltd. Information Prompt Method, Apparatus and Terminal Device
US9619119B2 (en) * 2011-12-21 2017-04-11 Huawei Device Co., Ltd. Information prompt method, apparatus and terminal device
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9557913B2 (en) * 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US20130212511A1 (en) * 2012-02-09 2013-08-15 Samsung Electronics Co., Ltd. Apparatus and method for guiding handwriting input for handwriting recognition
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US8659569B2 (en) 2012-02-24 2014-02-25 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US10331313B2 (en) 2012-04-30 2019-06-25 Blackberry Limited Method and apparatus for text selection
US8543934B1 (en) 2012-04-30 2013-09-24 Blackberry Limited Method and apparatus for text selection
US9442651B2 (en) 2012-04-30 2016-09-13 Blackberry Limited Method and apparatus for text selection
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US8930181B2 (en) 2012-12-06 2015-01-06 Prashant Parikh Automatic dynamic contextual data entry completion
US20140278372A1 (en) * 2013-03-14 2014-09-18 Honda Motor Co., Ltd. Ambient sound retrieving device and ambient sound retrieving method
US20140359514A1 (en) * 2013-06-04 2014-12-04 Samsung Electronics Co., Ltd. Method and apparatus for processing key pad input received on touch screen of mobile terminal
US10423327B2 (en) * 2013-06-04 2019-09-24 Samsung Electronics Co., Ltd. Method and apparatus for processing key pad input received on touch screen of mobile terminal
US9298695B2 (en) 2013-09-05 2016-03-29 At&T Intellectual Property I, Lp Method and apparatus for managing auto-correction in messaging
US10127222B2 (en) 2013-09-05 2018-11-13 At&T Mobility Ii Llc Method and apparatus for managing auto-correction in messaging

Also Published As

Publication number Publication date
EP1658716A2 (en) 2006-05-24
US20100121876A1 (en) 2010-05-13
US20130226960A1 (en) 2013-08-29
CN1954286A (en) 2007-04-25
US8413050B2 (en) 2013-04-02
WO2004073286A2 (en) 2004-08-26
WO2004073286A3 (en) 2006-12-07

Similar Documents

Publication Publication Date Title
US8413050B2 (en) Information entry mechanism for small keypads
RU2316040C2 (en) Method for inputting text into electronic communication device
US9792041B2 (en) Device, methods, and user interface for providing optimized entry of alphanumeric text
EP1593029A1 (en) Text entry mechanism for small keypads
JP5305592B2 (en) Predicting the user's word and user's action by context
US6864809B2 (en) Korean language predictive mechanism for text entry by a user
RU2424547C2 (en) Word prediction
JP3724492B2 (en) Problem solving support device and program
US8244284B2 (en) Mobile communication device and the operating method thereof
US20120192096A1 (en) Active command line driven user interface
US20100122164A1 (en) Contextual prediction of user words and user actions
US20040260536A1 (en) Method and apparatus for recognizing language input mode and method and apparatus for automatically switching language input modes using the same
US20080182599A1 (en) Method and apparatus for user input
US20130002556A1 (en) System and method for seamless switching among different text entry systems on an ambiguous keyboard
US20140250354A1 (en) Terminal, function starting-up method and program for terminal
EP2479647A9 (en) Active command line driven user interface
JP2007516531A (en) Data entry method
EP2541373A1 (en) System and method for seamless switching among different text entry systems on an ambiguous keyboard
KR100504846B1 (en) Key input method for mobile terminal
EP2017708A1 (en) Mobile communication device and the operating method thereof
KR101000704B1 (en) Commonly used sentence insertion method for mobile communication terminal
KR101179467B1 (en) Method for calling out sentence in mobile communication terminal
KR100651934B1 (en) Method for Character inputing of Mobile Phone
JPH10187748A (en) Method and device for information retrieval, and computer-readable memory
JP2005025266A (en) Information presentation device, method and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: ZI TECHNOLOGY CORPORATION LTD., BERMUDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIMPSON, TODD G.;WILLIAMS, ROLAND E.;O'DELL, ROBERT B.;REEL/FRAME:014203/0323

Effective date: 20030415

AS Assignment

Owner name: ZI CORPORATION OF CANADA, INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZI TECHNOLOGY CORPORATION LTD.;REEL/FRAME:019773/0568

Effective date: 20070606

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION