U.S. patent application number 10/360541 was filed with the patent office on 2004-08-05 for information entry mechanism for small keypads.
Invention is credited to O'Dell, Robert B., Simpson, Todd G., Williams, Roland E..
Application Number | 20040153963 10/360541 |
Document ID | / |
Family ID | 32771376 |
Filed Date | 2004-08-05 |
United States Patent
Application |
20040153963 |
Kind Code |
A1 |
Simpson, Todd G. ; et
al. |
August 5, 2004 |
Information entry mechanism for small keypads
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.
Inventors: |
Simpson, Todd G.; (Calgary,
CA) ; Williams, Roland E.; (Pleasant Hill, CA)
; O'Dell, Robert B.; (Oakland, CA) |
Correspondence
Address: |
JAMES D IVEY
3025 TOTTERDELL STREET
OAKLAND
CA
94611-1742
US
|
Family ID: |
32771376 |
Appl. No.: |
10/360541 |
Filed: |
February 5, 2003 |
Current U.S.
Class: |
715/202 ;
715/255 |
Current CPC
Class: |
H04M 1/72436 20210101;
G06F 16/245 20190101; G06F 3/0237 20130101; G06F 40/274 20200101;
H04M 2250/70 20130101 |
Class at
Publication: |
715/500.1 |
International
Class: |
G06F 007/00 |
Claims
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.
Description
FIELD OF THE INVENTION
[0001] 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.
BACKGROUND OF THE INVENTION
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
SUMMARY OF THE INVENTION
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] FIG. 1 shows a mobile telephone which is used for textual
communication.
[0018] FIG. 2 shows a diagram of a timeline of information entry in
a mobile telephone.
[0019] FIG. 3 shows a block diagram of the mobile telephone which
is used for textual communication.
[0020] FIG. 4 shows a logic flow diagram of predictive analysis of
input text.
[0021] FIG. 5 shows a logic flow diagram of managing user input in
predictive analysis of input text.
[0022] FIG. 6 shows a logic flow diagram of managing time-outs in
predictive analysis of input text.
[0023] FIG. 7 shows a logic flow diagram of managing a predictive
analysis result in predictive analysis of input text.
[0024] FIG. 8 shows a logic flow diagram of predictive analysis of
input text.
[0025] FIG. 9 shows a logic flow diagram of presenting predictive
results for selection by a user.
[0026] FIG. 10 shows a block diagram of a predictive database.
[0027] FIGS. 11-14 show a display of mobile telephone presenting
predictive results and selection by a user.
[0028] 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.
[0029] 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.
DETAILED DESCRIPTION
[0030] 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.
[0031] FIG. 1 shows a 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.
[0033] 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. 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.
[0034] However, if the user has paused for the duration of 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.
[0035] 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.
[0036] 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 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.
[0037] 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 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.
[0038] After 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.
[0039] 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.
[0040] Some elements of 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.
[0042] 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.
[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).
[0044] Logic flow diagram 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.
[0045] In 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).
[0046] In 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.
[0048] 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.
[0049] In step 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.
[0050] In 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.
[0051] Logic flow diagram 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.
[0052] Step 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.
[0053] In 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.
[0054] 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 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.
[0055] In step 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.
[0056] Through 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.
[0057] In the embodiment shown in FIG. 7, 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.
[0058] Step 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.
[0059] Initially, the timer is set to expire at 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.
[0060] In 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.
[0061] In 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.
[0062] If 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. 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.
[0063] After any of 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.
[0064] Text input logic 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.
[0065] Logic flow diagrams of FIGS. 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.
[0067] 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 window 108A. In this
illustrative example, the user has not previously specified any
words so window 108B is empty.
[0068] In logic flow diagram 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.
[0069] 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.
[0070] 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 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.
[0071] In this illustrative example, the next asynchronous event is
detection of input signals prior to 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.
[0072] 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 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.
[0073] In the first sequence of events, predictive analysis results
are available prior to 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.
[0074] 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.
[0075] 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. 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.
[0076] In the third sequence of events, predictive analysis results
are not available at 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.
[0077] In 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.
[0078] 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 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.
[0079] To support various types of data specified by a user,
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.
[0080] In addition, 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.
[0081] Index of 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.
[0083] In 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.
[0084] The result of processing according to logic flow diagram 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.RTM. 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."
[0085] For example, the user can highlight and 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."
[0086] 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 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.
[0087] 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.
[0088] 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.
[0089] Therefore, this description is merely illustrative, and the
present invention is defined solely by the claims which follow and
their full range of equivalents.
* * * * *