One aspect of the invention involves a method that includes: in a first area of the touch screen, displaying a current character string being input by a user with the keyboard; in a second area of the touch screen, displaying the current character string or a portion thereof and a suggested replacement for the current character string; replacing the current character string in the first area with the suggested replacement if the user activates a delimiter key on the keyboard; replacing the current character string in the first area with the suggested replacement if the user performs a first gesture on the suggested replacement displayed in the second area; and keeping the current character string in the first area if the user performs a second gesture on the current character string or the portion thereof displayed in the second area.

Claim:

What is claimed is:

1. A method, comprising: at a portable electronic device with a touch screen display: in a first area of the touch screen display, displaying a current character string beinginput by a user with the keyboard; in a second area of the touch screen display that is between the first area and the keyboard, displaying the current character string or a portion thereof and a suggested replacement character string for the currentcharacter string on opposite sides of the second area; replacing the current character string in the first area with the suggested replacement character string if the user activates a space bar key on the keyboard; replacing the current characterstring in the first area with the suggested replacement character string if the user performs a first gesture on the suggested replacement character string displayed in the second area; and keeping the current character string in the first area andadding a space if the user performs a second gesture in the second area on the current character string or the portion thereof displayed in the second area.

2. A method, comprising: at a portable electronic device with a touch screen display: in a first area of the touch screen display, displaying a current character string being input by a user with the keyboard; in a second area of the touchscreen display separate from the first area, displaying the current character string or a portion thereof and a suggested replacement character string for the current character string; replacing the current character string in the first area with thesuggested replacement character string if the user activates a key on the keyboard associated with a delimiter; replacing the current character string in the first area with the suggested replacement character string if the user performs a first gestureon the suggested replacement character string displayed in the second area; and keeping the current character string in the first area if the user performs a second gesture in the second area on the current character string or the portion thereofdisplayed in the second area.

3. The method of claim 2, including adding a space after the current character string if the user performs the second gesture on the current character string or the portion thereof displayed in the second area.

4. The method of claim 2, wherein the key on the keyboard associated with a delimiter is a space bar key.

5. The method of claim 2, wherein the delimiter is any of a plurality of predefined delimiters symbols.

6. The method of claim 2, wherein the keyboard is a soft keyboard that is part of the touch screen display.

7. The method of claim 2, wherein the keyboard is a physical keyboard that is not a part of the touch screen display.

8. The method of claim 2, wherein the character strings are words, numbers, or a combination thereof.

9. The method of claim 2, further comprising: in the second area of the touch screen display, displaying an alternative suggested replacement character string for the current character string; and replacing the current character string in thefirst area with the alternative suggested replacement character string if the user performs a predefined gesture on the alternative suggested replacement character string in the second area.

10. The method of claim 2, further comprising adding the current character string to a dictionary in the device if the user performs the second gesture on the current character string displayed in the second area.

11. The method of claim 2, wherein the first gesture includes one or more taps on the suggested replacement character string displayed in the second area.

12. The method of claim 2, wherein the second gesture includes one or more taps on the current character string displayed in the second area.

13. The method of claim 2, further comprising, after replacing the current character string in the first area with the suggested replacement character string, displaying the current character string in place of the suggested replacementcharacter string in the first area if the user performs a third gesture on the suggested replacement character string in the first area.

14. The method of claim 13, wherein the third gesture comprises a tap gesture or a hover gesture.

15. The method of claim 2, wherein, in the second area of the touch screen display, the suggested replacement character string and the current character string are on opposite sides of the second area.

16. The method of claim 2, wherein, in the second area of the touch screen display, the suggested replacement character string is on the left side of the second area and the current character string is on the right side of the second area.

17. The method of claim 2, wherein the second area is between the first area and the keyboard.

18. A graphical user interface on a portable electronic device with a keyboard and a touch screen display, comprising: a first area of the touch screen display that displays a current character string being input by a user with the keyboard; and a second area of the touch screen display separate from the first area that displays the current character string or a portion thereof and a suggested replacement character string for the current character string; wherein; the current characterstring in the first area is replaced with the suggested replacement character string if the user activates a key on the keyboard associated with a delimiter; the current character string in the first area is replaced with the suggested replacementcharacter string if the user performs a gesture on the suggested replacement character string in the second area; and the current character string in the first area is kept if the user performs a gesture in the second area on the current characterstring or the portion thereof displayed in the second area.

19. A portable electronic device, comprising: a touch screen display; one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or moreprocessors, one or more programs including: instructions for displaying, in a first area of the touch screen display, a current character string being input by a user with the keyboard; instructions for displaying, in a second area of the touch screendisplay separate from the first area, the current character string and a suggested replacement character string for the current character string; instructions for replacing the current character string in the first area with the suggested replacementcharacter string if the user activates a key on the keyboard associated with a delimiter; instructions for replacing the current character string in the first area with the suggested replacement character string if the user performs a first gesture onthe suggested replacement character string displayed in the second area; and instructions for keeping the current character string in the first area if the user performs a second gesture in the second area on the current character string or the portionthereof displayed in the second area.

20. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a portable electronic device with a touch screen display cause the portable electronic device to: in afirst area of the touch screen display, display a current character string being input by a user with the keyboard; in a second area of the touch screen display separate from the first area, display the current character string or a portion thereof anda suggested replacement character string for the current character string; replace the current character string in the first area with the suggested replacement character string if the user activates a key on the keyboard associated with a delimiter; replace the current character string in the first area with the suggested replacement character string if the user performs a first gesture on the suggested replacement character string displayed in the second area; and keep the current character stringin the first area if the user performs a second gesture in the second area on the current character string or the portion thereof displayed in the second area.

21. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a portable electronic device with a display and a keyboard, cause the portable electronic device toperform a method comprising: receiving a plurality of user inputs of characters through the keyboard, and displaying on the display a current character string as input by the user; displaying a suggested replacement character string for the currentcharacter string; while both the current character string and the suggested replacement string are displayed, receiving a further user input through a punctuation mark key of the keyboard; and in response to the further user input, replacing thecurrent character string with the suggested replacement character string, and appending a punctuation mark at the end of the replacement character string, the punctuation mark corresponding to the punctuation mark key through which the further user inputwas received.

22. The computer readable storage medium of claim 21, wherein the punctuation mark key corresponds to a punctuation mark selected from the group consisting essentially of a comma, a period, an exclamation point, a question mark, and asemicolon.

23. The computer readable storage medium of claim 21, wherein the display is a touch screen display, and wherein the keyboard is a virtual keyboard displayed on the touch screen display.

24. The computer readable storage medium of claim 23, wherein the virtual keyboard comprises a display that simultaneously displays a first plurality of virtual keys each associated with a respective letter of the alphabet, and a secondplurality of virtual punctuation mark keys each corresponding to a respective punctuation mark.

25. The computer readable storage medium of claim 24, wherein the plurality of virtual punctuation mark keys comprises a first virtual punctuation mark key corresponding to a comma and a second virtual punctuation mark key corresponding to aperiod.

26. The computer readable storage medium of claim 21, wherein displaying a suggested replacement character string for the current character string comprises displaying a single suggested replacement character string.

27. A portable electronic device, comprising: one or more processors; a touch screen display; and computer readable memory comprising instructions that, when executed by the one or more processors, perform operations comprising: receiving aplurality of user inputs of characters through the keyboard, and displaying a current character string as input by the user, displaying a suggested replacement character string for the current character string; while both the current character stringand the suggested replacement string are displayed, receiving a further user input through a punctuation mark key of the keyboard, and in response to the further user input, replacing the current character string with the suggested replacement characterstring, and appending a punctuation mark at the end of the replacement character string, the punctuation mark corresponding to the punctuation mark key through which the further user input was received.

28. A portable electronic device, comprising: one or more processors; a display; a keyboard; and computer readable memory comprising instructions that, when executed by the one or more processors, perform operations comprising: receiving aplurality of user inputs of characters through the keyboard, and displaying on the display a current character string as input by the user, displaying on the display a suggested replacement character string for the current character string, and receivinga further user input of a single touch, wherein the portable electronic device is configured to receive the further single user input to perform a selected character string function of a plurality of possible character string functions depending on wherethe further single user input is received, the plurality of possible character string functions comprising, replacing the current character string with the suggested replacement character string in response to a single user input at a first location,replacing the current character string with the suggested replacement character string in combination with a first punctuation mark in response to a single user input at a second location, the second location being a first punctuation mark key on thekeyboard corresponding to the first punctuation mark, replacing the current character string with the suggested replacement character string in combination with a second punctuation mark in response to a single user input at a third location, the thirdlocation being a second punctuation mark key on the keyboard corresponding to the second punctuation mark, and accepting the current character string in response to a single user input at a fourth location.

29. The portable electronic device of claim 28, wherein the display is a touch screen display, and wherein the keyboard is a virtual keyboard displayed on the touch screen display.

30. The portable electronic device of claim 29, wherein the virtual keyboard comprises a display that simultaneously displays a first plurality of virtual keys each associated with a respective letter of the alphabet, and a second plurality ofvirtual punctuation mark keys each corresponding to a respective punctuation mark.

31. The portable electronic device of claim 30, wherein the first punctuation mark key is a virtual punctuation mark key corresponding to the first punctuation mark, and the second punctuation mark key is a virtual punctuation mark keycorresponding to the second punctuation mark.

32. A portable electronic device, comprising: one or more processors; a touch screen display; and computer readable memory comprising instructions that, when executed by the one or more processors, perform operations comprising, receiving aplurality of user inputs of characters through a virtual keyboard that simultaneously displays a first plurality of virtual keys each associated with a respective single letter of the alphabet, and a second plurality of virtual punctuation mark keys eachcorresponding to a respective punctuation mark, displaying on the touch screen display a current character string as input by the user, displaying on the display a suggested replacement character string for the current character string, in response to afirst user input at a first location, replacing the current character string with the suggested replacement character string, in response to a second user input at a virtual punctuation mark key corresponding to a first punctuation mark, replacing thecurrent character string with the suggested replacement character string in combination with the first punctuation mark, and in response to a third user input at a third location, accepting the current character string.

33. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a portable electronic device with a touch screen display, cause the portable electronic device toperform a method comprising: receiving a plurality of user character inputs through the touch screen display of the portable electronic device, wherein the user character inputs are received through a virtual keyboard displayed on the touch screen,wherein the virtual keyboard simultaneously displays a first plurality of virtual keys each associated with a respective single letter of the alphabet, and a second plurality of virtual punctuation mark keys; displaying on the touch display a currentcharacter string as input by a user; while displaying the current character string, also displaying a suggested replacement character string for the current character string, wherein at the time a suggested replacement character string is displayed, theportable electronic device is able to receive a plurality of possible user single touch inputs that will result in selection of the suggested replacement character string, and wherein said plurality of possible user single touch inputs includes actuationof one of the plurality of virtual punctuation mark keys; receiving a single touch user selection input through one of the plurality of the virtual punctuation mark key; and in response to the single touch user selection input, replacing the currentcharacter set with the suggested replacement character set and adding at the end of said character set a punctuation mark corresponding to the virtual punctuation mark key through which the input was received.

34. The computer readable storage medium of claim 33, wherein the plurality of possible single touch user inputs that will result in selection of the suggested replacement character string includes inputs that are not associated with a virtualpunctuation mark key.

35. The computer readable storage medium of claim 34, wherein the plurality of possible single touch user inputs that are not associated with a virtual punctuation mark key and that will result in selection of the suggested replacementcharacter string comprises a single touch input through the space bar of the virtual keyboard.

36. The computer readable storage medium of claim 34, wherein the plurality of possible single touch user inputs that are not associated with a virtual punctuation mark key and that will result in selection of the suggested replacementcharacter string comprises a single touch input at the location of the displayed suggested replacement character set.

38. The computer readable storage medium of claim 37, wherein the plurality of virtual punctuation mark keys further comprises virtual punctuation mark keys respectively associated with an exclamation point and a semicolon.

Description:

RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 11/620,641, filed Jan. 5, 2007, entitled "Method and System for Providing Word Recommendations for Text Input," the disclosure of which is hereby incorporated by referenceherein.

TECHNICAL FIELD

The disclosed embodiments relate generally to text input on portable electronic devices, and more particularly, to a method, system, and graphical user interface for providing word recommendations on a portable electronic device.

BACKGROUND

In recent years, the functional capabilities of portable electronic devices have increased dramatically. Current devices enable communication by voice, text, and still or moving images. Communication by text, such as by email or short messageservice (SMS), has proven to be quite popular.

However, the size of these portable communication devices also restricts the size of the text input device, such as a physical or virtual keyboard, in the portable device. With a size-restricted keyboard, designers are often forced to make thekeys smaller or overload the keys. Both may lead to typing mistakes and thus more backtracking to correct the mistakes. This makes the process of inputting text on the devices inefficient and reduces user satisfaction with such portable devices.

Accordingly, there is a need for more efficient ways of entering text into portable devices.

SUMMARY

The above deficiencies and other problems associated with user interfaces for portable devices are reduced or eliminated by the disclosed device that includes a text input interface that provides word recommendations.

According to some embodiments, a computer-implemented method may be performed at a portable electronic device with a keyboard and a touch screen display. The method includes: in a first area of the touch screen display, displaying a currentcharacter string being input by a user with the keyboard; in a second area of the touch screen display, displaying the current character string or a portion thereof and a suggested replacement character string for the current character string; replacingthe current character string in the first area with the suggested replacement character string if the user activates a key on the keyboard associated with a delimiter; replacing the current character string in the first area with the suggestedreplacement character string if the user performs a first gesture on the suggested replacement character string displayed in the second area; and keeping the current character string in the first area if the user performs a second gesture on the currentcharacter string or the portion thereof displayed in the second area.

According to some embodiments, a graphical user interface on a portable electronic device with a keyboard and a touch screen display includes a first area of the touch screen display that displays a current character string being input by a userwith the keyboard, and a second area of the touch screen display that displays the current character string or a portion thereof and a suggested replacement character string for the current character string. The current character string in the firstarea is replaced with the suggested replacement character string if the user activates a key on the keyboard associated with a delimiter. The current character string in the first area is replaced with the suggested replacement character string if theuser performs a gesture on the suggested replacement character string in the second area. The current character string in the first area is kept if the user performs a gesture on the current character string or the portion thereof displayed in thesecond area.

According to some embodiments, a portable electronic device includes a touch screen display, one or more processors, memory, and a program. The program is stored in the memory and configured to be executed by the one or more processors. Theprogram includes: instructions for displaying, in a first area of the touch screen display, a current character string being input by a user with the keyboard; instructions for displaying, in a second area of the touch screen display, the currentcharacter string and a suggested replacement character string for the current character string; instructions for replacing the current character string in the first area with the suggested replacement character string if the user activates a key on thekeyboard associated with a delimiter; instructions for replacing the current character string in the first area with the suggested replacement character string if the user performs a first gesture on the suggested replacement character string displayedin the second area; and instructions for keeping the current character string in the first area if the user performs a second gesture on the current character string or the portion thereof displayed in the second area.

According to some embodiments, a computer-program product includes a computer readable storage medium and a computer program mechanism embedded therein. The computer program mechanism includes instructions, which when executed by a portableelectronic device with a touch screen display, cause the device to: in a first area of the touch screen display, display a current character string being input by a user with the keyboard; in a second area of the touch screen display, display the currentcharacter string or a portion thereof and a suggested replacement character string for the current character string; replace the current character string in the first area with the suggested replacement character string if the user activates a key on thekeyboard associated with a delimiter; replace the current character string in the first area with the suggested replacement character string if the user performs a first gesture on the suggested replacement character string displayed in the second area;and keep the current character string in the first area if the user performs a second gesture on the current character string or the portion thereof displayed in the second area.

According to some embodiments, a portable electronic device with a touch screen display includes: means for displaying a current character string being input by a user with the keyboard in a first area of the touch screen display; means fordisplaying the current character string or a portion thereof and a suggested replacement character string for the current character string in a second area of the touch screen display; means for replacing the current character string in the first areawith the suggested replacement character string if the user activates a key on the keyboard associated with a delimiter; means for replacing the current character string in the first area with the suggested replacement character string if the userperforms a first gesture on the suggested replacement character string displayed in the second area; and means for keeping the current character string in the first area if the user performs a second gesture on the current character string or the portionthereof displayed in the second area.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of the invention as well as additional embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which likereference numerals refer to corresponding parts throughout the figures.

FIG. 1 is a block diagram illustrating a portable electronic device in accordance with some embodiments.

FIG. 2 illustrates a portable electronic device having a touch screen and a soft keyboard in accordance with some embodiments.

FIG. 3 is a flow diagram illustrating a process for providing word recommendations in accordance with some embodiments.

FIGS. 4A-4I illustrate a user interface for providing word recommendations in accordance with some embodiments.

FIGS. 5A-5B illustrate a user interface for showing originally entered text in accordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding ofthe present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networkshave not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

Embodiments of user interfaces and associated processes for using a portable electronic device are described. In some embodiments, the device is a portable communications device such as a mobile telephone. The user interface may include aclick wheel in addition to a touch screen. A click wheel is a physical user-interface device that may provide navigation commands based on an angular displacement of the wheel or a point of contact with the wheel by a user of the device. A click wheelmay also be used to provide a user command corresponding to selection of one or more items, for example, when the user of the device presses down on at least a portion of the wheel or the center of the wheel. For simplicity, in the discussion thatfollows, a portable electronic device (e.g., a cellular telephone that may also contain other functions, such as text messaging, PDA and/or music player functions) that includes a touch screen is used as an exemplary embodiment. It should be understood,however, that the user interfaces and associated processes may be applied to other devices, such as personal digital assistants (PDA's), personal computers and laptops, which may include one or more other physical user-interface devices, such as a clickwheel, a keyboard, a mouse and/or a joystick.

The device may support a variety of applications, such as one or more telephone applications, a text messaging application, a word processing application, an email application, a web browsing application, and a music player. The music playermay be compatible with one or more file formats, such as MP3 and/or AAC. In an exemplary embodiment, the device includes an iPod music player (iPod trademark of Apple Computer, Inc.).

The various applications that may be executed on the device may use at least one common physical user-interface device, such as the touch screen. In embodiments that include a touch screen, one or more functions of the touch screen as well ascorresponding information displayed on the device may be adjusted and/or varied from one application to the next and/or within a respective application. In this way, a common physical architecture (such as the touch screen) of the device may support thevariety of applications with user interfaces that are intuitive and transparent to a user.

The user interfaces may include one or more keyboard embodiments displayed on a touch screen. The keyboard embodiments may include standard (QWERTY) and/or non-standard configurations of symbols on the displayed icons of the keyboard. Thekeyboard embodiments may include a reduced number of icons (or soft keys) relative to the number of keys in existing physical keyboards, such as that for a typewriter. This may make it easier for users to select one or more icons in the keyboard, andthus, one or more corresponding symbols. The keyboard embodiments may be adaptive. For example, displayed icons may be modified in accordance with user actions, such as selecting one or more icons and/or one or more corresponding symbols. One or moreapplications on the portable device may utilize common and/or different keyboard embodiments. Thus, the keyboard embodiment used may be tailored to at least some of the applications. In some embodiments, one or more keyboard embodiments may be tailoredto a respective user. For example, based on a word usage history (lexicography, slang, individual usage) of the respective user. Some of the keyboard embodiments may be adjusted to reduce a probability of a user error when selecting one or more icons,and thus one or more symbols, when using the keyboard embodiments.

Attention is now directed to an embodiment of a portable communications device. FIG. 1 is a block diagram illustrating an embodiment of a device 100, such as a portable electronic device having a touch-sensitive display 112. Thetouch-sensitive display 112 is sometimes called a "touch screen" for convenience. The device 100 may include a memory controller 120, one or more data processors, image processors and/or central processing units 118 and a peripherals interface 116. Thememory controller 120, the one or more processors 118 and/or the peripherals interface 116 may be separate components or may be integrated, such as in one or more integrated circuits 104. The various components in the device 100 may be coupled by one ormore communication buses or signal lines 103.

If the device 110 includes picture taking capabilities, the peripherals interface 116 may be coupled to an optical sensor 148, such as a CMOS or CCD image sensor. The peripherals interface 116 is also coupled to RF circuitry 108; audiocircuitry 110; and/or an input/output (I/O) subsystem 106. The audio circuitry 110 may be coupled to a speaker 142 and a micro-phone 144. The device 100 may support voice recognition and/or voice replication. The RF circuitry 108 may be coupled to oneor more antennas 146 and may allow communication with one or more additional devices, computers and/or servers using a wireless network. The device 100 may support a variety of communications protocols, including code division multiple access (CDMA),Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wi-Fi (such as IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), Bluetooth, Wi-MAX, a protocol for email, instant messaging, and/or a short message service(SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document. In an exemplary embodiment, the device 100 may be, at least in part, a mobile phone (e.g., a cellulartelephone).

The I/O subsystem 106 may include a touch screen controller 132 and/or other input controller(s) 134. The touch-screen controller 132 is coupled to a touch-sensitive screen or touch sensitive display system 112. The touch screen 112 and touchscreen controller 132 may detect contact and any movement or break thereof using any of a plurality of touch sensitivity technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wavetechnologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch-sensitive screen 112. A touch-sensitive display in some embodiments of the display system 112 may be analogous to themulti-touch sensitive tablets described in the following U.S. Pat. Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and/or 6,677,932 (Westerman), and/or U.S. Patent Publication 2002/0015024A1, each of which is hereby incorporated byreference. However, a touch screen in the display system 112 displays visual output from the portable device 100, whereas touch sensitive tablets do not provide visual output. The touch-sensitive screen 112 may have a resolution in excess of 100 dpi. In an exemplary embodiment, the touch-sensitive screen 112 has a resolution of approximately 168 dpi. The other input controller(s) 134 may be coupled to other input/control devices 114, such as one or more buttons. In some alternate embodiments, inputcontroller(s) 134 may be coupled to any (or none) of the following: a keyboard, infrared port, USB port, and/or a pointer device such as a mouse. The one or more buttons (not shown) may include an up/down button for volume control of the speaker 142and/or the microphone 144. The one or more buttons (not shown) may include a push button. A quick press of the push button (not shown) may disengage a lock of the touch screen 112. A longer press of the push button (not shown) may turn power to thedevice 100 on or off. The user may be able to customize a functionality of one or more of the buttons. The touch screen 112 may be used to implement virtual or soft buttons and/or one or more keyboards.

In some embodiments, the device 100 may include circuitry for supporting a location determining capability, such as that provided by the Global Positioning System (GPS). In some embodiments, the device 100 may be used to play back recordedmusic, such as one or more files, such as MP3 files or AAC files. In some embodiments, the device 100 may include the functionality of an MP3 player, such as an iPod (trademark of Apple Computer, Inc.). In some embodiments, the device 100 may include amulti-pin (e.g., 30-pin) connector that is compatible with the iPod.

The device 100 also includes a power system 137 for powering the various components. The power system 137 may include a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a powerfailure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices. The device 100 mayalso include one or more external ports 135 for connecting the device 100 to other devices.

The memory controller 120 may be coupled to memory 102, which may include one or more types of computer readable medium. Memory 102 may include high-speed random access memory and/or non-volatile memory, such as one or more magnetic diskstorage devices, one or more optical storage devices, and/or flash memory. Memory 102 may store an operating system 122, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks. The operating system 122 mayinclude procedures (or sets of instructions) for handling basic system services and for performing hardware dependent tasks. Memory 102 may also store communication procedures (or sets of instructions) in a communication module 124. The communicationprocedures may be used for communicating with one or more additional devices, one or more computers and/or one or more servers. The memory 102 may include a display module (or a set of instructions) 125, a contact/motion module (or a set ofinstructions) 126 to determine one or more points of contact and/or their movement, and a graphics module (or a set of instructions) 128. The graphics module 128 may support widgets, that is, modules or applications with embedded graphics. The widgetsmay be implemented using JavaScript, HTML, Adobe Flash, or other suitable computer program languages and technologies.

The memory 102 may also include one or more applications 130. Examples of applications that may be stored in memory 102 include telephone applications, email applications, text messaging or instant messaging applications, memo pad applications,address books or contact lists, calendars, picture taking and management applications, and music playing and management applications. The applications 130 may include a web browser (not shown) for rendering pages written in the Hypertext Markup Language(HTML), Wireless Markup Language (WML), or other languages suitable for composing web pages or other online content.

Also included in the memory 102 are a keyboard module (or a set of instructions) 131, a word recommendations module (or a set of instructions) 133, and a dictionary 136. The keyboard module 131 operates one or more soft keyboards. The wordrecommendations module 133 determines word completion or replacement recommendations for text entered by the user. The dictionary 136 includes a list of words in a language, from which word recommendations are drawn. In some embodiments, the dictionaryalso includes usage frequency rankings associated with the words in the dictionary.

Each of the above identified modules and applications correspond to a set of instructions for performing one or more functions described above. These modules (i.e., sets of instructions) need not be implemented as separate software programs,procedures or modules. The various modules and sub-modules may be rearranged and/or combined. Memory 102 may include additional modules and/or sub-modules, or fewer modules and/or sub-modules. Memory 102, therefore, may include a subset or a supersetof the above identified modules and/or sub-modules. Various functions of the device 100 may be implemented in hardware and/or in software, including in one or more signal processing and/or application specific integrated circuits.

Attention is now directed towards embodiments of user interfaces and associated processes that may be implemented on the device 100. FIG. 2 is a schematic diagram illustrating an embodiment of a user interface for a portable electronic device200. The device 200 includes a touch screen 208. In some embodiments, the touch screen may display one or more trays. A tray is a defined region or area within a graphical user interface. One tray may include a user entry interface, such as a virtualor soft keyboard 210 that includes a plurality of icons. The icons may include one or more symbols. In this embodiment, as well as others described below, a user may select one or more of the icons, and thus, one or more of the corresponding symbols,by making contact or touching the keyboard 210, for example, with one or more fingers 212 (not drawn to scale in the figure). The contact may correspond to the one or more icons. In some embodiments, selection of one or more icons occurs when the userbreaks contact with the one or more icons. In some embodiments, the contact may include a gesture, such as one or more taps, one or more swipes (e.g., from left to right, right to left, upward and/or downward) and/or a rolling of a finger (e.g., fromright to left, left to right, upward and/or downward) that has made contact with the device 200. In some embodiments, inadvertent contact with an icon may not select a corresponding symbol. For example, a swipe gesture that sweeps over an icon may notselect a corresponding symbol if the gesture corresponding to selection is a tap gesture.

Alternatively, in some other embodiments, the keyboard may be a physical keyboard that includes a set of push buttons, a keypad, or the like. The physical keyboard is not a part of the touch screen display. The physical keyboard includes keysthat correspond to the plurality of icons described above. A user may select one or more of the icons by pushing the corresponding keys on the physical keyboard.

The device 200 may include a display tray 214, which is displayed on the touch screen 208. The display tray 214 may display one or more of the characters and/or symbols that are selected by the user. The device 200 may also include one or morephysical buttons, such as the clear, hold and menu buttons shown in FIG. 2. The menu button may be used to navigate to any application in a set of applications that may be executed on the device 200. Alternatively, in some embodiments, the clear, hold,and/or menu buttons are implemented as soft keys in a GUI in touch screen 208.

Attention is now directed to FIG. 3, which illustrates a flow diagram of a process flow 300 for providing word recommendations in accordance with some embodiments. As text is entered by a user on a device, one or more candidate charactersequences (suggested replacements) may be provided in response to the entered text. The user may select a candidate character sequence to further extend or to complete the entered text.

A current character string is displayed in a first area of a touch screen of a portable device (302). In some embodiments, the current character string (which is a word, number, symbol, or a combination thereof) is at least a portion of asequence of characters entered into the device by a user. The user inputs a sequence of characters into the portable device via an input device, such as a keyboard 210, and the device receives and displays the input on the touch screen. In someembodiments, the current character string is the endmost sequence of non-whitespace characters input by the user via the input device and delimited from the rest of the sequence of characters entered by the user by delimiters, such as whitespaces, linebreaks, and punctuation.

The current character string (or a portion thereof) and one or more suggested replacements for the current character string is displayed in a second area (for example, a word selection area 216) of the touch screen (304). The second area may belocated between the first area and the keyboard. The one or more suggested replacements, which may be words, numbers, or combinations thereof, are selected from a dictionary 136 for display by the device in accordance with predefined procedures. Anexample of a procedure for selecting suggested replacements for display is described in U.S. patent application Ser. No. 11/620,641, which is hereby incorporated by reference as background information. The user may take one of a plurality of actionswith respect to the current character string and the suggested replacement displayed in the second area. If the user action is activation of a key on the keyboard associated with a delimiter (306--Activate a key . . . ), the current character string inthe first area of the touch screen is replaced with the suggested replacement (308). The delimiter associated with the activated key may be appended to the end of the suggested replacement in the first area. For example, if the activated key isassociated with a comma, a comma is appended to the suggested replacement (which replaces the current character string) in the first area. In some embodiments, delimiters include spaces, line breaks (sometimes called line returns), and terminalpunctuation (for example, commas, periods, exclamation points, question marks, and semicolons). In other embodiment, delimiters may include a subset of the delimiters listed above, and may optionally include additional delimiters as well.

If the user action is performance of a first gesture on the suggested replacement in the second area of the touch screen (306--Perform gesture on the suggested replacement . . . ), the current character string in the first area of the touchscreen is replaced with the suggested replacement (308). In some embodiments, a whitespace is appended to the end of the suggested replacement in the first area. In some embodiments, the first gesture includes one or more taps on the suggestedreplacement in the second area.

If the user action is performance of a second gesture on the current character string in the second area (306--Perform gesture on the current character string . . . ), the current character string is maintained in the first area (310). In someembodiments, a whitespace is appended to the end of the current character string in the first area. In some embodiments, the second gesture includes one or more taps on the current character string in the second area.

In some embodiments, the device displays a plurality of suggested replacements in the word selection area. In these embodiments, the user may select the desired replacement by performing a gesture on the desired replacement. However, if theuser activates a key associated with the delimiter, a replacement is selected from amongst the plurality in accordance with one or more default rules. For example, a default rule may be that the highest ranked suggested replacement is selected.

In some embodiments, if the current character string in the first area was replaced with the suggested replacement, the user may review the current character string that was replaced. The user may perform a third gesture on the suggestedreplacement in the first area. After the third gesture is performed, the (original) current character string is displayed in the first area for a predetermined amount of time. In some embodiments, the third gesture includes one or more taps on thesuggested replacement in the first area. Further details regarding reviewing the replaced current character string is described below in relation to FIGS. 5A-5B.

Attention is now directed to FIGS. 4A-4I, which illustrate a user interface for providing word recommendations in accordance with some embodiments. In a portable electronic device 200, text 218 entered by the user via a keyboard 210 or otherinput may be displayed in a first area, e.g. display tray 214. A cursor or insertion marker 220 may be displayed in the display tray 214 to indicate the insertion position of the next entered character.

The text 218 may include one or more strings separated by one or more delimiters, such as spaces and punctuation. The end-most string in the text 218 may be highlighted as the current character string 222 (FIG. 4B). The current characterstring 222 may be a complete or incomplete word. The device 200 may display one or more suggested replacements 224 (for example, "car" in FIG. 4D; "car," "cat," "cabinet," and "candle" in FIG. 4F) in a second area, e.g. word selection area 216. Aduplicate 226 of the current character string 222 may also be displayed in the word selection area 216. In some embodiments, the suggested replacement(s) and the current character string duplicate 226 are displayed on opposite sides of the wordselection area 216. For example, the suggested replacement(s) may be displayed in the left side of the word selection area 216 and the current character string duplicate 226 may be displayed in the right side of the word selection area 216.

The user may perform a gesture (such as a tap on the touch screen) on either the duplicate 226 of the current character string 222 or the suggested replacement 224. If the user taps on the duplicate 226 of the current character string 222 inthe word selection area 216 with a finger 212, as indicated by the finger contact area 228 in FIG. 4B, the current character string 222 is left as is in the display tray 214. If the user taps on the suggested replacement 224 in the word selection area216 with a finger 212, as indicated by the finger contact area 228 in FIG. 4D, the current character string 222 is replaced in the display tray 214 by the suggested replacement 224 (FIG. 4E).

As an example, the current character string 222 "cae" is highlighted, as shown in FIG. 4B. If the user taps the duplicate 226 of the current character string 222 in the word selection area 216, the current character string "cae" is completedand becomes part of the text 218 for which the device 200 is not providing suggested replacements, as shown in FIG. 4C. In some embodiments, a space is added to the end of the completed current character string, as shown in FIG. 4C. In someembodiments, the completed current character string ("cae" in FIG. 4C) is added to the dictionary 136. If the user taps instead the suggested replacement 224 "car" in the word selection area 216 (FIG. 4D), the current character string "cae" is replacedin the display tray 214 with the suggested replacement "car," as shown in FIG. 4E. In some embodiments, a space is added to the end of the replaced current character string in the display tray 214, as shown in FIG. 4E.

Returning to FIG. 4D, if the user hits (as indicated by the finger contact area 228 on the space bar 227) a key on the keyboard 210 that is associated with a delimiter, such as a space bar 227, the current character string 222 in the displaytray 214 is replaced by the suggested replacement 224, and the delimiter associated with the key that was hit by the user is appended to the end of the suggested replacement in the display tray 214.

In some embodiments, the device 200 may display a plurality of suggested replacements 224 for a current character sequence 222 in the word selection area 216, as shown in FIG. 4F. A user may perform a gesture (e.g., a tap) on one of theplurality of suggested replacements to select that suggested replacement. The current character sequence 222 is replaced with the selected suggested replacement. As an example, in FIG. 4F, suggested replacements for the current character string "cae"include "car," "cat," "cabinet," and "candle." If the user taps on the suggested replacement "cabinet," as indicated by the contact area 228 in the word selection area 216, the current character string "cae" is replaced in the display tray 214 with theselected replacement "cabinet," as shown in FIG. 4G. If the user hits a key on the keyboard 210 that is associated with a delimiter, the current character string 222 in the display tray 214 may be replaced by the suggested replacement 224 in the wordselection area 216 that is highest ranked (e.g., "car" in FIG. 4F). In some embodiments, the suggested replacements 224 are displayed in ranking order (ascending or descending, depending on the particular embodiment and/or user preferences) in the wordselection area 216, so that the user may identify which suggested replacement is the highest ranked.

In some embodiments, if the current character string 222 is longer than a predefined length (based on the number of characters), the duplicate 226 of the current character string 222 in the word selection area 216 may show a subset of thecharacters in the current character string 222. For example, the duplicate 226 may show the first six characters of the current character string 222, as shown in FIG. 4H. As another example, the duplicate 226 may show the first three and the last threecharacters of the current character string 222.

As shown in FIG. 41, in some embodiments, the highest ranked suggested replacement 240 is displayed within the space bar 227. If the user performs a predefined gesture on or near the touch screen display (e.g., taps or touches the space bar227), the current character string 222 is replaced by the replacement string 240 shown in the space bar 227, and the display of the space bar 227 is then returned to its normal or default status (e.g., blank, or with the word "space" displaced in thespace bar (see FIG. 4H)). It is noted that the space bar 227 corresponds to a delimiter (i.e., a space). In some of these embodiments, only the highest ranked suggested replacement is presented to the user, and thus any other corrections must be mademanually by the user. If the user performs a second gesture with respect to the touch screen display, such as tapping any key of the keyboard other than the space bar 227, the current character string 222 in retained.

The embodiments of the invention, as described above, provides an intuitive way to integrate explicit word selection (via suggested word replacements in the second area), implicit word selection (e.g., via the space bar or other delimiter keys),and explicit non-selection of suggested word replacements (via keeping the current word, e.g., for words with unusual spellings).

In some embodiments, the device 200 may allow the user to review strings replaced by user-selected suggested replacements. Attention is now directed to FIGS. 5A-5B, which illustrate a user interface for reviewing the originally entered stringsthat were replaced by suggested replacements. A user may perform a gesture over a word 229 in the entered text 218. For example, the user may tap the word 229 on the touch screen with a finger 212, as indicated by the contact area 228 in the displaytray 214. If the word 229 (FIG. 5A) was a replacement for some originally entered text, the originally entered text 230 may be displayed (FIG. 5B). Alternately, the originally entered text may be displayed if the user's finger hovers over the word 229for at least a threshold period of time (e.g., 0.5 seconds, 1.0 second, or a value between 0.35 and 1.25 seconds). In some embodiments, the originally entered text 230 is displayed in place of the word 229 for a predetermined amount of time, such as 2seconds. After the time has elapsed, the word 229 is displayed back in its place unless an undo gesture (e.g., a tap on the original text) is performed, in which case the originally entered text 230 is durably restored. In some other embodiments, theoriginally entered text 230 is displayed in a balloon graphic or the like extending from the word 229.

The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise formsdisclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable othersskilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.