US20110201387A1 - Real-time typing assistance - Google Patents

Real-time typing assistance Download PDF

Info

Publication number
US20110201387A1
US20110201387A1 US12/753,744 US75374410A US2011201387A1 US 20110201387 A1 US20110201387 A1 US 20110201387A1 US 75374410 A US75374410 A US 75374410A US 2011201387 A1 US2011201387 A1 US 2011201387A1
Authority
US
United States
Prior art keywords
word
input
suggestion
feedback
touch screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/753,744
Inventor
Timothy S. Paek
Itai Almog
Eric Norman Badger
Tirthankar Sengupta
Shawna Julie Davis
Matthew J. Bennett
Bryan W. Nealer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US12/753,744 priority Critical patent/US20110201387A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALMOG, ITAI, DAVIS, SHAWNA JULIE, PAEK, TIMOTHY S., BADGER, ERIC NORMAN, BENNETT, MATTHEW J., NEALER, BRYAN W., SENGUPTA, TIRTHANKAR
Publication of US20110201387A1 publication Critical patent/US20110201387A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Definitions

  • the present disclosure pertains to devices and methods for enhancing text entry using a touch screen device.
  • Touch screen keyboards enable larger displays for videos, web pages, email, etc., without the requirement of a physical keyboard. Because touch screen keyboards are software-based, they can be easily adjusted for different languages, screen orientation, and key layouts. Furthermore, touch screen keyboards can be augmented with widgets for word prediction and disambiguation candidates.
  • An apparatus and method are disclosed for providing feedback and guidance to touch screen device users to improve the text entry user experience and performance.
  • One exemplary embodiment disclosed herein is a method comprising receiving first input data comprising one or more input words from a keyboard, providing one or more feedback semaphores, wherein the feedback semaphores are operable to alert a user using the keyboard that one or more suggestion candidates are available, automatically displaying the one or more suggestion candidates, wherein the suggestion candidates are each associated with an alternative word for one or more of the input words, automatically receiving a touch screen input selecting one of the suggestion candidates, and modifying the first input data using the alternative word associated with the selected suggestion candidate.
  • one or more alternative words for one of the input words are generated, the first input data is immediately auto-corrected are providing the feedback semaphores by automatically replacing the input word with one of the alternative words.
  • the first input data comprises a character designated as a delimiter and the providing feedback semaphores occurs based on a word probability for the input word and receiving the delimiter character.
  • the feedback semaphores can include one or more of the following: playing a sound, generating haptic feedback, highlighting one or more keys on the keyboard, highlighting a background area of the keyboard, and highlighting a suggestion candidates area.
  • the feedback semaphores include highlighting a delimiter key and receiving a single touch screen input for one of the highlighted delimiter keys.
  • the feedback semaphores are not provided until the input word is designated incorrect using a candidate source.
  • the feedback semaphores provided can be selected based on receiving typing speed data for the first input data.
  • the feedback semaphores provided can be selected based on detecting whether the user is typing on the keyboard with one or two hands.
  • Another exemplary embodiment disclosed herein is a computer-readable storage media storing computer-readable instruction that when executed by a computer cause the computer to perform a method comprising: receiving text input data comprising at least one word using a keyboard coupled to a touch screen, detecting that an event has occurred based on the text input data and based on the detected event, automatically displaying on the touch screen one or more suggestion candidates for the at least one word based on the text input data and one or more candidate sources, where each of the candidates is associated with at least one next word designated as likely to follow the at least one word, receiving a single touch screen input selecting one of the suggestion candidates, and, based on the single touch screen input, automatically modifying the text input data by adding the at least one next word associated with the selected suggestion candidate to the text input data.
  • a method further comprises automatically displaying on the touch screen one or more replacement suggestion candidates for the at least one word based on the text input data and one or more candidate sources, where each of the replacement suggestion candidates is associated with at least one replacement word for the at least one word, and the displaying includes displaying the replacement suggestion candidates in a manner that distinguishes the replacement suggestion candidates from the suggestion candidates.
  • a method comprises immediately after the automatically adding the at least one word, displaying one or more suggestion candidates for the text input data, which includes the selected next word, and repeating the automatically modifying the text input data.
  • a further exemplary embodiment disclosed herein is a mobile device comprising one or more processing units operable to execute computer-executable instructions for text entry and correction, one or more memory units coupled to the processing units, one or more touch screens coupled to the mobile device configurable to have a text display area, a suggestion candidates area, and a touch screen keyboard area, wherein the text display area, the suggestion candidates area, and the touch screen keyboard area occupy distinct, non-overlapping areas of the touch screens, and wherein the one or more touch screens are operable to receive touch input over at least a portion of the touch screen keyboard area and the suggestion candidates area.
  • a mobile device further comprises storage for storing the computer-executable instructions for text entry and correction using a text input module for receiving text input using the touch screen keyboard and displaying at least a portion of the text input in the text display area a candidate generation module for generating one or more suggestion candidates comprising one or more replacement suggestions and/or one or more next word suggestions for an input word of the text input an indicator generation module for producing one or more indicators that can notify a user that the suggestion candidates are available, a suggestion presentation module for presenting the suggestion candidates associated with the input word in the suggestion candidates area and receiving touch screen user input for selecting one of the presented suggestions wherein if the selected suggestion is a replacement suggestion, replacing the input word with the selected suggestion, and if the selected suggestion is a next word suggestion, adding the selected suggestion as a next word subsequent to the input word in the text input.
  • the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until one of the input words is designated incorrect by a dictionary, a common speller application programming interface, or an input history data source. In some examples, the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until a delimiter character is received immediately after the input word.
  • a touch screen includes a display coupled with touch sense capabilities (for example, displays using capacitive or resistive sensors).
  • FIG. 1 is a system diagram depicting an exemplary mobile device including a variety of optional hardware and software components.
  • FIG. 2 illustrates a generalized example of a suitable computing environment in which described embodiments, techniques, and technologies may be implemented.
  • FIG. 3 illustrates a generalized example of a suitable implementation environment for a text entry device connected to a computing cloud.
  • FIG. 4 illustrates a generalized example of a text entry device having a touch screen including a touch screen keyboard, a suggestion candidates area, and a text entry area.
  • FIGS. 5A-5C illustrate generalized examples of text entry devices, including a touch screen device with a touch screen keyboard, a mobile device, and a personal computer.
  • FIG. 6 is a flow chart of an exemplary implementation of a method for generating possible corrections for input data, providing indicators including feedback semaphores that indicate the availability of the possible corrections, and displaying suggestion candidates.
  • FIGS. 7A-7E depict a method of providing unexpected-key feedback, including providing feedback semaphores, when an unexpected key is pressed.
  • FIGS. 7F-7H depict three alternative designs for providing feedback semaphores.
  • FIG. 8 is a flow chart that outlines an exemplary implementation of the method shown in FIGS. 7A-7E .
  • FIGS. 9A-9D depict an exemplary implementation of a method of providing auto-correction notification, including providing feedback semaphores, when auto-correction of text input data occurs.
  • FIG. 10 is a flow chart that outlines an exemplary implementation of the method shown in FIGS. 9A-9D .
  • FIGS. 11A-11C depict an exemplary implementation of a method of providing likely next phrases, including using suggestion candidates after receiving a text input word and a delimiter.
  • FIGS. 11D-11F depict an exemplary implementation of a method of providing likely next words or phrases, including using suggestion candidates after receiving a text input word and a delimiter, and then providing an additional next word.
  • FIG. 12 is a flow chart that outlines an exemplary implementation of the methods shown in FIGS. 11A-11C and 11 D- 11 F.
  • FIG. 13 is a chart representing events that occur during an exemplary implementation of a method that includes playing random click sounds as a user presses keys on a touch screen keyboard, as well as the use of keystroke latency to determine when to present suggestion candidates.
  • FIG. 14 is a flow chart that outlines an exemplary implementation of the methods shown in FIG. 13 .
  • FIG. 15 illustrates a generalized example of a suitable implementation environment including a computing cloud and various connected devices in which described embodiments, techniques, and technologies can be implemented.
  • FIGS. 16A-16D are charts depicting some experimental results obtained using the disclosed technologies.
  • the term “wait” may be used to describe the action a device takes while waiting for particular value or type of input before proceeding with a particular operation. This waiting should not be construed as limiting the device to only waiting for the particular type of input, rather, the device may receive other input or perform other actions concurrently with the waiting.
  • the term “automatically” is used to describe actions that can proceed immediately, without receiving further user input.
  • the term “immediately” means that an action occurs within a short time period following a preceding action without needing to receive intervening user input. In some cases, there may be intervening actions performed between or concurrently with the preceding action and the action occurring “immediately,” for example, screen refresh or redraw, sound playback, etc.
  • the term “incorrect” is used to describe a designation of a word or phrase as being incorrect.
  • a word designated as incorrect can be automatically highlighted or auto-corrected, even though the word designated as incorrect by a correction module might actually be considered to be correct by the user.
  • a word can be designated as incorrect because it does not exist in a dictionary, CSAPI (common speller application programming interface), or IHDS (input history data source).
  • CSAPI common speller application programming interface
  • IHDS input history data source
  • a word can be designated as “incorrect” even though it exists in a dictionary, CSAPI, or IHDS, because of other checking rules implemented in a correction module or candidate generation module, or because of the context of the word within a phrase.
  • the term “indicator” is used to describe output that is intended to capture the attention of a user of a text entry device, and can include visual, audio, and haptic feedback.
  • Some examples techniques for providing visual indicators include highlighting an object on a display by changing the color of the object, shading of the object or background of an object, changing the color of one or more elements of an object (e.g., by coloring the letter “F” on the “F” key of a touch screen keyboard), flashing the display, or by drawing a new object (e.g., using underlines, balloons, or suggestion candidates) on the display.
  • Some examples of audio indicators include playing back a pre-recorded or synthesized sound, including a randomly selected sound.
  • haptic indicators include vibrating a handheld device or area of a touch screen keyboard, as well as increasing or decreasing the amount of pressure sufficient to register a key press on a keyboard, including touch screen keyboards.
  • An example of varying key press resistance to prevent typing errors may be found in Hoffmann, et al., “TypeRight: A Keyboard with Tactile Error Prevention,” Proceedings of the 27 th Int'l Conf. on Human Factors in Computing Systems , pp. 2265-2268 (2009).
  • the term “semaphore” is used to describe the use of one or more indicators to provide feedback and/or guidance signals on a text entry device user to help discover and avoid text entry errors.
  • feedback semaphore is used to describe an indicator or signal that is provided after an event is received (for example, an event could be an auto-correction or other action that a text entry device performs, or the receiving of a key press or touch screen touch input).
  • “guidance signal” is used to describe an indicator that is provided before the occurrence of an event. For example, a text entry device can predict which key a user is likely to press next and highlight the most likely key, thereby providing a guidance signal, so the user can more easily find the most likely key.
  • the term “over” is used to describe the positioning of one or more objects (for example, a finger, thumb, or stylus) over, on, or near a location on a touch screen. In some embodiments, this object need not come into contact with the touch screen for the object's position to be determined. In other embodiments, the object described as “over” the touch screen may be in contact with the surface of the touch screen. In some embodiments, the object determined to be “over” a location of the touch screen may not actually be positioned directly over the touch screen location, but determined to be “over” the location on the touch screen, for example, by a position correction module of the text entry device or touch screen.
  • the disclosed technology includes various approaches to improving typing accuracy or typing speed when using devices having a touch screen by using suggestion candidates to augment other input devices.
  • These suggestion candidates are typically represented in a candidates area, which need not be permanently reserved for that purpose, or can appear in varying location on the touch screen.
  • selecting a word can include but is not limited to selecting a single word with a single touch screen input, selecting multiple words of a phrase with a single touch screen input, or selecting multiple words of a phrase using touch screen input comprising plural single touch screen inputs.
  • selecting a word can include but is not limited to selecting a single word with a single touch screen input, selecting multiple words of a phrase with a single touch screen input, or selecting multiple words of a phrase using touch screen input comprising plural single touch screen inputs.
  • auto-correction or unexpected-key feedback can be generated for a single word, or for a phrase comprising multiple words and spaces, but that are related in some way.
  • one or more suggestion candidates are displayed on a touch screen display.
  • the suggestion candidates can be presented as “buttons” which include a word related to the word selected by the user.
  • Suggestion candidates can be determined to be related to the selected word using a candidate generation module, which can use a dictionary, thesaurus, common speller application programming interface, input history data source, or other sources or methods to generate suggestion candidates.
  • the candidate generation module can also determine the rank order in which suggestion candidates are presented. For example, the suggestion candidates can be presented from left to right, with the suggestion candidate determined to be the most likely presented furthest to the left, and the least likely suggestion candidate presented furthest to the right.
  • the user reviews the suggestion candidates, and selects one of the candidates for replacement using a single touch screen input over the desired suggestion candidate on the touch screen.
  • a single touch screen input refers to the input received when a user positions an object over the surface of a touch screen such that the touch screen device can determine the position of the object.
  • the object can be the user's finger or thumb.
  • the object can be a stylus or puck.
  • the single touch screen input is received after the user “taps” the touch screen over a word or suggestion candidates.
  • the single touch screen input is received when the user presses the screen with a finger, thumb, or stylus. Receiving a single touch screen input is sufficient to determine which suggestion candidate the user is indicating on the touch screen—no additional keyboard input, mouse input, trackball input, voice input, or additional touches are necessary. Using a single touch screen input to determine user selections simplifies the input process and allows for the fast correction of text entries without the need to use submenus, popup menus, or additional input devices.
  • FIG. 1 is a system diagram depicting an exemplary mobile device 100 including a variety of optional hardware and software components, shown generally at 102 . Any components 102 in the mobile device can communicate with any other component, although not all connections are shown, for ease of illustration.
  • the mobile device can be any of a variety of computing devices (e.g., cell phone, smartphone, handheld computer, Personal Digital Assistant (PDA), etc.) and can allow wireless two-way communications with one or more mobile communications networks 104 , such as a cellular or satellite network.
  • PDA Personal Digital Assistant
  • the illustrated mobile device 100 can include a controller or processor 110 (e.g., signal processor, microprocessor, ASIC, or other control and processing logic circuitry) for performing such tasks as signal coding, data processing, input/output processing, power control, and/or other functions.
  • An operating system 112 can control the allocation and usage of the components 102 and support for one or more application programs 114 .
  • the application programs can include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications), or any other computing application.
  • the illustrated mobile device 100 can include memory 120 .
  • Memory 120 can include non-removable memory 122 and/or removable memory 124 .
  • the non-removable memory 122 can include RAM, ROM, flash memory, a hard disk, or other well-known memory storage technologies.
  • the removable memory 124 can include flash memory or a Subscriber Identity Module (SIM) card, which is well known in GSM communication systems, or other well-known memory storage technologies, such as “smart cards.”
  • SIM Subscriber Identity Module
  • the memory 120 can be used for storing data and/or code for running the operating system 112 and the application programs 114 .
  • Example data can include web pages, text, images, sound files, video data, or other data sets to be sent to and/or received from one or more network servers or other devices via one or more wired or wireless networks.
  • the memory 120 can be used to store a subscriber identifier, such as an International Mobile Subscriber Identity (IMSI), and an equipment identifier, such as an International Mobile Equipment Identifier (IMEI). Such identifiers can be transmitted to a network server to identify users and equipment.
  • IMSI International Mobile Subscriber Identity
  • IMEI International Mobile Equipment Identifier
  • the memory 120 can also be used for the candidate sources 116 , which are used for generating and suppressing auto-corrections and generation suggestion candidates.
  • candidate sources 116 can include but are not limited to: a system dictionary, a user dictionary, a common speller application programming interface (CSAPI), touch models, and an input history data source.
  • CSAPI common speller application programming interface
  • the mobile device 100 can support one or more input devices 130 , such as a touch screen 132 , microphone 134 , camera 136 , physical keyboard 138 , and/or trackball 140 and one or more output devices 150 , such as a speaker 152 and a display 154 .
  • input devices 130 such as a touch screen 132 , microphone 134 , camera 136 , physical keyboard 138 , and/or trackball 140
  • output devices 150 such as a speaker 152 and a display 154 .
  • Other possible output devices can include haptic output devices such as a piezoelectric transducer 156 or other suitable device. Some devices can serve more than one input/output function.
  • touch screen 132 and display 154 can be combined in a single input/output device.
  • a wireless modem 160 can be coupled to an antenna (not shown) and can support two-way communications between the processor 110 and external devices, as is well understood in the art.
  • the modem 160 is shown generically and can include a cellular modem for communicating with the mobile communication network 104 and/or other radio-based modems (e.g., Bluetooth 164 or Wi-Fi 162 ).
  • the wireless modem 160 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile device and a public switched telephone network (PSTN).
  • GSM Global System for Mobile communications
  • PSTN public switched telephone network
  • the mobile device can further include at least one input/output port 180 , a power supply 182 , a satellite navigation system receiver 184 , such as a Global Positioning System (GPS) receiver, an accelerometer 186 , and/or a physical connector 190 , which can be a USB port, IEEE 1394 (FireWire) port, and/or RS-232 port.
  • GPS Global Positioning System
  • the illustrated components 102 are not required or all-inclusive, as any components can deleted and other components can be added.
  • FIG. 2 illustrates a generalized example of a suitable computing environment 200 in which described embodiments, techniques, and technologies may be implemented.
  • the computing environment 200 can implement unexpected-key feedback, auto-correction notification, invoking likely next phrases, random playback of click sounds, and waiting for a keystroke latency before presenting suggestion candidates, as described below.
  • the computing environment 200 is not intended to suggest any limitation as to scope of use or functionality of the technology, as the technology may be implemented in diverse general-purpose or special-purpose computing environments.
  • the disclosed technology may be implemented with other computer system configurations, including hand held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • the computing environment 200 includes at least one central processing unit 210 and memory 220 .
  • the central processing unit 210 executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power and as such, multiple processors can be running simultaneously.
  • the memory 220 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two.
  • the memory 220 stores software 280 and candidate sources 285 that can, for example, implement the technologies described herein.
  • a computing environment may have additional features.
  • the computing environment 200 includes storage 240 , one or more input devices 250 , one or more output devices 260 , one or more communication connections 270 , and one or more touch screens 290 .
  • An interconnection mechanism such as a bus, a controller, or a network, interconnects the components of the computing environment 200 .
  • operating system software provides an operating environment for other software executing in the computing environment 200 , and coordinates activities of the components of the computing environment 200 .
  • the storage 240 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and that can be accessed within the computing environment 200 .
  • the storage 240 stores instructions for the software 280 and candidate sources 285 , which can implement technologies described herein.
  • the input device(s) 250 may be a touch input device, such as a keyboard, keypad, mouse, pen, or trackball, a voice input device, a scanning device, or another device, that provides input to the computing environment 200 .
  • the input device(s) 250 may be a sound card or similar device that accepts audio input in analog or digital form, or a CD-ROM reader that provides audio samples to the computing environment 200 .
  • the output device(s) 260 may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment 200 .
  • the touch screen 290 can act as an input device (receiving touch screen input) and as an output device (displaying the text entry area, suggestion candidates area, and/or touch keyboard).
  • the communication connection(s) 270 enable communication over a communication medium (e.g., a connecting network) to another computing entity.
  • the communication medium conveys information such as computer-executable instructions, compressed graphics information, or other data in a modulated data signal.
  • Computer-readable media are any available media that can be accessed within a computing environment 200 .
  • computer-readable media include memory 220 , storage 240 , communication media (not shown), and combinations of any of the above.
  • Computer-readable media are any available media that can be accessed within a computing environment 200 .
  • computer-readable media include memory 220 and/or storage 240 .
  • the term computer-readable storage media includes the media for data storage such as memory 220 and storage 240 , and not transmission media such as modulated data signals.
  • FIG. 3 illustrates a generalized example of a suitable implementation environment 300 of a text entry device 305 connected to a computing cloud 325 .
  • the text entry device 305 includes several modules stored on a computer-readable storage medium 310 , including a text input module 330 for receiving text entry input, touch input module 332 for receiving touch screen input from a touch screen (not shown), and an output module 334 for providing output to a touch screen.
  • the communication module 320 adapts the text entry device 305 so that it can communicate with service providers located in the cloud 325 .
  • the computer-readable storage medium 310 also includes an indicator generation module 340 for generating feedback semaphores and other indicators, a correction module 342 for checking and correcting text entries, and a candidate generation module 344 for generating suggestion candidates.
  • Indicator generation module 340 correction module 342 , and candidate generation module 344 can communicate with multiple modules to determine correction and suggestion candidates, including a grammar checking module 350 , a system dictionary module 351 , a user dictionary module 352 , a CSAPI (Common Speller API) module 353 , and an IHDS (input history data source) module 354 .
  • a grammar checking module 350 a system dictionary module 351 , a user dictionary module 352 , a CSAPI (Common Speller API) module 353 , and an IHDS (input history data source) module 354 .
  • CSAPI Common Speller API
  • IHDS input history data source
  • FIG. 15 illustrates a generalized example of a suitable implementation environment 1500 in which described embodiments, techniques, and technologies may be implemented.
  • various types of services are provided by a computing cloud 1510 .
  • the cloud 1510 can comprise a collection of computing devices, which may be located centrally or distributed, that provide cloud-based services to various types of users and devices connected via a network such as the Internet.
  • the implementation environment 1500 can be used in different ways to accomplish computing tasks. For example, some tasks (e.g., processing user input and presenting a user interface) can be performed on local computing devices (e.g., connected devices 1530 - 1532 ) while other tasks (e.g., storage of data to be used in subsequent processing, including candidate sources) can be performed in the cloud 1510 .
  • the cloud 1510 provides services for connected devices 1530 - 1532 with a variety of screen capabilities.
  • Connected device 1530 represents a device with a computer screen (e.g., a mid-size screen).
  • connected device 1530 could be a personal computer such as desktop computer, laptop, notebook, netbook, or the like.
  • Connected device 1531 represents a device with a mobile device screen (e.g., a small size screen).
  • connected device 1531 could be a mobile phone, smart phone, personal digital assistant, tablet computer, and the like.
  • Connected device 1532 represents a device with a large screen.
  • connected device 1532 could be a television screen (e.g., a smart television) or another device connected to a television (e.g., a set-top box or gaming console) or the like.
  • One or more of the connected devices 1530 - 1532 can include touch screen capabilities.
  • Devices without screen capabilities also can be used in example environment 1500 .
  • the cloud 1510 can provide services for one or more computers (e.g., server computers) without displays.
  • Services can be provided by the cloud 1510 through service providers 1520 , or through other providers of online services (not depicted).
  • cloud services can be customized to the screen size, display capability, and/or touch screen capability of a particular connected device (e.g., connected devices 1530 - 1532 ).
  • the cloud 1510 provides the technologies and solutions described herein to the various connected devices 1530 - 1532 using, at least in part, the service providers 1520 .
  • the service providers 1520 can provide a centralized solution for various cloud-based services.
  • the service providers 1520 can manage service subscriptions for users and/or devices (e.g., for the connected devices 1530 - 1532 and/or their respective users).
  • Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g., any commercially available computer, including smart phones or other mobile devices that include computing hardware).
  • a computer e.g., any commercially available computer, including smart phones or other mobile devices that include computing hardware.
  • Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable media (e.g., non-transitory computer-readable media).
  • the computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application).
  • Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
  • any of the software-based embodiments can be uploaded, downloaded, or remotely accessed through a suitable communication means.
  • suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
  • FIG. 4 depicts an exemplary embodiment 400 of a text entry device 401 having a touch screen 402 .
  • the touch screen 402 includes a display area for a touch screen keyboard 420 , a suggestion candidates area 450 , and a text display area 403 .
  • the text display area 403 is shown displaying a phrase “smsing while dr” 404 . In some embodiments, only a portion of the text input is displayed because of, for example, screen size limitations.
  • a carat (cursor) 406 is also shown in the text entry area 403 . In some embodiments, the carat 406 can be placed at various positions in the text entry area using a single touch screen input.
  • the touch screen 402 has a substantially planar surface, and the display capability can be implemented using LED, LCD, electronic ink, DLP, Plasma, CRT, or other suitable display technology.
  • the touch screen can include capacitive, resistive, inductive, or other suitable technologies for determining the position of one or more touch inputs detected over the surface of the keyboard and converting this touch input into text input.
  • the touch input is created using a stylus or puck, while in other embodiments the touch input can be created using a finger or thumb.
  • the touch screen keyboard 420 can be implemented as a hardware keyboard including mechanical keys.
  • the suggestion candidates area 450 is depicted in FIG. 4 showing three suggestion candidates, including “drive” 455 , “drug,” “draft,” “drop,” and “driving.” As shown, the suggestion candidates area 450 includes widgets directly above the keyboard area containing word prediction and disambiguation candidates. Placing the suggestion candidates area 450 close to the touch screen keyboard 420 can improve typing speed and reduce errors by allowing users to maintain their focus of attention near the keyboard area while correcting a phrase 410 in the text entry area 403 . In other embodiments, the suggestion candidates area 450 can be placed nearby the phrase 404 in the text entry area 403 .
  • the location of the text entry area 403 , the keyboard 420 , etc., can be varied based on the particular implementation and design.
  • FIGS. 5A-5C illustrate additional exemplary implementations 500 , 530 , 560 of the disclosed technology.
  • FIG. 5A depicts an exemplary implementation 500 of a text entry device, which includes a touch screen 506 displaying a window 510 , including a designated text entry area displaying the phrase “smsing while driving” 512 .
  • the touch screen 506 is also displaying a candidates area 520 , and a touch screen keyboard 524 .
  • a finger 522 is shown selecting the candidate “driving” in the candidates area 520 .
  • FIG. 5B depicts an exemplary implementation 530 , which includes a mobile device 531 having a touch screen 532 with a text entry area 534 (displaying the phrase “smsing while driving” 536 ), a suggestion candidates area 542 , and a hardware keyboard 540 .
  • FIG. 5C depicts an exemplary implementation 570 of a text entry device, which includes a personal computer (PC) device having a display screen 571 and a keyboard 580 .
  • the display screen 571 is shown displaying the phrase “smsing while dr” 575 in a window 574 .
  • a suggestion candidates area 586 displaying candidates “drive,” “draft,” “drop,” and “driving.”
  • the text entry device is not limited to receiving text input using a touch screen keyboard, but can also use hardware keyboards, handwriting recognition, or speech recognition to receive text input.
  • Methods and apparatus for performing handwriting recognition can include but are not limited to those based on: Bayesian networks, neural nets, hidden Markov models, or k-nearest-neighbor approaches.
  • Methods and apparatus for performing speech recognition can include but are not limited to those based on a dynamic time warping approach or hidden Markov models.
  • Feedback and guidance signals are examples of indicators that can be implemented in many ways.
  • mobile tactile feedback such as piezoelectric tactile displays that responds to a stylus, or a stylus that produces tactile feedback
  • tactile feedback can be employed.
  • touch screen keyboards in particular, artificial tactile feedback via vibration actuators can improve text entry performance in both static environments and mobile environments (for example, typing in a moving vehicle such as an automobile or train).
  • keyboard events can be defined including a fingertip-over event to signal when a fingertip has touched a key, a fingertip-click event to signal that a key has been registered, a fingertip-slip event to signal when the fingertip moved over the edge of a key, and a home-key event for indicating where the home keys are located on the touch screen keyboard.
  • the home keys of “F” and “J,” one for each finger can be associated with haptic feedback that is provided to indicate a user's fingers are over the home keys.
  • haptic feedback can improve tactile touch screen keyboard accuracies obtained to close to those obtained using a physical keyboard. Examples of using haptic feedback with a touch screen keyboard may be found in: Brewster, et al., “Tactile feedback for mobile interactions,” Proc. of SIGCHI Conf. on Human Factors in Computing Systems , pp. 159-162. (2007); Brown & Brewster, “Multidimensional Tactons for Non-visual Information Display in Mobile Devices,” Proc. of MobileHCI Conf. 2004, pp.
  • Obstacles to providing effective visual and auditory cues in mobile settings include small screen size, outside noise, social restrictions and other circumstantial demands. Moreover, it has not been empirically established that artificial tactile feedback alone can impart enough information to realize full parity with physical keyboards. Furthermore, some users find tactile feedback to be annoying. Because individual differences may account for users' preference of one modality over another, touch screen keyboards employing a variety of tactile, visual and auditory semaphores, and combinations thereof, can be used.
  • typing semaphores can provide multimodal feedback and/or guidance signals that help users discover and avoid typing errors.
  • Multimodal feedback refers to the use of visual, auditory, and/or haptic (touch output) communication that are received be a text entry device user to indicate information such as potential errors, the occurrence of events such as auto-correction, or the availability of suggestion candidates.
  • a conventional semaphore is a system for conveying information by means of hand-held flags or lights.
  • semaphores are still employed today to safely guide airplanes onto naval vessels.
  • Typing semaphores can be viewed as multimodal signals that guide users to enter text correctly—by analogy, a kind of flight control for typing.
  • State of the art touch screen keyboards make it too easy for users to “crash,” expecting them to edit their text thereafter, which can be mentally disruptive, time-consuming, and taxing.
  • typing semaphores The purpose of typing semaphores is to improve text entry user experience and performance as users type (e.g., in real-time) or otherwise provide input data using both feedback signals to alert user to possible typing errors when they occur, and guidance signals to prevent future errors.
  • FIG. 6 is a flow chart 600 that outlines a method of generating possible corrections for input data, providing indicators, including feedback semaphores that indicate the availability of the possible corrections, and displaying suggestion candidates. After displaying the suggestion candidates, an input is received selecting one of the suggestion candidates, and the input data is modified with one or more words associated with the selected suggestion candidate.
  • input data comprising one or more input word(s) is received from a source such as a touch screen keyboard.
  • the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • one or more feedback semaphores are provided to indicate that one or more suggestion candidates are available for one or more of the input words.
  • the feedback semaphores can include various indicators or signals to alert a user while maintaining focus in the keyboard area by, for example, highlighting one or more keys of a keyboard, playing back a sound using a speaker, generating haptic feedback (e.g., vibrating a handheld device), or displaying a tooltip balloon.
  • one or more suggestion candidates are provided to a user (e.g., using a touch screen display).
  • Each of the suggestion candidates is associated with an alternative word for one or more of the input words.
  • the suggestion candidates are associated with alternative words for only one of the input words, while in other examples, suggestion candidates are associated with alternative words for more than one of the input words.
  • An exemplary display of a suggestion candidate includes displaying a button using a touch screen display, where the button includes the text of an associated alternative word within the boundary of the button.
  • an input selecting one of the suggestion candidates is received.
  • the selection can received using a single touch screen input created by a user pressing a finger over a button associated with the desired touch screen candidate on a touch screen display.
  • the input data is modified using the alternative word associated with the selected suggestion candidate.
  • the alternative word is used to replace the input word in the input data.
  • the alternative word is added to the input data preceding or subsequent to the input word.
  • the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine.
  • FIGS. 7A-7E depict a method 700 for providing visual, audio, and tactile feedback to a user that has pressed an expected key on a mobile device 702 .
  • FIG. 8 is a flow chart 800 corresponding to the method 700 depicted in FIGS. 7A-7E .
  • a mobile device 702 comprises a text display area 704 , suggestion candidates area 708 , and touch screen keyboard 710 .
  • the text display area 704 is shown displaying a phrase “smsing whil” 706 , with a carat (cursor) 712 immediately after the phrase as the user enters it on the keyboard 710 .
  • FIG. 7B depicts the mobile device 702 providing the user with unexpected key feedback semaphores as an unexpected key, “r” 726 , is pressed with a user's finger 722 .
  • the types of feedback semaphores shown include: a tooltip balloon 728 displaying the unexpected key, an audio “clunk clunk” sound 740 (played back over a speaker coupled to the mobile device), haptic feedback (e.g., a vibration created by an oscillating transducer coupled to the mobile device) indicated by squiggle lines 755 and 756 , suggestion candidates “whip” 730 , “whilst” 731 , and “while” 732 , and a highlighted key indicator shown as shading of the unexpected “r” key 726 .
  • haptic feedback e.g., a vibration created by an oscillating transducer coupled to the mobile device
  • the unexpected “r” key 726 is designated as unexpected based on the current context of the text input data shown on the text display area 704 (e.g., the word “whilr” does not exist in the English language).
  • the suggestion candidates 730 - 732 are actually based on the data input phrase “smsing whil” 706 before the “r” was received, but as shown in FIG. 7C , will be updated based on the unexpected key input.
  • FIG. 7C depicts the mobile device 702 shortly after providing one or more feedback semaphores as discussed above.
  • the phrase 742 has been updated with the unexpected key “r,” and the carat 712 is placed immediately after the phrase.
  • suggestion candidates “while” 750 , “white” 751 , and “wholesale” 752 have been provided based on the phrase 742 .
  • designated delimiter keys including a space bar 758 and an enter key 759 have been highlighted to indicate that the highlighted suggestion candidate will replace the word “whilr” if one of the delimiter keys is pressed next.
  • the user can press one of the suggestion candidates 750 - 752 in order to select the corresponding word shown on the candidate button to replace the word “whilr.”
  • FIG. 7D depicts the mobile device 702 as a user uses a finger 723 to provide a single touch screen input over a delimiter key (the space bar 758 ).
  • FIG. 7E depicts the mobile device 702 after receiving the delimiter key.
  • the phrase 782 has been updated to replace the word “whilr” with the word “while,” which was the word associated with the highlighted suggestion candidate 750 .
  • the carat 712 has also been advanced one space past the phrase 782 .
  • the manner of providing feedback semaphores used can be selected based on their effectiveness in alerting users without annoying them. For example, when tooltip balloons (e.g., tooltip balloon 728 ) appear above the keys of the keyboard 710 , users do not always see these visual cues, especially if they are typing quickly. It is desirable to use feedback semaphores that can alert users to unexpected key presses so that they can keep their focus on the keyboard 710 , or immediately switch their focus of attention to the candidates area 708 .
  • a key is designated “unexpected” when the letters entered so far (e.g., up to the previous word boundary) do not match the prefix of any word in a candidate source (e.g., a dictionary, CSAPI, or input history data source).
  • FIGS. 7F-7H depict different designs 760 , 770 , and 780 of highlighting a touch screen that can be used to provide unexpected-key feedback semaphores to a user.
  • a mobile device 702 is shown as the user types the “r” key after entering the phrase “smsing whil” 762 .
  • a shaded tooltip balloon 766 and both the background and keys of the touch screen keyboard 764 are highlighted to provide an unexpected key feedback semaphore.
  • the design 770 of FIG. 7G depicts the mobile device 702 , but with a shaded tooltip balloon 776 and only the background of the touch screen keyboard 774 highlighted.
  • FIG. 7H depicts the mobile device 702 , but with a shaded tooltip balloon 786 and only the border of the background of the touch screen keyboard 784 highlighted.
  • the highlighting and shading shown in FIGS. 7A-7H can be based on using a pattern and/or color(s), and can slowly fade back to the original key colors over time to present a more pleasing visual appearance.
  • FIG. 8 is a flow chart 800 further detailing the method 700 shown in FIGS. 7A-7E .
  • FIG. 8 depicts process blocks for receiving input data, evaluating the data using one or more candidate sources to determine unexpected input, and based on the evaluating, displaying feedback semaphores and suggestion candidates allowing a word to be replaced with a selected suggestion candidate.
  • input data is received from a source such as a touch screen keyboard.
  • the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • the input data is analyzed and compared against one or more of the following candidate sources: a system dictionary; a user dictionary; a common speller application programming interface (CSAPI); or an input history data source that can include previously generated input history data for one or more users including word probability data, key probability data, edit distance data, and touch model probability data.
  • the analysis and comparison is repeated continuously for each character of text input, while in other examples, the analysis and comparison may only occur after an event. Examples of events include receiving a delimiter key (e.g., a space, backspace, enter, ESC, or other designated key(s)) or determining a latency in user typing speed that exceeds a threshold value.
  • a delimiter key e.g., a space, backspace, enter, ESC, or other designated key(s)
  • the analysis and comparison data from process block 820 is evaluated to determine if any unexpected input data was received. If no unexpected input data is received (e.g., all the words of the text input data can be found in one or more of the candidate sources used at process block 820 ), the method proceeds to process block 810 in order to continue receiving input data. If unexpected input data is detected, the method proceeds to process block 840 . In some embodiments, a word can be designated as unexpected input data even though the word may exist in one of the candidate sources, for example, using a grammar checker module.
  • An unusual word such as “whilst” may still be designated as unexpected input data because other similar words, for example, “while” have a higher probability of correctness, based on word probability data, key probability data, edit distance data, and touch model probability data.
  • the feedback semaphores for unusual words designated as unexpected may be modified in comparison to feedback semaphores used for words that do not exist in any of the candidate sources at all.
  • an indicator such as a feedback semaphore is provided in order to alert a user that suggestion candidates are available.
  • the feedback semaphores provided can include visual displays, including the highlighting of touch screen keyboard keys or keyboard background; audio playback, such as a distinctive “clunk clunk” sound (which indicates to the user that something may be incorrect in the input data), or haptic feedback.
  • suggestion candidates are provided, using for example, a candidates area on a touch screen display.
  • Each suggestion candidate is associated with an alternative word that will be used to modify the input data if that particular suggestion candidate is selected.
  • one of the candidates can by displayed differently (or highlighted differently) than other candidates to indicate that it is the most likely suggestion candidate. This distinguishing display not only provides a visual cue to the user, but can also be used to indicate that the input data will be modified with the suggestion candidate if other designated keys are pressed, for example, a delimiter key such as the space key, punctuation keys, or the return or enter keys.
  • Suggestion candidates can be selected several ways, including receiving a single touch screen input over the suggestion candidate on the touch screen display, or by receiving a keystroke for a designated delimiter key. If no suggestion candidate is selected, the method proceeds to process block 810 in order to receive more input data. If a suggestion candidate selection is detected, the method proceeds to process block 870 .
  • the input data is modified using an alternative word associated with the selected suggestion candidate.
  • the alternative word is used to replace the input word in the input data.
  • the alternative word is added to the input data preceding or subsequent to the input word.
  • the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine.
  • FIGS. 9A-9D depict a method 900 of providing the user with an auto-correction feedback semaphore.
  • FIG. 10 is a flowchart 1000 corresponding to the method 900 depicted in FIGS. 9A-9D .
  • a mobile device 902 comprises a text display area 904 , suggestion candidates area 910 , and touch screen keyboard 908 .
  • the display area 904 is shown displaying a phrase “smsing” 920 after a user has typed the unknown word “smsing,” but before typing a delimiter, so a carat 916 is displayed immediately after the phrase.
  • Shown in the suggestion candidates area 910 are the suggestion candidates “ending” 912 , “facing” 913 , and “smashing” 914 .
  • FIG. 9B depicts the mobile device 902 as the user presses the space bar 932 with a finger 934 , which causes the space bar to immediately be highlighted red, the word “smsing” in the phrase 920 to be replaced with a replacement word “ending,” 922 a “swish” sound 950 to be played over a speaker, and the mobile device 902 to vibrate, as shown by squiggle lines 955 and 956 .
  • the carat 916 is advanced by a space, and the mobile device also displays the suggestion candidates “smsing” 940 , “facing” 941 , and “smashing” 942 in the candidates area.
  • the candidate “smsing” 940 is the word that was just replaced by auto-correction, and the candidate 940 is colored green to indicate that it is the replaced word.
  • FIG. 9C depicts the mobile device 902 after the user has decided to undo the auto-correction. To do so, the user uses a finger 962 to make a single touch screen input over the suggestion candidate “smsing” 966 , which will undo the auto-correction.
  • FIG. 9D depicts the mobile device 902 after the auto-correction has been undone. As shown, the word “ending” has been replaced with the original word “smsing” 982 , the suggestion candidates area 910 is cleared, and the carat 916 remains a single space past the replaced word.
  • FIG. 10 is a flow chart 1000 further detailing the method 900 shown in FIGS. 9A-9D .
  • a mobile device receives input data from a source such as a touch screen keyboard.
  • the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • the input data is analyzed to determine if a designated delimiter key (e.g., a space key or an enter key) has been received in the input data. If not, then the method proceeds process block 1010 to receive more input data. If a delimiter key was received in the input data, the method proceeds to process block 1030 .
  • a designated delimiter key e.g., a space key or an enter key
  • the last word of the input data is compared against one or more candidate sources, and an auto-correction is applied to replace a word designated as incorrect with a replacement word from a candidate source.
  • one or more auto-correction feedback semaphores are displayed or played back, in a manner that is likely to keep the user's focus of attention on the keyboard. For example, a “swish” sound can be played, haptic feedback provided, and red highlighting displayed on the delimiter key that was pressed by the user.
  • the feedback semaphores are displayed in a manner that does not require the user to shift their focus of attention away from the keyboard, and therefore the user is able to more easily recognize that an auto-correction has occurred, as well as to easily view suggestion candidates that will be presented at process block 1050 .
  • one or more suggestion candidates are presented to the user, including the original word that was auto-corrected.
  • One of the suggestion candidates is also highlighted using, for example, shading or a different color.
  • the highlighted suggestion candidate is designated as the most likely substitution that the user will select.
  • the highlighted suggestion candidate is original word that was auto-corrected.
  • the highlighted suggestion candidate is a word from a candidate source designated to be the most likely substitution. The method proceeds to process block 1060 after receiving touch screen input.
  • the method determines whether the user selected a delimiter key. If a delimiter key was pressed, the method proceeds to process block 1070 , where the word inserted by auto-correction at process block 1030 is itself replaced with the word shown as the highlighted suggestion candidate, and the method then proceeds to process block 1010 , where more input data is received. If a delimiter key was not pressed, the method proceeds to process block 1080 .
  • the method determines whether the user selected a suggestion candidate (e.g., by providing a single touch screen input over the suggestion candidate). If a suggestion candidate is selected, the method proceeds to process block 1090 , where the word inserted by auto-correction at process block 1030 is itself replaced with the word associated with the selected suggestion candidate. If a suggestion candidate is not pressed, the method proceeds to process block 1010 to process the selected key (e.g., by adding the selected key to the input data) and continue receiving input data.
  • a suggestion candidate e.g., by providing a single touch screen input over the suggestion candidate.
  • FIGS. 11A-11F depict exemplary methods 1100 and 1150 of providing a user with predicted next phrases after receiving a completed word of text input using suggestion candidates.
  • users can select two or more suggestion candidates sequentially, thereby improving typing speed performance.
  • FIG. 12 is a flow chart 1200 illustrating an exemplary implementation of a method corresponding to the methods 1100 and 1150 shown in FIGS. 11A-11F .
  • a mobile device 1102 has a text display area 1104 , a suggestion candidates area 1110 , and a keyboard 1108 .
  • the mobile device 1102 is shown after a user has typed one word of the phrase “happy” 1106 , and the carat 1116 is positioned immediately after the word “happy.”
  • FIG. 11B depicts the mobile device 1102 after the user has typed a delimiter key (e.g., the space bar). As shown, three suggestion candidates “birthday” 1120 , “new” 1121 , and “go lucky” 1122 are displayed in the candidates area 1110 . The user is shown using a finger 1130 to select the first suggestion candidate 1120 .
  • a delimiter key e.g., the space bar
  • FIG. 11C depicts the mobile device 1102 after adding an additional next word “birthday” 1138 after the word “happy” in the phrase 1106 based on the selected suggestion candidate and positioned the carat 1116 one space away from the end of the word 1138 .
  • FIG. 11D depicts an exemplary method 1150 including an alternative selection of a suggestion candidate by a user compared to that shown in FIGS. 11A-11C .
  • FIG. 11D shows a mobile device 1152 entering a delimiter character immediately after typing the word “happy” 1154 .
  • the carat 1156 is positioned one space past the word.
  • a user is shown selecting the suggestion candidate “new” 1162 with a finger 1165 in the suggestion candidates area 1160 .
  • FIG. 11E depicts the mobile device 1152 after the user has selected the suggestion candidates “new” 1162 .
  • the word “new” 1170 is added to the text input after the word “happy,” another search of one or more candidate sources is performed for the phrase “happy new,” and several suggested next words for the phrase “happy new” are presented as suggestion candidates: “year” 1182 , “baby” 1183 , and “day” 1184 .
  • the user is shown selecting the suggestion candidate “year” 1182 with a finger 1175 .
  • FIG. 11F depicts the mobile device 1152 after adding the word “year” 1190 associated with the selected suggestion candidate 1182 to the text input, to form the phrase “happy new year.” Another search of the one or more candidates sources is performed, but no matches are found, so the suggestion candidates area 1160 is cleared, and the carat 1156 is placed one space from the word “year” 1190 .
  • FIG. 12 is a flow chart 1200 further detailing the exemplary methods 1100 and 1150 shown in FIGS. 11A-11F .
  • input data is received, and the method proceeds to process block 1220 , where the presence or absence of a delimiter character in the input data detected. If no new delimiter key is received in the input data, the method proceeds to process block 1210 to receive additional input data. If a delimiter key is received, then the method proceeds to process block 1230 to generate suggestion candidates for the input data. In some examples, only the last word typed is used to search for suggestion candidates, while in other examples, additional words in the input data can be included in the search.
  • the method determines if any suggestion candidates were generated. If no suggestion candidates are generated, the method proceeds to process block 1210 to receive additional input data. If one or more candidates were generated at process block 1230 , the method proceeds to process block 1250 . At process block 1250 , the suggestion candidates are presented to the user using a touch screen display coupled to the mobile device.
  • a suggestion candidate selection (or absence of a selection) is detected.
  • Suggestion candidates can be selected several ways, including receiving a single touch screen input over the suggestion candidate on the touch screen display, or by receiving a keystroke for a designated delimiter key. If no suggestion candidate is selected, the method proceeds to process block 1210 in order to receive more input data. If a suggestion candidate selection is detected, the method proceeds to process block 1270 .
  • the input data is modified using an alternative word associated with the selected suggestion candidate.
  • the alternative word is used to replace the input word in the input data.
  • the alternative word is added to the input data preceding or subsequent to the input word.
  • the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine.
  • the method immediately proceeds to process block 1230 , where more suggestion candidates are generated based on the modified input data. In this manner, a user can select multiple suggestion candidates from a changing set of suggestion candidates, thereby improving typing speed and accuracy, especially for highly frequent combinations of words and phrases.
  • FIG. 13 is a chart 1300 representing some events that occur during a method that includes the use of random click sounds played back as the user presses keys on a touch screen keyboard, as well as the use of keystroke latency to determine when to present suggestion candidate to a touch screen keyboard user.
  • FIG. 14 is a flow chart 1400 that corresponds to the methods shown in FIG. 13 .
  • Shown in FIG. 13 is a time axis 1330 that indicates when events occur or are received by a mobile device.
  • the user enters several successive key presses on the touch screen: “b” 1340 , “a” 1341 , “n” 1342 , and “a” 1343 in relatively rapid succession.
  • the mobile device randomly selects and plays a “click” sound that simulates the sound that a key press makes when typing on a hardware keyboard.
  • the mobile device can randomly select one of the five different click sounds labeled # 1 -# 5 .
  • the click sounds 1310 - 1314 , etc. are not always the same for a given key that is pressed.
  • the first keypress “a” 1341 is followed by playback of click sound # 2 1311
  • the second keypress “a” 1344 is followed by playback of click sound # 3 1314
  • the two keypresses shown for “n” playback sound # 3 1312 the first keypress 1342 and sound # 5 1313 for the second keypress 1344 .
  • suggestion candidates are presented for the input data of the most recent word input.
  • the techniques for presenting the suggestion candidates are similar to those discussed above.
  • suggestion candidates are only presented when the partial data input is determined to be incomplete, i.e., when the partial input data does not appear in a candidate source such as a dictionary or input history data.
  • suggestion candidates are presented after a pre-determined latency if no delimiter has been received for the word.
  • the user can define the latency threshold value, while others examples use a pre-defined threshold value.
  • the mobile device presents several suggestion candidates for the partial input data “bana,” includes candidates “banana” 1350 , “bananas” 1351 , and “banal” 1352 .
  • the user decides to ignore the suggestion candidates and continues typing “na ⁇ space>s” followed by another pause after keypress “s” 1345 .
  • Another time period exceeds the latency threshold value after the keypress “s” 1345 , and different suggestion candidates 1360 - 1363 are generated.
  • the suggestion candidate generation module can consider not only the partial input word “s,” but also the previous word input “banana.” (e.g., “banana s” is the input being considered by the candidate generation module).
  • “banana s” is the input being considered by the candidate generation module.
  • very accurate suggestion candidates can be provided even though the user has only entered a single letter “s” of the latest input word.
  • the user selects the candidate “slug” 1362 by pressing the “slug” suggestion candidate 1370 on the touch screen display, and the input data is modified to “banana slug.”
  • FIG. 14 is a flow chart 1400 further detailing the method shown in FIG. 13 .
  • input data is received from a source such as a touch screen keyboard.
  • the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • a random click sound is selected from a collection of two or more sounds and played back to the user using, e.g., a speaker.
  • the click sounds are not associated with any specific key, and any particular key press on the same key can have multiple random sounds played back.
  • the latency between the most recently received keystroke, and last keystroke received immediately preceding that keystroke is measured.
  • the measured latency is compared to a pre-determined threshold value. In some examples, this latency threshold can be selected by the user. In other examples, the threshold can come from a default value. In other examples, the threshold can be selected based on a user's previous or average typing speed. If the measured latency does not exceed the threshold, the method proceeds to process block 1410 , and more input data is received. If the measured latency does exceed the threshold, the method proceeds to process block 1450 .
  • the keystroke latency or typing speed data is also used to select which types of feedback semaphore(s) are presented. For example, if a user is typing relatively rapidly, only one or two more subtle semaphores are provided (e.g., only delimiter key highlighting can be used for fast typists). If a user is typing relatively slowly, more semaphores, or semaphores that use stronger visual, audio, and/or haptic cues are provided (e.g., louder audio, use of haptic force, and/or brighter or different-colored highlighting can be used for slower typists).
  • typing speed data, touch point data, device orientation, etc. can also be used to detect whether a user is typing using one or two hands.
  • different types of feedback semaphores can be provided based on whether the user is typing using one or two hands.
  • the input data is analyzed and suggestion candidates are generated and presented for the input data in a similar fashion to those techniques for generating suggestion candidates discussed above.
  • candidates are only generated if the input data is partial and cannot be found in a candidate generation source.
  • candidates are generated unless the last key pressed is a delimiter key.
  • only partial input data is considered, while other examples can analyze other words in the input data (e.g., the word immediately preceding or the word immediately subsequent to the current input word).
  • the candidates are generated, they are presented to the user using, e.g., a candidates area on a touch screen device.
  • the selection (or absence of selection) of one of the suggestion candidates is detected. If a suggestion candidate selection is detected, the method proceeds to process block 1470 , where the partial input data is modified by replacing the input word with the word associated with the selected suggestion candidate, and the method proceeds to process block 1410 to receive more input data. If a suggestion candidate is not detected as selected, then the method proceeds to process block 1410 to receive more data.
  • the on-screen keyboard utilizes a feedback technique where pressed keys briefly light up and gradually fade away.
  • key-prediction guidance Another semaphore studied is a guidance semaphore called key-prediction guidance.
  • key-prediction guidance is highlighting or bolding the next likely letter on a keyboard.
  • the other two semaphores studied were the feedback semaphores unexpected-key feedback and auto-correction feedback.
  • MacKenzie I Phrase Sets for Evaluating Text Entry Techniques
  • the set contains 500 short English phrases with no punctuation, varying from 16-43 characters with a high letter frequency correlation with an English corpus.
  • the phrase set was supplemented with news headline phrases culled from the Internet containing words not found in the test dictionary (e.g., “smsing while driving is risky,” “obama is activateated”).
  • the primary independent variable used was Semaphore, consisting of Baseline, Unexpected-Key Feedback and Key-Prediction Guidance. As dependent measures, time to enter text, accuracy, and the efficiency measure: keystrokes-per-character or KSPC as described in MacKenzie & Tanaka-Ishii, Text Entry Systems: Mobility, Accessibility, Universality (Morgan Kaufmann Publishers 2007) (hereinafter “MacKenzie III”) were examined.
  • FIG. 16A is a chart 1600 that shows the average time spent per phrase for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 26.58, 25.81, and 23.95 respectively.
  • FIG. 16B shows a chart 1610 displaying the average keystrokes-per-character for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 1.22, 1.10, and 1.09 respectively.
  • FIG. 16C is a chart 1620 that shows the average number of backspaces for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 3.54, 2.79, and 2.29 respectively.
  • FIG. 16D is a chart 1630 that shows a breakdown of the previous time taken to enter text result in terms of the number of hands.
  • Participants do not seem to be reducing time to enter text in either the Key-Prediction Guidance or the Unexpected-Key Feedback conditions, as shown by the bars 1632 , 1633 , and 1634 for Baseline, Key-Prediction Guidance, and Unexpected Key Feedback, respectively.
  • Any of the methods described herein can be performed via one or more computer-readable media (e.g., storage or other tangible media) comprising (e.g., having or storing) computer-executable instructions for performing (e.g., causing a computing device to perform) such methods. Operation can be fully automatic, semi-automatic, or involve manual intervention.
  • computer-readable media e.g., storage or other tangible media
  • Operation can be fully automatic, semi-automatic, or involve manual intervention.

Abstract

An apparatus and method are disclosed for providing feedback and guidance to touch screen device users to improve the text entry user experience and performance through the use of indicators such as feedback semaphores. Also disclosed are suggestion candidates, which allow a user to quickly select next words to add to text input data, or replacement words for words that have been designated as incorrect. According to one embodiment, a method comprises receiving text input data, providing an indicator for possible correction of the text input data, displaying suggestion candidates associated with alternative words for the data, receiving a single touch screen input selecting one of the suggestion candidates, and modifying the input data using the word associated with the selected suggestion candidate.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 61/304,341, filed Feb. 12, 2010, and entitled “TYPING ASSISTANCE FOR EDITING,” which is hereby incorporated herein by reference in its entirety.
  • FIELD
  • The present disclosure pertains to devices and methods for enhancing text entry using a touch screen device.
  • BACKGROUND
  • With the increasing popularity of mobile devices, including cellphone devices, handheld devices, handheld computers, smartphones, PDAs, etc., there is a need for improving the user interface experience by increasing user text input speed, reducing text entry errors, and improving the overall user experience.
  • Mobile devices with capacitive or resistive touch capabilities often utilize a touch screen keyboard, a hardware keyboard, speech recognition, handwriting recognition, or combination of the four, for entry of text input. Touch screen keyboards enable larger displays for videos, web pages, email, etc., without the requirement of a physical keyboard. Because touch screen keyboards are software-based, they can be easily adjusted for different languages, screen orientation, and key layouts. Furthermore, touch screen keyboards can be augmented with widgets for word prediction and disambiguation candidates.
  • Users of devices with touch screens, especially mobile devices, have varying abilities and styles of entering text. In particular, some users prefer to type large chunks of text input fairly rapidly, and do not to review and correct the entered text until complete phrases, sentences, or complete messages have been entered. Similarly, users entering text using speech recognition or handwriting recognition do not want to stop to review their text input until having entered completed phrases, sentences, or complete messages. Predictive typing assistance software such as T9 only offer word prediction candidates as users type. After users finish typing, they are usually left without any assistance, and must then struggle to edit text by placing cursors in-between characters in order to proof and correct text.
  • Therefore, there exists ample opportunity for improvement in technologies related to facilitating user input on electronic devices by providing more helpful and accurate assistance in the text correction process in order to accelerate user text entry and reduce user input error rates.
  • SUMMARY
  • An apparatus and method are disclosed for providing feedback and guidance to touch screen device users to improve the text entry user experience and performance.
  • One exemplary embodiment disclosed herein is a method comprising receiving first input data comprising one or more input words from a keyboard, providing one or more feedback semaphores, wherein the feedback semaphores are operable to alert a user using the keyboard that one or more suggestion candidates are available, automatically displaying the one or more suggestion candidates, wherein the suggestion candidates are each associated with an alternative word for one or more of the input words, automatically receiving a touch screen input selecting one of the suggestion candidates, and modifying the first input data using the alternative word associated with the selected suggestion candidate. In some examples, one or more alternative words for one of the input words are generated, the first input data is immediately auto-corrected are providing the feedback semaphores by automatically replacing the input word with one of the alternative words. In some examples, the first input data comprises a character designated as a delimiter and the providing feedback semaphores occurs based on a word probability for the input word and receiving the delimiter character. In some examples, the feedback semaphores can include one or more of the following: playing a sound, generating haptic feedback, highlighting one or more keys on the keyboard, highlighting a background area of the keyboard, and highlighting a suggestion candidates area. In some examples, the feedback semaphores include highlighting a delimiter key and receiving a single touch screen input for one of the highlighted delimiter keys. In some examples, the feedback semaphores are not provided until the input word is designated incorrect using a candidate source. In some examples, the feedback semaphores provided can be selected based on receiving typing speed data for the first input data. In some examples, the feedback semaphores provided can be selected based on detecting whether the user is typing on the keyboard with one or two hands.
  • Another exemplary embodiment disclosed herein is a computer-readable storage media storing computer-readable instruction that when executed by a computer cause the computer to perform a method comprising: receiving text input data comprising at least one word using a keyboard coupled to a touch screen, detecting that an event has occurred based on the text input data and based on the detected event, automatically displaying on the touch screen one or more suggestion candidates for the at least one word based on the text input data and one or more candidate sources, where each of the candidates is associated with at least one next word designated as likely to follow the at least one word, receiving a single touch screen input selecting one of the suggestion candidates, and, based on the single touch screen input, automatically modifying the text input data by adding the at least one next word associated with the selected suggestion candidate to the text input data. In some examples, the event is detected based on a measured keystroke latency. In some examples, the event is an auto-correction of the text input data. In some examples, the event is receiving a delimiter key in the text input data. In some examples, a method further comprises automatically displaying on the touch screen one or more replacement suggestion candidates for the at least one word based on the text input data and one or more candidate sources, where each of the replacement suggestion candidates is associated with at least one replacement word for the at least one word, and the displaying includes displaying the replacement suggestion candidates in a manner that distinguishes the replacement suggestion candidates from the suggestion candidates. In some examples, a method comprises immediately after the automatically adding the at least one word, displaying one or more suggestion candidates for the text input data, which includes the selected next word, and repeating the automatically modifying the text input data.
  • A further exemplary embodiment disclosed herein is a mobile device comprising one or more processing units operable to execute computer-executable instructions for text entry and correction, one or more memory units coupled to the processing units, one or more touch screens coupled to the mobile device configurable to have a text display area, a suggestion candidates area, and a touch screen keyboard area, wherein the text display area, the suggestion candidates area, and the touch screen keyboard area occupy distinct, non-overlapping areas of the touch screens, and wherein the one or more touch screens are operable to receive touch input over at least a portion of the touch screen keyboard area and the suggestion candidates area. A mobile device further comprises storage for storing the computer-executable instructions for text entry and correction using a text input module for receiving text input using the touch screen keyboard and displaying at least a portion of the text input in the text display area a candidate generation module for generating one or more suggestion candidates comprising one or more replacement suggestions and/or one or more next word suggestions for an input word of the text input an indicator generation module for producing one or more indicators that can notify a user that the suggestion candidates are available, a suggestion presentation module for presenting the suggestion candidates associated with the input word in the suggestion candidates area and receiving touch screen user input for selecting one of the presented suggestions wherein if the selected suggestion is a replacement suggestion, replacing the input word with the selected suggestion, and if the selected suggestion is a next word suggestion, adding the selected suggestion as a next word subsequent to the input word in the text input. In some examples, the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until one of the input words is designated incorrect by a dictionary, a common speller application programming interface, or an input history data source. In some examples, the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until a delimiter character is received immediately after the input word.
  • The described techniques and tools for solutions for improving text entry user experience and performance can be implemented separately, or in various combinations with each other. As will be described more fully below, the described techniques and tools can be implemented on hardware that includes software touch screen keyboards or hardware keyboards. As will be readily apparent to one of ordinary skill in the art, the disclosed technology can be implemented using various platforms coupled with a touch screen including, but not limited to, mobile devices (cellphones, smartphones, PDAs, handheld devices, handheld computers, PDAs, touch screen tablet devices), tablet or laptop computers, desktop computers, and home theater systems. As used herein, a touch screen includes a display coupled with touch sense capabilities (for example, displays using capacitive or resistive sensors).
  • The foregoing and other objects, features, and advantages will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a system diagram depicting an exemplary mobile device including a variety of optional hardware and software components.
  • FIG. 2 illustrates a generalized example of a suitable computing environment in which described embodiments, techniques, and technologies may be implemented.
  • FIG. 3 illustrates a generalized example of a suitable implementation environment for a text entry device connected to a computing cloud.
  • FIG. 4 illustrates a generalized example of a text entry device having a touch screen including a touch screen keyboard, a suggestion candidates area, and a text entry area.
  • FIGS. 5A-5C illustrate generalized examples of text entry devices, including a touch screen device with a touch screen keyboard, a mobile device, and a personal computer.
  • FIG. 6 is a flow chart of an exemplary implementation of a method for generating possible corrections for input data, providing indicators including feedback semaphores that indicate the availability of the possible corrections, and displaying suggestion candidates.
  • FIGS. 7A-7E depict a method of providing unexpected-key feedback, including providing feedback semaphores, when an unexpected key is pressed.
  • FIGS. 7F-7H depict three alternative designs for providing feedback semaphores.
  • FIG. 8 is a flow chart that outlines an exemplary implementation of the method shown in FIGS. 7A-7E.
  • FIGS. 9A-9D depict an exemplary implementation of a method of providing auto-correction notification, including providing feedback semaphores, when auto-correction of text input data occurs.
  • FIG. 10 is a flow chart that outlines an exemplary implementation of the method shown in FIGS. 9A-9D.
  • FIGS. 11A-11C depict an exemplary implementation of a method of providing likely next phrases, including using suggestion candidates after receiving a text input word and a delimiter.
  • FIGS. 11D-11F depict an exemplary implementation of a method of providing likely next words or phrases, including using suggestion candidates after receiving a text input word and a delimiter, and then providing an additional next word.
  • FIG. 12 is a flow chart that outlines an exemplary implementation of the methods shown in FIGS. 11A-11C and 11D-11F.
  • FIG. 13 is a chart representing events that occur during an exemplary implementation of a method that includes playing random click sounds as a user presses keys on a touch screen keyboard, as well as the use of keystroke latency to determine when to present suggestion candidates.
  • FIG. 14 is a flow chart that outlines an exemplary implementation of the methods shown in FIG. 13.
  • FIG. 15 illustrates a generalized example of a suitable implementation environment including a computing cloud and various connected devices in which described embodiments, techniques, and technologies can be implemented.
  • FIGS. 16A-16D are charts depicting some experimental results obtained using the disclosed technologies.
  • DETAILED DESCRIPTION I. General Considerations
  • This disclosure is set forth in the context of representative embodiments that are not intended to be limiting in any way.
  • As used in this application and in the claims, the singular forms “a,” “an,” and “the” include the plural forms unless the context clearly dictates otherwise. Additionally, the term “includes” means “comprises.” Further, the term “coupled” encompasses mechanical, electrical, as well as other practical ways of coupling or linking items together, and does not exclude the presence of intermediate elements between the coupled items.
  • The described things and methods described herein should not be construed as being limiting in any way. Instead, this disclosure is directed toward all novel and non-obvious features and aspects of the various disclosed embodiments, alone and in various combinations and sub-combinations with one another. The disclosed systems, methods, and apparatus are not limited to any specific aspect or feature or combinations thereof, nor do the disclosed things and methods require that any one or more specific advantages be present or problems be solved.
  • Although the operations of some of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed things and methods can be used in conjunction with other things and methods. Additionally, the description sometimes uses terms like “produce,” “generate,” “select,” “highlight,” and “provide” to describe the disclosed methods. These terms are high-level abstractions of the actual operations that are performed. The actual operations that correspond to these terms will vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.
  • Theories of operation, scientific principles or other theoretical descriptions presented herein in reference to the apparatus or methods of this disclosure have been provided for the purposes of better understanding and are not intended to be limiting in scope. The apparatus and methods in the appended claims are not limited to those apparatus and methods that function in the manner described by such theories of operation.
  • In the following description, certain terms may be used such as “up,” “down,” “upper,” “lower,” “horizontal,” “vertical,” “left,” “right,” “over,” “on,” “near,” and the like. These terms are used, where applicable, to provide some clarity of description when dealing with relative relationships. But, these terms are not intended to imply absolute relationships, positions, and/or orientations.
  • As used in this disclosure, the term “wait” may be used to describe the action a device takes while waiting for particular value or type of input before proceeding with a particular operation. This waiting should not be construed as limiting the device to only waiting for the particular type of input, rather, the device may receive other input or perform other actions concurrently with the waiting.
  • As used in this disclosure, the term “automatically” is used to describe actions that can proceed immediately, without receiving further user input. As used in this disclosure, the term “immediately” means that an action occurs within a short time period following a preceding action without needing to receive intervening user input. In some cases, there may be intervening actions performed between or concurrently with the preceding action and the action occurring “immediately,” for example, screen refresh or redraw, sound playback, etc.
  • As used in this disclosure, the term “incorrect” is used to describe a designation of a word or phrase as being incorrect. A word designated as incorrect can be automatically highlighted or auto-corrected, even though the word designated as incorrect by a correction module might actually be considered to be correct by the user. For example, a word can be designated as incorrect because it does not exist in a dictionary, CSAPI (common speller application programming interface), or IHDS (input history data source). Alternatively, a word can be designated as “incorrect” even though it exists in a dictionary, CSAPI, or IHDS, because of other checking rules implemented in a correction module or candidate generation module, or because of the context of the word within a phrase.
  • As used in this disclosure, the term “indicator” is used to describe output that is intended to capture the attention of a user of a text entry device, and can include visual, audio, and haptic feedback. Some examples techniques for providing visual indicators include highlighting an object on a display by changing the color of the object, shading of the object or background of an object, changing the color of one or more elements of an object (e.g., by coloring the letter “F” on the “F” key of a touch screen keyboard), flashing the display, or by drawing a new object (e.g., using underlines, balloons, or suggestion candidates) on the display. Some examples of audio indicators include playing back a pre-recorded or synthesized sound, including a randomly selected sound. Some examples of haptic indicators include vibrating a handheld device or area of a touch screen keyboard, as well as increasing or decreasing the amount of pressure sufficient to register a key press on a keyboard, including touch screen keyboards. An example of varying key press resistance to prevent typing errors may be found in Hoffmann, et al., “TypeRight: A Keyboard with Tactile Error Prevention,” Proceedings of the 27th Int'l Conf. on Human Factors in Computing Systems, pp. 2265-2268 (2009).
  • As used in this disclosure, the term “semaphore” is used to describe the use of one or more indicators to provide feedback and/or guidance signals on a text entry device user to help discover and avoid text entry errors. Generally speaking, “feedback semaphore” is used to describe an indicator or signal that is provided after an event is received (for example, an event could be an auto-correction or other action that a text entry device performs, or the receiving of a key press or touch screen touch input). In contrast, “guidance signal” is used to describe an indicator that is provided before the occurrence of an event. For example, a text entry device can predict which key a user is likely to press next and highlight the most likely key, thereby providing a guidance signal, so the user can more easily find the most likely key.
  • As used in this disclosure, the term “over” is used to describe the positioning of one or more objects (for example, a finger, thumb, or stylus) over, on, or near a location on a touch screen. In some embodiments, this object need not come into contact with the touch screen for the object's position to be determined. In other embodiments, the object described as “over” the touch screen may be in contact with the surface of the touch screen. In some embodiments, the object determined to be “over” a location of the touch screen may not actually be positioned directly over the touch screen location, but determined to be “over” the location on the touch screen, for example, by a position correction module of the text entry device or touch screen.
  • The disclosed technology includes various approaches to improving typing accuracy or typing speed when using devices having a touch screen by using suggestion candidates to augment other input devices. These suggestion candidates are typically represented in a candidates area, which need not be permanently reserved for that purpose, or can appear in varying location on the touch screen. After entering one or more words to form a text entry, the user can review the text entry by viewing the touch screen and deciding whether to select word(s) for “suggestions.” Although some examples disclosed herein describe “a word” or “a selected word,” it should be understood that in some examples, selecting a word can include but is not limited to selecting a single word with a single touch screen input, selecting multiple words of a phrase with a single touch screen input, or selecting multiple words of a phrase using touch screen input comprising plural single touch screen inputs. For example, auto-correction or unexpected-key feedback can be generated for a single word, or for a phrase comprising multiple words and spaces, but that are related in some way.
  • In some examples, after an indicator is provided, one or more suggestion candidates are displayed on a touch screen display. The suggestion candidates can be presented as “buttons” which include a word related to the word selected by the user. Suggestion candidates can be determined to be related to the selected word using a candidate generation module, which can use a dictionary, thesaurus, common speller application programming interface, input history data source, or other sources or methods to generate suggestion candidates. The candidate generation module can also determine the rank order in which suggestion candidates are presented. For example, the suggestion candidates can be presented from left to right, with the suggestion candidate determined to be the most likely presented furthest to the left, and the least likely suggestion candidate presented furthest to the right. The user reviews the suggestion candidates, and selects one of the candidates for replacement using a single touch screen input over the desired suggestion candidate on the touch screen.
  • As used in this disclosure, a single touch screen input refers to the input received when a user positions an object over the surface of a touch screen such that the touch screen device can determine the position of the object. In some embodiments, the object can be the user's finger or thumb. In other embodiments, the object can be a stylus or puck. In some embodiments, the single touch screen input is received after the user “taps” the touch screen over a word or suggestion candidates. In other embodiments, the single touch screen input is received when the user presses the screen with a finger, thumb, or stylus. Receiving a single touch screen input is sufficient to determine which suggestion candidate the user is indicating on the touch screen—no additional keyboard input, mouse input, trackball input, voice input, or additional touches are necessary. Using a single touch screen input to determine user selections simplifies the input process and allows for the fast correction of text entries without the need to use submenus, popup menus, or additional input devices.
  • II. Example Mobile Device
  • FIG. 1 is a system diagram depicting an exemplary mobile device 100 including a variety of optional hardware and software components, shown generally at 102. Any components 102 in the mobile device can communicate with any other component, although not all connections are shown, for ease of illustration. The mobile device can be any of a variety of computing devices (e.g., cell phone, smartphone, handheld computer, Personal Digital Assistant (PDA), etc.) and can allow wireless two-way communications with one or more mobile communications networks 104, such as a cellular or satellite network.
  • The illustrated mobile device 100 can include a controller or processor 110 (e.g., signal processor, microprocessor, ASIC, or other control and processing logic circuitry) for performing such tasks as signal coding, data processing, input/output processing, power control, and/or other functions. An operating system 112 can control the allocation and usage of the components 102 and support for one or more application programs 114. The application programs can include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications), or any other computing application.
  • The illustrated mobile device 100 can include memory 120. Memory 120 can include non-removable memory 122 and/or removable memory 124. The non-removable memory 122 can include RAM, ROM, flash memory, a hard disk, or other well-known memory storage technologies. The removable memory 124 can include flash memory or a Subscriber Identity Module (SIM) card, which is well known in GSM communication systems, or other well-known memory storage technologies, such as “smart cards.” The memory 120 can be used for storing data and/or code for running the operating system 112 and the application programs 114. Example data can include web pages, text, images, sound files, video data, or other data sets to be sent to and/or received from one or more network servers or other devices via one or more wired or wireless networks. The memory 120 can be used to store a subscriber identifier, such as an International Mobile Subscriber Identity (IMSI), and an equipment identifier, such as an International Mobile Equipment Identifier (IMEI). Such identifiers can be transmitted to a network server to identify users and equipment.
  • The memory 120 can also be used for the candidate sources 116, which are used for generating and suppressing auto-corrections and generation suggestion candidates. Candidate sources 116 can include but are not limited to: a system dictionary, a user dictionary, a common speller application programming interface (CSAPI), touch models, and an input history data source.
  • The mobile device 100 can support one or more input devices 130, such as a touch screen 132, microphone 134, camera 136, physical keyboard 138, and/or trackball 140 and one or more output devices 150, such as a speaker 152 and a display 154. Other possible output devices can include haptic output devices such as a piezoelectric transducer 156 or other suitable device. Some devices can serve more than one input/output function. For example, touch screen 132 and display 154 can be combined in a single input/output device.
  • A wireless modem 160 can be coupled to an antenna (not shown) and can support two-way communications between the processor 110 and external devices, as is well understood in the art. The modem 160 is shown generically and can include a cellular modem for communicating with the mobile communication network 104 and/or other radio-based modems (e.g., Bluetooth 164 or Wi-Fi 162). The wireless modem 160 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile device and a public switched telephone network (PSTN).
  • The mobile device can further include at least one input/output port 180, a power supply 182, a satellite navigation system receiver 184, such as a Global Positioning System (GPS) receiver, an accelerometer 186, and/or a physical connector 190, which can be a USB port, IEEE 1394 (FireWire) port, and/or RS-232 port. The illustrated components 102 are not required or all-inclusive, as any components can deleted and other components can be added.
  • III. Example Computing Environment
  • FIG. 2 illustrates a generalized example of a suitable computing environment 200 in which described embodiments, techniques, and technologies may be implemented. For example, the computing environment 200 can implement unexpected-key feedback, auto-correction notification, invoking likely next phrases, random playback of click sounds, and waiting for a keystroke latency before presenting suggestion candidates, as described below.
  • The computing environment 200 is not intended to suggest any limitation as to scope of use or functionality of the technology, as the technology may be implemented in diverse general-purpose or special-purpose computing environments. For example, the disclosed technology may be implemented with other computer system configurations, including hand held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • With reference to FIG. 2, the computing environment 200 includes at least one central processing unit 210 and memory 220. In FIG. 2, this most basic configuration 230 is included within a dashed line. The central processing unit 210 executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power and as such, multiple processors can be running simultaneously. The memory 220 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. The memory 220 stores software 280 and candidate sources 285 that can, for example, implement the technologies described herein. A computing environment may have additional features. For example, the computing environment 200 includes storage 240, one or more input devices 250, one or more output devices 260, one or more communication connections 270, and one or more touch screens 290. An interconnection mechanism (not shown) such as a bus, a controller, or a network, interconnects the components of the computing environment 200. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment 200, and coordinates activities of the components of the computing environment 200.
  • The storage 240 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and that can be accessed within the computing environment 200. The storage 240 stores instructions for the software 280 and candidate sources 285, which can implement technologies described herein.
  • The input device(s) 250 may be a touch input device, such as a keyboard, keypad, mouse, pen, or trackball, a voice input device, a scanning device, or another device, that provides input to the computing environment 200. For audio, the input device(s) 250 may be a sound card or similar device that accepts audio input in analog or digital form, or a CD-ROM reader that provides audio samples to the computing environment 200. The output device(s) 260 may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment 200. The touch screen 290 can act as an input device (receiving touch screen input) and as an output device (displaying the text entry area, suggestion candidates area, and/or touch keyboard).
  • The communication connection(s) 270 enable communication over a communication medium (e.g., a connecting network) to another computing entity. The communication medium conveys information such as computer-executable instructions, compressed graphics information, or other data in a modulated data signal.
  • Computer-readable media are any available media that can be accessed within a computing environment 200. By way of example, and not limitation, with the computing environment 200, computer-readable media include memory 220, storage 240, communication media (not shown), and combinations of any of the above.
  • Computer-readable media are any available media that can be accessed within a computing environment 200. By way of example, and not limitation, with the computing environment 200, computer-readable media include memory 220 and/or storage 240. As should be readily understood, the term computer-readable storage media includes the media for data storage such as memory 220 and storage 240, and not transmission media such as modulated data signals.
  • IV. Example Text Entry Device
  • FIG. 3 illustrates a generalized example of a suitable implementation environment 300 of a text entry device 305 connected to a computing cloud 325. The text entry device 305 includes several modules stored on a computer-readable storage medium 310, including a text input module 330 for receiving text entry input, touch input module 332 for receiving touch screen input from a touch screen (not shown), and an output module 334 for providing output to a touch screen. The communication module 320 adapts the text entry device 305 so that it can communicate with service providers located in the cloud 325. The computer-readable storage medium 310 also includes an indicator generation module 340 for generating feedback semaphores and other indicators, a correction module 342 for checking and correcting text entries, and a candidate generation module 344 for generating suggestion candidates. Indicator generation module 340, correction module 342, and candidate generation module 344 can communicate with multiple modules to determine correction and suggestion candidates, including a grammar checking module 350, a system dictionary module 351, a user dictionary module 352, a CSAPI (Common Speller API) module 353, and an IHDS (input history data source) module 354. In some embodiments, one or all of these source modules 350-354 can be provided by a service provider in an alternate location 380 in the cloud 325.
  • FIG. 15 illustrates a generalized example of a suitable implementation environment 1500 in which described embodiments, techniques, and technologies may be implemented.
  • In example environment 1500, various types of services (e.g., computing services) are provided by a computing cloud 1510. For example, the cloud 1510 can comprise a collection of computing devices, which may be located centrally or distributed, that provide cloud-based services to various types of users and devices connected via a network such as the Internet. The implementation environment 1500 can be used in different ways to accomplish computing tasks. For example, some tasks (e.g., processing user input and presenting a user interface) can be performed on local computing devices (e.g., connected devices 1530-1532) while other tasks (e.g., storage of data to be used in subsequent processing, including candidate sources) can be performed in the cloud 1510.
  • In example environment 1500, the cloud 1510 provides services for connected devices 1530-1532 with a variety of screen capabilities. Connected device 1530 represents a device with a computer screen (e.g., a mid-size screen). For example, connected device 1530 could be a personal computer such as desktop computer, laptop, notebook, netbook, or the like. Connected device 1531 represents a device with a mobile device screen (e.g., a small size screen). For example, connected device 1531 could be a mobile phone, smart phone, personal digital assistant, tablet computer, and the like. Connected device 1532 represents a device with a large screen. For example, connected device 1532 could be a television screen (e.g., a smart television) or another device connected to a television (e.g., a set-top box or gaming console) or the like. One or more of the connected devices 1530-1532 can include touch screen capabilities. Devices without screen capabilities also can be used in example environment 1500. For example, the cloud 1510 can provide services for one or more computers (e.g., server computers) without displays.
  • Services can be provided by the cloud 1510 through service providers 1520, or through other providers of online services (not depicted). For example, cloud services can be customized to the screen size, display capability, and/or touch screen capability of a particular connected device (e.g., connected devices 1530-1532).
  • In example environment 1500, the cloud 1510 provides the technologies and solutions described herein to the various connected devices 1530-1532 using, at least in part, the service providers 1520. For example, the service providers 1520 can provide a centralized solution for various cloud-based services. The service providers 1520 can manage service subscriptions for users and/or devices (e.g., for the connected devices 1530-1532 and/or their respective users).
  • Although the operations of some of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed methods can be used in conjunction with other methods.
  • Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g., any commercially available computer, including smart phones or other mobile devices that include computing hardware). Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable media (e.g., non-transitory computer-readable media). The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
  • For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C++, Java, Perl, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well known and need not be set forth in detail in this disclosure.
  • Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
  • The disclosed methods, apparatus, and systems should not be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The disclosed methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.
  • V. Example Touch Screen Text Entry Device
  • FIG. 4 depicts an exemplary embodiment 400 of a text entry device 401 having a touch screen 402. The touch screen 402 includes a display area for a touch screen keyboard 420, a suggestion candidates area 450, and a text display area 403. The text display area 403 is shown displaying a phrase “smsing while dr” 404. In some embodiments, only a portion of the text input is displayed because of, for example, screen size limitations. A carat (cursor) 406 is also shown in the text entry area 403. In some embodiments, the carat 406 can be placed at various positions in the text entry area using a single touch screen input. In some embodiments, the touch screen 402 has a substantially planar surface, and the display capability can be implemented using LED, LCD, electronic ink, DLP, Plasma, CRT, or other suitable display technology.
  • The text entry device 401 has a touch screen 402 that displays a touch screen keyboard 420 having several keys 424, 426, 428, 430, 432, 434, etc. Some of the keys, including the backspace key 430, return key 432, and space key 434 are also designated as delimiter keys. As shown, the touch screen keyboard displays the keys 424, 426, 428, 430, 432, 434, etc. as images on the touch screen 402, as the user's finger 442 is touching the key “s” 428. The touch screen can include capacitive, resistive, inductive, or other suitable technologies for determining the position of one or more touch inputs detected over the surface of the keyboard and converting this touch input into text input. In some embodiments, the touch input is created using a stylus or puck, while in other embodiments the touch input can be created using a finger or thumb. In other embodiments, the touch screen keyboard 420 can be implemented as a hardware keyboard including mechanical keys.
  • The suggestion candidates area 450 is depicted in FIG. 4 showing three suggestion candidates, including “drive” 455, “drug,” “draft,” “drop,” and “driving.” As shown, the suggestion candidates area 450 includes widgets directly above the keyboard area containing word prediction and disambiguation candidates. Placing the suggestion candidates area 450 close to the touch screen keyboard 420 can improve typing speed and reduce errors by allowing users to maintain their focus of attention near the keyboard area while correcting a phrase 410 in the text entry area 403. In other embodiments, the suggestion candidates area 450 can be placed nearby the phrase 404 in the text entry area 403.
  • The location of the text entry area 403, the keyboard 420, etc., can be varied based on the particular implementation and design.
  • FIGS. 5A-5C illustrate additional exemplary implementations 500, 530, 560 of the disclosed technology. FIG. 5A depicts an exemplary implementation 500 of a text entry device, which includes a touch screen 506 displaying a window 510, including a designated text entry area displaying the phrase “smsing while driving” 512. The touch screen 506 is also displaying a candidates area 520, and a touch screen keyboard 524. A finger 522 is shown selecting the candidate “driving” in the candidates area 520.
  • FIG. 5B depicts an exemplary implementation 530, which includes a mobile device 531 having a touch screen 532 with a text entry area 534 (displaying the phrase “smsing while driving” 536), a suggestion candidates area 542, and a hardware keyboard 540.
  • FIG. 5C depicts an exemplary implementation 570 of a text entry device, which includes a personal computer (PC) device having a display screen 571 and a keyboard 580. The display screen 571 is shown displaying the phrase “smsing while dr” 575 in a window 574. Also shown is a suggestion candidates area 586 displaying candidates “drive,” “draft,” “drop,” and “driving.” In some examples, the text entry device is not limited to receiving text input using a touch screen keyboard, but can also use hardware keyboards, handwriting recognition, or speech recognition to receive text input.
  • Methods and apparatus for performing handwriting recognition can include but are not limited to those based on: Bayesian networks, neural nets, hidden Markov models, or k-nearest-neighbor approaches. Methods and apparatus for performing speech recognition can include but are not limited to those based on a dynamic time warping approach or hidden Markov models.
  • VI. Example Indicators, Signals, and Feedback Semaphores
  • Feedback and guidance signals are examples of indicators that can be implemented in many ways. For example, mobile tactile feedback, such as piezoelectric tactile displays that responds to a stylus, or a stylus that produces tactile feedback, can be employed. For touch screen keyboards in particular, artificial tactile feedback via vibration actuators can improve text entry performance in both static environments and mobile environments (for example, typing in a moving vehicle such as an automobile or train). In some examples, keyboard events can be defined including a fingertip-over event to signal when a fingertip has touched a key, a fingertip-click event to signal that a key has been registered, a fingertip-slip event to signal when the fingertip moved over the edge of a key, and a home-key event for indicating where the home keys are located on the touch screen keyboard. For example, in an English-language keyboard, the home keys of “F” and “J,” one for each finger, can be associated with haptic feedback that is provided to indicate a user's fingers are over the home keys. Using these events can improve tactile touch screen keyboard accuracies obtained to close to those obtained using a physical keyboard. Examples of using haptic feedback with a touch screen keyboard may be found in: Brewster, et al., “Tactile feedback for mobile interactions,” Proc. of SIGCHI Conf. on Human Factors in Computing Systems, pp. 159-162. (2007); Brown & Brewster, “Multidimensional Tactons for Non-visual Information Display in Mobile Devices,” Proc. of MobileHCI Conf. 2004, pp. 231-238 (2004); and Hoggan et al., “Investigating the Effectiveness of Tactile Feedback for Mobile Touchscreens,” Proc. of the 26th Int'l Conf. on Human Factors in Computing Systems, pp. 1573-1582 (2008).
  • Although employing different keyboard layouts can assist text entry on touch screen keyboards, these layouts have not yet become widespread. It is desirable to create semaphores for a touch screen keyboard that can be marketed widely.
  • In addition or instead of semaphores created using tactile feedback, similar results can be achieved by providing visual and auditory cues with a standard touch screen keyboard. While some users complain that their fingertips obfuscate visual feedback provided using a soft keyboard, visual and auditory feedback for the three keyboard events discussed above can be employed. Some examples of visual/audio feedback includes: a tooltip balloon that appears and disappears at the fingertip-over and fingertip-slip events, respectively, and an audible click is played at fingertip-click events.
  • Obstacles to providing effective visual and auditory cues in mobile settings include small screen size, outside noise, social restrictions and other circumstantial demands. Moreover, it has not been empirically established that artificial tactile feedback alone can impart enough information to realize full parity with physical keyboards. Furthermore, some users find tactile feedback to be annoying. Because individual differences may account for users' preference of one modality over another, touch screen keyboards employing a variety of tactile, visual and auditory semaphores, and combinations thereof, can be used.
  • Certain examples of the disclosed technology include touch screen keyboards using “typing semaphores.” As described further below, typing semaphores can provide multimodal feedback and/or guidance signals that help users discover and avoid typing errors. Multimodal feedback refers to the use of visual, auditory, and/or haptic (touch output) communication that are received be a text entry device user to indicate information such as potential errors, the occurrence of events such as auto-correction, or the availability of suggestion candidates.
  • A conventional semaphore is a system for conveying information by means of hand-held flags or lights. Widely adopted by the maritime world in the 1800s, semaphores are still employed today to safely guide airplanes onto naval vessels. Typing semaphores can be viewed as multimodal signals that guide users to enter text correctly—by analogy, a kind of flight control for typing. State of the art touch screen keyboards make it too easy for users to “crash,” expecting them to edit their text thereafter, which can be mentally disruptive, time-consuming, and taxing.
  • The purpose of typing semaphores is to improve text entry user experience and performance as users type (e.g., in real-time) or otherwise provide input data using both feedback signals to alert user to possible typing errors when they occur, and guidance signals to prevent future errors.
  • VII. Example Application Using Indicators and Suggestion Candidates
  • FIG. 6 is a flow chart 600 that outlines a method of generating possible corrections for input data, providing indicators, including feedback semaphores that indicate the availability of the possible corrections, and displaying suggestion candidates. After displaying the suggestion candidates, an input is received selecting one of the suggestion candidates, and the input data is modified with one or more words associated with the selected suggestion candidate.
  • At process block 610, input data comprising one or more input word(s) is received from a source such as a touch screen keyboard. In some embodiments, the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • At process block 620, one or more feedback semaphores are provided to indicate that one or more suggestion candidates are available for one or more of the input words. The feedback semaphores can include various indicators or signals to alert a user while maintaining focus in the keyboard area by, for example, highlighting one or more keys of a keyboard, playing back a sound using a speaker, generating haptic feedback (e.g., vibrating a handheld device), or displaying a tooltip balloon.
  • At process block 630, one or more suggestion candidates are provided to a user (e.g., using a touch screen display). Each of the suggestion candidates is associated with an alternative word for one or more of the input words. In some examples, the suggestion candidates are associated with alternative words for only one of the input words, while in other examples, suggestion candidates are associated with alternative words for more than one of the input words. An exemplary display of a suggestion candidate includes displaying a button using a touch screen display, where the button includes the text of an associated alternative word within the boundary of the button.
  • At process block 640, an input selecting one of the suggestion candidates is received. For example, the selection can received using a single touch screen input created by a user pressing a finger over a button associated with the desired touch screen candidate on a touch screen display.
  • At process block 650, the input data is modified using the alternative word associated with the selected suggestion candidate. In some examples, the alternative word is used to replace the input word in the input data. In other examples, the alternative word is added to the input data preceding or subsequent to the input word. In some examples, the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine. Thus, as described above, a quick and effective way of providing suggestion candidates and indicators of their availability is provided that allows users to quickly modify input data using the suggestion candidates without moving their focus of attention away from a touch screen keyboard.
  • VIII. Example Unexpected Key Feedback
  • Because touch screen keyboards lack tactile feedback, it is difficult for users to tell when they hit their desired keys. Consequently, they have to pay more attention to the keyboard area than when using hardware keyboards. FIGS. 7A-7E depict a method 700 for providing visual, audio, and tactile feedback to a user that has pressed an expected key on a mobile device 702. FIG. 8 is a flow chart 800 corresponding to the method 700 depicted in FIGS. 7A-7E.
  • As shown in FIG. 7A, a mobile device 702 comprises a text display area 704, suggestion candidates area 708, and touch screen keyboard 710. The text display area 704 is shown displaying a phrase “smsing whil” 706, with a carat (cursor) 712 immediately after the phrase as the user enters it on the keyboard 710.
  • FIG. 7B depicts the mobile device 702 providing the user with unexpected key feedback semaphores as an unexpected key, “r” 726, is pressed with a user's finger 722. The types of feedback semaphores shown include: a tooltip balloon 728 displaying the unexpected key, an audio “clunk clunk” sound 740 (played back over a speaker coupled to the mobile device), haptic feedback (e.g., a vibration created by an oscillating transducer coupled to the mobile device) indicated by squiggle lines 755 and 756, suggestion candidates “whip” 730, “whilst” 731, and “while” 732, and a highlighted key indicator shown as shading of the unexpected “r” key 726. The unexpected “r” key 726 is designated as unexpected based on the current context of the text input data shown on the text display area 704 (e.g., the word “whilr” does not exist in the English language). Here, the suggestion candidates 730-732 are actually based on the data input phrase “smsing whil” 706 before the “r” was received, but as shown in FIG. 7C, will be updated based on the unexpected key input.
  • FIG. 7C depicts the mobile device 702 shortly after providing one or more feedback semaphores as discussed above. As shown, the phrase 742 has been updated with the unexpected key “r,” and the carat 712 is placed immediately after the phrase. Further, suggestion candidates “while” 750, “white” 751, and “wholesale” 752 have been provided based on the phrase 742. In addition, designated delimiter keys including a space bar 758 and an enter key 759 have been highlighted to indicate that the highlighted suggestion candidate will replace the word “whilr” if one of the delimiter keys is pressed next. Alternatively, the user can press one of the suggestion candidates 750-752 in order to select the corresponding word shown on the candidate button to replace the word “whilr.”
  • FIG. 7D depicts the mobile device 702 as a user uses a finger 723 to provide a single touch screen input over a delimiter key (the space bar 758).
  • FIG. 7E depicts the mobile device 702 after receiving the delimiter key. As shown, the phrase 782 has been updated to replace the word “whilr” with the word “while,” which was the word associated with the highlighted suggestion candidate 750. The carat 712 has also been advanced one space past the phrase 782.
  • The manner of providing feedback semaphores used can be selected based on their effectiveness in alerting users without annoying them. For example, when tooltip balloons (e.g., tooltip balloon 728) appear above the keys of the keyboard 710, users do not always see these visual cues, especially if they are typing quickly. It is desirable to use feedback semaphores that can alert users to unexpected key presses so that they can keep their focus on the keyboard 710, or immediately switch their focus of attention to the candidates area 708. A key is designated “unexpected” when the letters entered so far (e.g., up to the previous word boundary) do not match the prefix of any word in a candidate source (e.g., a dictionary, CSAPI, or input history data source).
  • FIGS. 7F-7H depict different designs 760, 770, and 780 of highlighting a touch screen that can be used to provide unexpected-key feedback semaphores to a user. In FIGS. 7F-7H, a mobile device 702 is shown as the user types the “r” key after entering the phrase “smsing whil” 762. As shown in the design 760 of FIG. 7F, a shaded tooltip balloon 766 and both the background and keys of the touch screen keyboard 764 are highlighted to provide an unexpected key feedback semaphore. Similarly, the design 770 of FIG. 7G depicts the mobile device 702, but with a shaded tooltip balloon 776 and only the background of the touch screen keyboard 774 highlighted. Finally, the design 780 of FIG. 7H depicts the mobile device 702, but with a shaded tooltip balloon 786 and only the border of the background of the touch screen keyboard 784 highlighted. The highlighting and shading shown in FIGS. 7A-7H can be based on using a pattern and/or color(s), and can slowly fade back to the original key colors over time to present a more pleasing visual appearance.
  • Usability studies have indicated that some users found the design 760 shown in FIG. 7F, including a shaded keyboard 764, shaded “r” key, and shaded tooltip balloon 766, “too disruptive.” Although the design 770 of FIG. 7G, including shading for only the background of the keyboard 774, shaded “r” key, and shaded tooltip balloon 776, was found to be less disruptive, users still found this design more distracting than the design shown in FIG. 7H, which includes only a shaded border around the keyboard 784, shaded “r” key, and shaded tooltip balloon 786. Thus, by performing usability studies, desirable combinations of visual and auditory feedback that are agreeable to users can be determined.
  • FIG. 8 is a flow chart 800 further detailing the method 700 shown in FIGS. 7A-7E. FIG. 8 depicts process blocks for receiving input data, evaluating the data using one or more candidate sources to determine unexpected input, and based on the evaluating, displaying feedback semaphores and suggestion candidates allowing a word to be replaced with a selected suggestion candidate.
  • At process block 810, input data is received from a source such as a touch screen keyboard. In some embodiments, the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • At process block 820, the input data is analyzed and compared against one or more of the following candidate sources: a system dictionary; a user dictionary; a common speller application programming interface (CSAPI); or an input history data source that can include previously generated input history data for one or more users including word probability data, key probability data, edit distance data, and touch model probability data. In some examples, the analysis and comparison is repeated continuously for each character of text input, while in other examples, the analysis and comparison may only occur after an event. Examples of events include receiving a delimiter key (e.g., a space, backspace, enter, ESC, or other designated key(s)) or determining a latency in user typing speed that exceeds a threshold value.
  • At process block 830, the analysis and comparison data from process block 820 is evaluated to determine if any unexpected input data was received. If no unexpected input data is received (e.g., all the words of the text input data can be found in one or more of the candidate sources used at process block 820), the method proceeds to process block 810 in order to continue receiving input data. If unexpected input data is detected, the method proceeds to process block 840. In some embodiments, a word can be designated as unexpected input data even though the word may exist in one of the candidate sources, for example, using a grammar checker module. An unusual word such as “whilst” may still be designated as unexpected input data because other similar words, for example, “while” have a higher probability of correctness, based on word probability data, key probability data, edit distance data, and touch model probability data. In some examples, the feedback semaphores for unusual words designated as unexpected may be modified in comparison to feedback semaphores used for words that do not exist in any of the candidate sources at all.
  • At process block 840, an indicator such as a feedback semaphore is provided in order to alert a user that suggestion candidates are available. As discussed above, the feedback semaphores provided can include visual displays, including the highlighting of touch screen keyboard keys or keyboard background; audio playback, such as a distinctive “clunk clunk” sound (which indicates to the user that something may be incorrect in the input data), or haptic feedback.
  • At process block 850, suggestion candidates are provided, using for example, a candidates area on a touch screen display. Each suggestion candidate is associated with an alternative word that will be used to modify the input data if that particular suggestion candidate is selected. In some examples, one of the candidates can by displayed differently (or highlighted differently) than other candidates to indicate that it is the most likely suggestion candidate. This distinguishing display not only provides a visual cue to the user, but can also be used to indicate that the input data will be modified with the suggestion candidate if other designated keys are pressed, for example, a delimiter key such as the space key, punctuation keys, or the return or enter keys.
  • At process block 860, the selection (or absence of a selection) of one of the suggestion candidates is detected. Suggestion candidates can be selected several ways, including receiving a single touch screen input over the suggestion candidate on the touch screen display, or by receiving a keystroke for a designated delimiter key. If no suggestion candidate is selected, the method proceeds to process block 810 in order to receive more input data. If a suggestion candidate selection is detected, the method proceeds to process block 870.
  • At process block 870, the input data is modified using an alternative word associated with the selected suggestion candidate. In some examples, the alternative word is used to replace the input word in the input data. In other examples, the alternative word is added to the input data preceding or subsequent to the input word. In some examples, the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine. Thus, as described above, a quick and effective way of providing suggestion candidates and indicators of their availability is provided that allows users to quickly modify input data using the suggestion candidates without moving their focus of attention away from a touch screen keyboard.
  • IX. Example Auto-Correction Feedback
  • Users often keep their focus of attention on the keyboard area when typing on a touch screen keyboard, which often causes users to fail to see auto-corrections that may be replacing legitimate words, such as names and technical terms that do not exist in the dictionary. This can lead to tremendous frustration, especially if users do not notice the text replacements until much later.
  • FIGS. 9A-9D depict a method 900 of providing the user with an auto-correction feedback semaphore. FIG. 10 is a flowchart 1000 corresponding to the method 900 depicted in FIGS. 9A-9D.
  • As shown in FIG. 9A, a mobile device 902 comprises a text display area 904, suggestion candidates area 910, and touch screen keyboard 908. The display area 904 is shown displaying a phrase “smsing” 920 after a user has typed the unknown word “smsing,” but before typing a delimiter, so a carat 916 is displayed immediately after the phrase. Shown in the suggestion candidates area 910 are the suggestion candidates “ending” 912, “facing” 913, and “smashing” 914.
  • FIG. 9B depicts the mobile device 902 as the user presses the space bar 932 with a finger 934, which causes the space bar to immediately be highlighted red, the word “smsing” in the phrase 920 to be replaced with a replacement word “ending,” 922 a “swish” sound 950 to be played over a speaker, and the mobile device 902 to vibrate, as shown by squiggle lines 955 and 956. The carat 916 is advanced by a space, and the mobile device also displays the suggestion candidates “smsing” 940, “facing” 941, and “smashing” 942 in the candidates area. The candidate “smsing” 940 is the word that was just replaced by auto-correction, and the candidate 940 is colored green to indicate that it is the replaced word.
  • FIG. 9C depicts the mobile device 902 after the user has decided to undo the auto-correction. To do so, the user uses a finger 962 to make a single touch screen input over the suggestion candidate “smsing” 966, which will undo the auto-correction.
  • FIG. 9D depicts the mobile device 902 after the auto-correction has been undone. As shown, the word “ending” has been replaced with the original word “smsing” 982, the suggestion candidates area 910 is cleared, and the carat 916 remains a single space past the replaced word.
  • FIG. 10 is a flow chart 1000 further detailing the method 900 shown in FIGS. 9A-9D. At process block 1010, a mobile device receives input data from a source such as a touch screen keyboard. In some embodiments, the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • At process block 1020, the input data is analyzed to determine if a designated delimiter key (e.g., a space key or an enter key) has been received in the input data. If not, then the method proceeds process block 1010 to receive more input data. If a delimiter key was received in the input data, the method proceeds to process block 1030.
  • At process block 1030, the last word of the input data is compared against one or more candidate sources, and an auto-correction is applied to replace a word designated as incorrect with a replacement word from a candidate source.
  • At process block 1040, one or more auto-correction feedback semaphores are displayed or played back, in a manner that is likely to keep the user's focus of attention on the keyboard. For example, a “swish” sound can be played, haptic feedback provided, and red highlighting displayed on the delimiter key that was pressed by the user. The feedback semaphores are displayed in a manner that does not require the user to shift their focus of attention away from the keyboard, and therefore the user is able to more easily recognize that an auto-correction has occurred, as well as to easily view suggestion candidates that will be presented at process block 1050.
  • At process block 1050, one or more suggestion candidates are presented to the user, including the original word that was auto-corrected. One of the suggestion candidates is also highlighted using, for example, shading or a different color. The highlighted suggestion candidate is designated as the most likely substitution that the user will select. In some examples, the highlighted suggestion candidate is original word that was auto-corrected. In other examples, the highlighted suggestion candidate is a word from a candidate source designated to be the most likely substitution. The method proceeds to process block 1060 after receiving touch screen input.
  • At process block 1060, the method determines whether the user selected a delimiter key. If a delimiter key was pressed, the method proceeds to process block 1070, where the word inserted by auto-correction at process block 1030 is itself replaced with the word shown as the highlighted suggestion candidate, and the method then proceeds to process block 1010, where more input data is received. If a delimiter key was not pressed, the method proceeds to process block 1080.
  • At process block 1080, the method determines whether the user selected a suggestion candidate (e.g., by providing a single touch screen input over the suggestion candidate). If a suggestion candidate is selected, the method proceeds to process block 1090, where the word inserted by auto-correction at process block 1030 is itself replaced with the word associated with the selected suggestion candidate. If a suggestion candidate is not pressed, the method proceeds to process block 1010 to process the selected key (e.g., by adding the selected key to the input data) and continue receiving input data.
  • X. Example Invoking Next Phrases
  • FIGS. 11A-11F depict exemplary methods 1100 and 1150 of providing a user with predicted next phrases after receiving a completed word of text input using suggestion candidates. In some examples, users can select two or more suggestion candidates sequentially, thereby improving typing speed performance. FIG. 12 is a flow chart 1200 illustrating an exemplary implementation of a method corresponding to the methods 1100 and 1150 shown in FIGS. 11A-11F.
  • As shown in FIG. 11A, a mobile device 1102 has a text display area 1104, a suggestion candidates area 1110, and a keyboard 1108. The mobile device 1102 is shown after a user has typed one word of the phrase “happy” 1106, and the carat 1116 is positioned immediately after the word “happy.”
  • FIG. 11B depicts the mobile device 1102 after the user has typed a delimiter key (e.g., the space bar). As shown, three suggestion candidates “birthday” 1120, “new” 1121, and “go lucky” 1122 are displayed in the candidates area 1110. The user is shown using a finger 1130 to select the first suggestion candidate 1120.
  • FIG. 11C depicts the mobile device 1102 after adding an additional next word “birthday” 1138 after the word “happy” in the phrase 1106 based on the selected suggestion candidate and positioned the carat 1116 one space away from the end of the word 1138.
  • FIG. 11D depicts an exemplary method 1150 including an alternative selection of a suggestion candidate by a user compared to that shown in FIGS. 11A-11C. FIG. 11D shows a mobile device 1152 entering a delimiter character immediately after typing the word “happy” 1154. The carat 1156 is positioned one space past the word. A user is shown selecting the suggestion candidate “new” 1162 with a finger 1165 in the suggestion candidates area 1160.
  • FIG. 11E depicts the mobile device 1152 after the user has selected the suggestion candidates “new” 1162. The word “new” 1170 is added to the text input after the word “happy,” another search of one or more candidate sources is performed for the phrase “happy new,” and several suggested next words for the phrase “happy new” are presented as suggestion candidates: “year” 1182, “baby” 1183, and “day” 1184. The user is shown selecting the suggestion candidate “year” 1182 with a finger 1175.
  • FIG. 11F depicts the mobile device 1152 after adding the word “year” 1190 associated with the selected suggestion candidate 1182 to the text input, to form the phrase “happy new year.” Another search of the one or more candidates sources is performed, but no matches are found, so the suggestion candidates area 1160 is cleared, and the carat 1156 is placed one space from the word “year” 1190.
  • FIG. 12 is a flow chart 1200 further detailing the exemplary methods 1100 and 1150 shown in FIGS. 11A-11F. At process block 1210, input data is received, and the method proceeds to process block 1220, where the presence or absence of a delimiter character in the input data detected. If no new delimiter key is received in the input data, the method proceeds to process block 1210 to receive additional input data. If a delimiter key is received, then the method proceeds to process block 1230 to generate suggestion candidates for the input data. In some examples, only the last word typed is used to search for suggestion candidates, while in other examples, additional words in the input data can be included in the search.
  • At process block 1240, the method determines if any suggestion candidates were generated. If no suggestion candidates are generated, the method proceeds to process block 1210 to receive additional input data. If one or more candidates were generated at process block 1230, the method proceeds to process block 1250. At process block 1250, the suggestion candidates are presented to the user using a touch screen display coupled to the mobile device.
  • At process block 1260, a suggestion candidate selection (or absence of a selection) is detected. Suggestion candidates can be selected several ways, including receiving a single touch screen input over the suggestion candidate on the touch screen display, or by receiving a keystroke for a designated delimiter key. If no suggestion candidate is selected, the method proceeds to process block 1210 in order to receive more input data. If a suggestion candidate selection is detected, the method proceeds to process block 1270.
  • At process block 1270, the input data is modified using an alternative word associated with the selected suggestion candidate. In some examples, the alternative word is used to replace the input word in the input data. In other examples, the alternative word is added to the input data preceding or subsequent to the input word. In some examples, the “alternative” word is a word that was previously auto-corrected, and the alternative word is therefore used to effectively undo a word inserted in the input data using an auto-correction routine. After modifying the input data, the method immediately proceeds to process block 1230, where more suggestion candidates are generated based on the modified input data. In this manner, a user can select multiple suggestion candidates from a changing set of suggestion candidates, thereby improving typing speed and accuracy, especially for highly frequent combinations of words and phrases.
  • XI. Example Use of Typing Speed and Simulating Click Sounds
  • FIG. 13 is a chart 1300 representing some events that occur during a method that includes the use of random click sounds played back as the user presses keys on a touch screen keyboard, as well as the use of keystroke latency to determine when to present suggestion candidate to a touch screen keyboard user. FIG. 14 is a flow chart 1400 that corresponds to the methods shown in FIG. 13.
  • Shown in FIG. 13 is a time axis 1330 that indicates when events occur or are received by a mobile device. The user enters several successive key presses on the touch screen: “b” 1340, “a” 1341, “n” 1342, and “a” 1343 in relatively rapid succession. At the same time, the mobile device randomly selects and plays a “click” sound that simulates the sound that a key press makes when typing on a hardware keyboard. For example, the mobile device can randomly select one of the five different click sounds labeled #1-#5. As shown, the click sounds 1310-1314, etc., are not always the same for a given key that is pressed. For example, the first keypress “a” 1341 is followed by playback of click sound # 2 1311, while the second keypress “a” 1344 is followed by playback of click sound # 3 1314. Similarly, the two keypresses shown for “n” playback sound # 3 1312 the first keypress 1342 and sound # 5 1313 for the second keypress 1344. By providing playback of random click sounds that sound like a hardware keyboard, the user receives more naturalist audio feedback that more closely simulates typing on a hardware keyboard.
  • Also shown in FIG. 13 is the presentation of suggestion candidates based on the user's keystroke latency. The mobile device monitors a user's keystroke latency as words are typed, and if the user pauses for a length of time that exceeds a pre-determined threshold, suggestion candidates are presented for the input data of the most recent word input. The techniques for presenting the suggestion candidates are similar to those discussed above. In some examples, suggestion candidates are only presented when the partial data input is determined to be incomplete, i.e., when the partial input data does not appear in a candidate source such as a dictionary or input history data. In other examples, suggestion candidates are presented after a pre-determined latency if no delimiter has been received for the word. In some examples, the user can define the latency threshold value, while others examples use a pre-defined threshold value.
  • As shown, the user types the keys “b” 1340, “a” 1341, “n” 1342, and “a” 1343 in relatively rapid succession, followed by a relatively longer pause. After the latency threshold has been reached based on the delay after the keypress 1343, the mobile device presents several suggestion candidates for the partial input data “bana,” includes candidates “banana” 1350, “bananas” 1351, and “banal” 1352. As shown, the user decides to ignore the suggestion candidates and continues typing “na<space>s” followed by another pause after keypress “s” 1345. Another time period exceeds the latency threshold value after the keypress “s” 1345, and different suggestion candidates 1360-1363 are generated. Thus, the suggestion candidate generation module can consider not only the partial input word “s,” but also the previous word input “banana.” (e.g., “banana s” is the input being considered by the candidate generation module). Thus, very accurate suggestion candidates can be provided even though the user has only entered a single letter “s” of the latest input word. As shown, the user selects the candidate “slug” 1362 by pressing the “slug” suggestion candidate 1370 on the touch screen display, and the input data is modified to “banana slug.”
  • FIG. 14. is a flow chart 1400 further detailing the method shown in FIG. 13. At process block 1410, input data is received from a source such as a touch screen keyboard. In some embodiments, the first input data includes text characters, text words, position data for key presses on a touch screen keyboard, typing speed data, correction data, and/or touch screen orientation data.
  • At process block 1420, a random click sound is selected from a collection of two or more sounds and played back to the user using, e.g., a speaker. As discussed above regarding FIG. 13, the click sounds are not associated with any specific key, and any particular key press on the same key can have multiple random sounds played back.
  • At process block 1430, the latency between the most recently received keystroke, and last keystroke received immediately preceding that keystroke, is measured. At process block 1440, the measured latency is compared to a pre-determined threshold value. In some examples, this latency threshold can be selected by the user. In other examples, the threshold can come from a default value. In other examples, the threshold can be selected based on a user's previous or average typing speed. If the measured latency does not exceed the threshold, the method proceeds to process block 1410, and more input data is received. If the measured latency does exceed the threshold, the method proceeds to process block 1450.
  • In some examples, the keystroke latency or typing speed data is also used to select which types of feedback semaphore(s) are presented. For example, if a user is typing relatively rapidly, only one or two more subtle semaphores are provided (e.g., only delimiter key highlighting can be used for fast typists). If a user is typing relatively slowly, more semaphores, or semaphores that use stronger visual, audio, and/or haptic cues are provided (e.g., louder audio, use of haptic force, and/or brighter or different-colored highlighting can be used for slower typists). Alternatively, or in addition, typing speed data, touch point data, device orientation, etc., can also be used to detect whether a user is typing using one or two hands. Thus, different types of feedback semaphores can be provided based on whether the user is typing using one or two hands.
  • At process block 1450, the input data is analyzed and suggestion candidates are generated and presented for the input data in a similar fashion to those techniques for generating suggestion candidates discussed above. In some examples, candidates are only generated if the input data is partial and cannot be found in a candidate generation source. In other examples, candidates are generated unless the last key pressed is a delimiter key. In some examples, only partial input data is considered, while other examples can analyze other words in the input data (e.g., the word immediately preceding or the word immediately subsequent to the current input word). After the candidates are generated, they are presented to the user using, e.g., a candidates area on a touch screen device.
  • At process block 1460, the selection (or absence of selection) of one of the suggestion candidates is detected. If a suggestion candidate selection is detected, the method proceeds to process block 1470, where the partial input data is modified by replacing the input word with the word associated with the selected suggestion candidate, and the method proceeds to process block 1410 to receive more input data. If a suggestion candidate is not detected as selected, then the method proceeds to process block 1410 to receive more data.
  • XII. First Experimental Results
  • A. Introduction
  • Experiments were conducted in order to measure the text entry performance improvement in a controlled experiment using several semaphore designs on naïve participants in a usability study.
  • One of the semaphores studied is called mobile key-trail feedback. To help users keep track of the keys they just typed in the keyboard area, the on-screen keyboard utilizes a feedback technique where pressed keys briefly light up and gradually fade away.
  • Another semaphore studied is a guidance semaphore called key-prediction guidance. An example of key-prediction guidance is highlighting or bolding the next likely letter on a keyboard.
  • The other two semaphores studied were the feedback semaphores unexpected-key feedback and auto-correction feedback.
  • B. Experiment Methodology
  • Four female and seven male participants from a metropolitan area were recruited by a professional contracting service. Three owned touch screen phones, five had owned a QWERTY phone at some point in their lives, and three owned only 12-key numeric phones. The participants came from various occupational backgrounds from housewife to IT professional, and were within an age range of 19-39. All participants were compensated for their time.
  • Participants were shown a short phrase on a desktop computer screen from the well-known phrase set described in MacKenzie & Soukoreff, “Phrase Sets for Evaluating Text Entry Techniques,” Extended Abstracts of CHI 2003, pp. 754-755 (2003) (hereinafter “MacKenzie I”). The set contains 500 short English phrases with no punctuation, varying from 16-43 characters with a high letter frequency correlation with an English corpus. The phrase set was supplemented with news headline phrases culled from the Internet containing words not found in the test dictionary (e.g., “smsing while driving is risky,” “obama is inaugurated”). Four phrases and one supplemental phrase were randomly selected for each of sixteen conditions: one for each semaphore (4-choose-1), plus combinations thereof (4-choose-2,4-choose-3, and 4-choose-4). These combinations were tested in order to examine if any of the semaphores conflicted with each other, and to investigate how people felt about having a semaphore be absent in another condition. The order of the conditions was not counter-balanced. Using the “think-aloud” protocol described in Lewis & Rieman, Task-Centered User Interface Design: A Practical Introduction (1993) (available via anonymous ftp at: ftp.cs.colorado.edu), participants were asked in each of the sixteen conditions to type in the phrases “as quickly as possible,” but instructed that they should pause and verbalize any new thoughts they had about the semaphores at any moment. During the study, specific questions were asked about each semaphore, and at the end of the study, participants were asked to rank-order any semaphores they would leave on by default.
  • C. Results
  • Because this was a usability study aimed at refining the user experience and design of the semaphores, the visual and auditory parameters of some semaphores were continually adjusted based on user feedback. As such, it is difficult to accurately interpret raw statistics. However, the numbers do convey general trends reported here.
  • 1. Unexpected-Key Feedback
  • Seven of the eleven participants stated that they would leave the unexpected-key feedback semaphore turned on by default, even when using the more “distracting” versions shown in FIGS. 7F-7H. Five of the eleven listed this semaphore as their top choice, stating that they “depended” on it. In particular, they noted how it would alert them to the candidates area where they would almost certainly find their desired word as a choice. In fact, many participants claimed that this was their “strategy” for typing as quickly and as accurately as possible. Interestingly, after the settling on a visual design, half the participants said they did not perceive the visual cues and only relied on the auditory cue, and half said that they would turn off the auditory cue, as they considered the visual cue informative enough.
  • 2. Auto-Correction Feedback
  • All the eleven participants loved the auto-correction semaphore and said that they “depended” on knowing when words were being auto-corrected. Furthermore, several participants noted that they could even predict when certain words would be auto-corrected (e.g., “obama”). This helped them to be prepared to select their replaced word in the candidate area, as shown in, for example, FIG. 9C. Many participants asked to have the replaced word be automatically added to the dictionary when selected from the candidate area.
  • 3. Key-Trail Feedback
  • Only five of the eleven participants stated that they would leave the semaphore on by default, with two of the five claiming that they “depended” on it, and three of the five claiming that it was “cool eye candy.” Informally, it was observed that those two subjects had very slow baseline typing speeds. Of the six who did not choose to leave the semaphore on, two really disliked it (although this may have been due to the fading rate, which were later adjusted).
  • 4. Key-Prediction Guidance
  • Only five of the eleven participants stated that they would leave the semaphore on by default, with three of the five listing it as their top choice. Of the five, only one claimed he “depended” on it, particularly for one-handed use, with the rest stating that they would leave it on “just in case [they] were unsure of how to spell a long word.”
  • 5. Combinations
  • Initially, two participants disliked the combination of the key-prediction feedback with the key-trail feedback, but that was when the keys were entirely colored. Once the color blue was applied only to the letters, no complaints were received. No other combinations seemed to bother the participants.
  • 6. Discussion
  • Given the uniformly positive response for the auto-correction feedback, it was decided not to test this semaphore further. Indeed, for the subsequent experiment, this semaphore was left on all the time. The diversity of preferences for the other semaphores suggests that users should be given the option of turning specific semaphores on and off in a control panel. With the unexpected-key feedback, some people seemed to be more tuned to the audio cue and some to the visual, suggesting that giving users fine-grained control over which cue is on would be valuable.
  • In watching and listening to the usability participants, it was observed that the semaphores seemed to have more utility for people who typed slower than those who were accustomed to typing quickly on touch screen keyboards. Interestingly, all of the touch screen phone owners stated that they would leave the unexpected-key feedback on by default, with two of the three listing it as their top choice.
  • XI. Second Experimental Results
  • A. Introduction
  • Given the feedback received from the usability study discussed above, it was decided to compare the text entry performance of only the unexpected-key feedback and the key-prediction guidance semaphores. The auto-correction feedback semaphore was incorporated into the baseline for two reasons: (1) the usability results for auto-correction feedback were compelling, and (2) to see how well it would work with the other two semaphores for timed text entry. Key-trail feedback was not tested in the second experiment. Although the key-trail feedback received usability responses that were as ambivalent as the key-prediction feedback, key-prediction feedback was tested instead because of related previous research as discussed in MacKenzie & Zhang, “Eye Typing Using Word and Letter Prediction and a Fixation Algorithm,” Proc. of the ACM Symposium on Eye Tracking Research and Applications—ETRA 2008, pp. 55-58 (2008) (hereinafter “MacKenzie II”) and Magnien, et al., “Mobile Text Input with Soft Keyboards: Optimization by Means of Visual Clues,” Proc. of MobileHCI, pp. 337-341 (2004) (hereinafter “Magnien”).
  • B. Methodology
  • Eighteen participants (nine males and nine females) between the ages of 21 and 39 were recruited using the same professional contracting service as in Experiment One. Participants again hailed from a wide variety of occupational backgrounds. All participants were compensated for their time. Five owned touch screen phones at some time in their life, nine owned QWERTY phones at some time in their life, and seven owned 12-key numeric phones only (note that these are not exclusive categories). During recruiting, all participants answered that they were familiar with the QWERTY layout and could type on a normal-size keyboard without frequently looking at the keys.
  • The MacKenzie and Soukoreff phrase set was again utilized, except in order to make sure that participants had a chance to hit every letter on the keyboard, a script to select the shortest sequences of phrases was used that covered the entire alphabet from A to Z. Supplemental phrases with words not found in the test dictionary were not included, to attempt to reproduce previous results for the key-prediction guidance semaphore on a mobile QWERTY touch screen keyboard. For each condition, subjects received eight practice and twenty stimuli items.
  • All participants were first taught the basics of using the touch screen keyboard on a mobile device, in particular, a prototype before-market phone with a 3.5 inch resistive screen having 800×480 WVGA resolution. A target phrase was displayed on a desktop computer screen and participants were asked to memorize it. They had as much time as they needed to memorize the phrase. Participants were asked to memorize the phrases in order to mimic the real experience of entering intended text. When participants felt they were “ready,” their task was to type the phrase into the mobile device “as quickly and as accurately as possible.” The phrase was left displayed on the computer screen, because in previous experiments with the same task, some naïve participants (who were not all university students) experienced difficulties with memorization under timed conditions. Timing began as soon as they entered the first letter of the phrase and ended when they hit the “Enter” button twice. The entire experiment took slightly under two hours.
  • The primary independent variable used was Semaphore, consisting of Baseline, Unexpected-Key Feedback and Key-Prediction Guidance. As dependent measures, time to enter text, accuracy, and the efficiency measure: keystrokes-per-character or KSPC as described in MacKenzie & Tanaka-Ishii, Text Entry Systems: Mobility, Accessibility, Universality (Morgan Kaufmann Publishers 2007) (hereinafter “MacKenzie III”) were examined.
  • The number of times users pressed the backspace button was used as an additional measure. Note that users were not allowed to place the cursor onto their typed text for editing since not all participants were proficient at this task. In short, a simple, within-subject experiment was conducted where all participants encountered the three Semaphore conditions in counter-balanced order.
  • C. Results
  • 1. Time to Enter Text
  • Given the previously reported success of key-prediction, it was hypothesized that the key-prediction guidance semaphore would significantly reduce the average time participants spent entering in each phrase. It was also predicted that the unexpected-key feedback semaphore would reduce time to enter text as well since several usability participants had already mentioned using this feedback as a strategy for selecting word prediction choices in the candidates area. Indeed, using repeated measures analysis of variance (ANOVA), a significant main effect for Semaphore was observed (F2,1057=4.97, p<0.01). However, Tukey post-hoc pair-wise comparisons only revealed significant differences between the Baseline and Unexpected-Key Feedback (p<0.01) and between the Unexpected-Key Feedback and the Key-Prediction Guidance (p<0.05), but not between the Baseline and Key-Prediction Guidance. FIG. 16A is a chart 1600 that shows the average time spent per phrase for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 26.58, 25.81, and 23.95 respectively.
  • One possible reason for not observing a significant difference in time to enter text for the Key-Prediction Guidance over the Baseline is that participants were all familiar with the QWERTY layout, unlike the dynamically changing keyboard task described in Magnien. Hence, participants did not experience a need to limit the visual search space.
  • 2. Accuracy
  • Accuracy was measured in terms of whether or not the participant ultimately typed in the correct phrase. Finer-grained measures of correctness were also looked at, such as the Minimal String Distance Error Rate described in MacKenzie III, which computes the distance between two strings in terms of the lowest number of edit operations to turn one string into the other. However, these measures could not be used since some of the errors made by users were those related to pressing a word prediction or disambiguation candidate, which swaps the typed text completely. In this case, one keystroke engenders a lot of errors. Hence, finer-grained measures could be unreliable.
  • It was hypothesized that both semaphores would result in higher accuracy since the Unexpected-Key Feedback is immediately informing users of errors and the Key-Prediction Guidance is leading users to the correct spelling. However, in analyzing the data, a main effect for Semaphore was not observed. All three conditions obtained accuracies between 0.12 and 0.14 with fairly wide standard deviations. This deviates from previous results described in MacKenzie II in which Key-Prediction Guidance reduced error rates for eye-typing, although it is hard to compare across modalities.
  • 3. KSPC
  • It was also hypothesized that the two semaphores would reduce keystrokes-per-character. Indeed, a significant main effect was observed for Semaphore (F2,1057=6.74, p<0.001), with significant Tukey post-hoc differences between the Baseline and the Unexpected-Key Feedback (p<0.05) and between the Baseline and the Key-Prediction Guidance (p<0.05). FIG. 16B shows a chart 1610 displaying the average keystrokes-per-character for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 1.22, 1.10, and 1.09 respectively.
  • Assuming that participants accurately hit only the letter they are supposed to and not any of the word prediction candidates, the baseline KSPC for a QWERTY layout keyboard is theoretically 1 according to MacKenzie III. Note that all three conditions had a KSPC above 1, indicating that typing on a small 3.5 inch resistive screen with fat fingers is not easy, even with the word prediction and disambiguation candidates.
  • 4. Number of Backspaces
  • The number of backspaces was measured as a way to tease apart intentionally corrected mistakes from KSPC, which encompasses that as well as keystrokes for selecting word prediction candidates. It was hypothesized that Unexpected-Key Feedback would reduce the number of backspaces by alerting users to a mistake before they enter more characters to the end of that mistake, and that Key-Prediction Guidance would also reduce the number of backspaces by leading users to correct spelling. Indeed, a main effect was observed for Semaphore (F2,1057=7.26, p<0.01) but with just a significant Tukey post-hoc difference between the Baseline and Unexpected-Key Feedback (p<0.001). FIG. 16C is a chart 1620 that shows the average number of backspaces for the Baseline, Key-Prediction Guidance and the Unexpected-Key Feedback conditions, which were 3.54, 2.79, and 2.29 respectively.
  • 5. One Versus Two Hands
  • During the process of running the experiment, an interesting trend was noticed; those participants who chose to perform the entire study with two thumbs tended to make less use of the word prediction and disambiguation candidates. Because participants had to maintain the same way of holding the device throughout the experiment, incoming subjects were asked thereafter to use either two hands (i.e., two thumbs) or one hand for input. No participant held the device with one hand and typed with the thumb for the entire experiment, though during practice some participants certainly tried out that position. All one-handed participants used one hand to hold the device and another to enter text with their index finger.
  • While it would have been ideal to run a within-subjects, 3×2 factorial design experiment with the OneVsTwoHands added as another independent variable, because fair amount of data had already been collected, between-subjects analysis of the results was conducted, making sure that both one-handed and two-handed users were represented in all possible orderings of the three conditions studied. Hence, additional statistical analyses treating OneVsTwoHands as an additional factor in a univariate ANOVA was performed.
  • For time to enter text, a significant main effect for OneVsTwoHands was observed (F1,1057=5.66, p<0.05), as well as a significant interaction effect with Semaphore (F2,1057=3.68, p<0.05). FIG. 16D is a chart 1630 that shows a breakdown of the previous time taken to enter text result in terms of the number of hands. When using two hands, participants do not seem to be reducing time to enter text in either the Key-Prediction Guidance or the Unexpected-Key Feedback conditions, as shown by the bars 1632, 1633, and 1634 for Baseline, Key-Prediction Guidance, and Unexpected Key Feedback, respectively. However, when participants used one hand, the differences with the Baseline become more accentuated, as shown by the bars 1636, 1637, and 1638 for Baseline, Key-Prediction Guidance, and Unexpected Key Feedback, respectively. Although significant main effect for OneVsTwoHands on KSPC (F1,1057=2.77, p<0.01) and number of backspaces (F1,1057=5.46, p<0.05) was observed as well, the same kind of interaction effect with Semaphore was not observed for any dependent variable other than time to enter text. Hence, for KSPC and number of backspaces, the significant post-hoc differences observed previously recur, regardless of the number of hands used.
  • 6. Final Questionnaire
  • After the experiment, users were asked to pick their favorite condition and to rank-order which of the two semaphores they would leave on by default. This was done to confirm qualitative findings from the usability study. Thirteen of the eighteen participants found the Unexpected-Key Feedback condition to be the most favorable. No one picked the Baseline. With respect to rank-ordering, eight of the eighteen participants said they would leave on the key-prediction feedback semaphore and nine of the eighteen said they would leave on the unexpected-key feedback semaphore. The fact that only nine, and not thirteen, participants said they would leave it on implies that although some people found the semaphore useful, it is disruptive enough to them that they would turn it off by default and turn it on as needed.
  • D. Discussion and Design Implications
  • From conducting the usability study, it was observed that visual cues for semaphores cannot grab too much attention. If they do, users generally dislike them. Toning down the semaphores allows users who want to use the visual cues, to mentally grab hold of them, and those who do not, to ignore them. As such, it is desirable that semaphores be designed to be very visually subtle.
  • Thus, these experimental results indicate that both the unexpected-key semaphore and the key-prediction guidance semaphore have the ability to improve text entry performance.
  • XIII. Example Alternatives and Combinations
  • Any of the methods described herein can be performed via one or more computer-readable media (e.g., storage or other tangible media) comprising (e.g., having or storing) computer-executable instructions for performing (e.g., causing a computing device to perform) such methods. Operation can be fully automatic, semi-automatic, or involve manual intervention.
  • Having described and illustrated the principles of our innovations in the detailed description and accompanying drawings, it will be recognized that the various embodiments can be modified in arrangement and detail without departing from such principles. It should be understood that the programs, processes, or methods described herein are not related or limited to any particular type of computing environment, unless indicated otherwise. Various types of general purpose or specialized computing environments may be used with or perform operations in accordance with the teachings described herein. Elements of embodiments shown in software may be implemented in hardware and vice versa.
  • In view of the many possible embodiments to which the principles of our invention may be applied, we claim as our invention all such embodiments as may come within the scope of the following claims and equivalents thereto.

Claims (20)

1. A method, comprising:
receiving first input data comprising one or more input words from a keyboard;
providing one or more feedback semaphores, wherein the feedback semaphores are operable to alert a user using the keyboard that one or more suggestion candidates are available;
automatically displaying the one or more suggestion candidates, wherein the suggestion candidates are each associated with an alternative word for one or more of the input words;
automatically receiving a touch screen input selecting one of the suggestion candidates; and
modifying the first input data using the alternative word associated with the selected suggestion candidate.
2. The method of claim 1, further comprising:
based on the first input data, generating one or more alternative words for one or more of the input words;
auto-correcting the first input data by automatically replacing the input word with one of the alternative words; and
wherein the providing the feedback semaphores occurs immediately after the auto-correcting.
3. The method of claim 2, wherein:
the first input data comprises a character designated as a delimiter for the input word; and
the providing the feedback semaphores occurs based on receiving the delimiter character in the first input data and on word probability data associated with the input word.
4. The method of claim 1, wherein the feedback semaphores include one or more of the following: playing a sound, generating haptic feedback, highlighting one or more keys on the keyboard, highlighting a background area of the keyboard, and highlighting a suggestion candidates area.
5. The method of claim 1, wherein:
the feedback semaphores include highlighting one or more delimiter keys on the keyboard; and
the receiving a single touch screen input comprises receiving a key press for one of the highlighted delimiter keys.
6. The method of claim 1, wherein the feedback semaphores are not provided until the input word is designated incorrect using a dictionary, a common speller application programming interface, or an input history data source.
7. The method of claim 6, wherein:
the first input data comprises a character designated as a delimiter for the input word; and
the providing the feedback semaphores occurs based on receiving the delimiter character in the first input data.
8. The method of claim 1, wherein the providing the feedback semaphores does not occur until a delimiter key for the input word is received in the first input data.
9. The method of claim 1, wherein:
the keyboard is a touch screen keyboard; and
the receiving text input data further comprises playing a randomly selected keypress sound for a character of the first input data, wherein the keypress sound is selected from a group including at least two or more keypress sounds.
10. The method of claim 1, further comprising:
receiving typing speed data for at least a portion of the first input data; and
based on the typing speed data, selecting one or more feedback semaphores from a group including at least two or more of the following: a tooltip balloon, audio feedback, haptic feedback, highlighting one or more delimiter keys, highlighting the keyboard, and wherein the one or more feedback semaphores are the selected feedback semaphores.
11. The method of claim 1, further comprising:
detecting whether the user is using the keyboard with one hand or two hands, and;
based on the detecting, selecting one or more feedback semaphores from a group including at least two or more of the following: a tooltip balloon, audio feedback, haptic feedback, highlighting one or more delimiter keys, highlighting the keyboard, and wherein the one or more feedback semaphores are the selected feedback semaphores.
12. A computer-readable storage media storing computer-readable instructions that when executed by a computer cause the computer to perform the method of claim 1.
13. A computer-readable storage media storing computer-readable instruction that when executed by a computer cause the computer to perform a method, the method comprising:
receiving text input data comprising at least one word using a keyboard coupled to a touch screen;
detecting that an event has occurred based on the text input data and based on the detected event, automatically displaying on the touch screen one or more suggestion candidates for the at least one word based on the text input data and one or more candidate sources, wherein each of the candidates is associated with at least one next word designated as likely to follow the at least one word;
receiving a single touch screen input selecting one of the suggestion candidates; and
based on the single touch screen input, automatically modifying the text input data by adding the at least one next word associated with the selected suggestion candidate to the text input data.
14. The computer-readable storage media of claim 13, wherein the event is detected based on a measured keystroke latency exceeding a threshold value.
15. The computer-readable storage media of claim 13, wherein the event is an auto-correction of the text input data or receiving a delimiter key in the text input data.
16. The computer-readable storage media of claim 13, further comprising automatically displaying on the touch screen one or more replacement suggestion candidates for the at least one word based on the text input data and one or more candidate sources, wherein each of the replacement suggestion candidates is associated with at least one replacement word for the at least one word; and
wherein the displaying includes displaying the replacement suggestion candidates in a manner that distinguishes the replacement suggestion candidates from the suggestion candidates.
17. The computer-readable storage media of claim 13, further comprising:
immediately after the automatically adding the at least one word, displaying one or more suggestion candidates for the text input data, which includes the selected next word; and
repeating the automatically modifying the text input data.
18. A mobile device, comprising:
one or more processing units operable to execute computer-executable instructions for text entry and correction;
one or more memory units coupled to the processing units;
one or more touch screens coupled to the mobile device configurable to have a text display area, a suggestion candidates area, and a touch screen keyboard area, wherein the text display area, the suggestion candidates area, and the touch screen keyboard area occupy distinct, non-overlapping areas of the touch screens, and wherein the one or more touch screens are operable to receive touch input over at least a portion of the touch screen keyboard area and the suggestion candidates area;
storage for storing the computer-executable instructions for text entry and correction using:
a text input module for receiving text input using the touch screen keyboard and displaying at least a portion of the text input in the text display area;
a candidate generation module for generating one or more suggestion candidates comprising one or more replacement suggestions and/or one or more next word suggestions for an input word of the text input;
an indicator generation module for producing one or more indicators that can notify a user that the suggestion candidates are available;
a suggestion presentation module for presenting the suggestion candidates associated with the input word in the suggestion candidates area and receiving touch screen user input for selecting one of the presented suggestions, wherein:
if the selected suggestion is a replacement suggestion, replacing the input word with the selected suggestion; and
if the selected suggestion is a next word suggestion, adding the selected suggestion as a next word subsequent to the input word in the text input.
19. The mobile device of claim 18, wherein the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until one of the input words is designated incorrect by a dictionary, a common speller application programming interface, or an input history data source.
20. The mobile device of claim 18, wherein the indicator generation module and the suggestion presentation module are configured to not produce indicators and to not present suggestion candidates, respectively, until a delimiter character is received immediately after the input word.
US12/753,744 2010-02-12 2010-04-02 Real-time typing assistance Abandoned US20110201387A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/753,744 US20110201387A1 (en) 2010-02-12 2010-04-02 Real-time typing assistance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30434110P 2010-02-12 2010-02-12
US12/753,744 US20110201387A1 (en) 2010-02-12 2010-04-02 Real-time typing assistance

Publications (1)

Publication Number Publication Date
US20110201387A1 true US20110201387A1 (en) 2011-08-18

Family

ID=44370018

Family Applications (8)

Application Number Title Priority Date Filing Date
US12/729,130 Active 2031-12-14 US8782556B2 (en) 2010-02-12 2010-03-22 User-centric soft keyboard predictive technologies
US12/753,744 Abandoned US20110201387A1 (en) 2010-02-12 2010-04-02 Real-time typing assistance
US12/784,374 Active 2030-06-14 US9165257B2 (en) 2010-02-12 2010-05-20 Typing assistance for editing
US14/318,260 Active 2031-03-05 US9613015B2 (en) 2010-02-12 2014-06-27 User-centric soft keyboard predictive technologies
US14/887,143 Active 2031-03-14 US10126936B2 (en) 2010-02-12 2015-10-19 Typing assistance for editing
US15/477,075 Active US10156981B2 (en) 2010-02-12 2017-04-01 User-centric soft keyboard predictive technologies
US16/131,848 Active US10698604B2 (en) 2010-02-12 2018-09-14 Typing assistance for editing
US16/196,177 Abandoned US20190087084A1 (en) 2010-02-12 2018-11-20 User-centric soft keyboard predictive technologies

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/729,130 Active 2031-12-14 US8782556B2 (en) 2010-02-12 2010-03-22 User-centric soft keyboard predictive technologies

Family Applications After (6)

Application Number Title Priority Date Filing Date
US12/784,374 Active 2030-06-14 US9165257B2 (en) 2010-02-12 2010-05-20 Typing assistance for editing
US14/318,260 Active 2031-03-05 US9613015B2 (en) 2010-02-12 2014-06-27 User-centric soft keyboard predictive technologies
US14/887,143 Active 2031-03-14 US10126936B2 (en) 2010-02-12 2015-10-19 Typing assistance for editing
US15/477,075 Active US10156981B2 (en) 2010-02-12 2017-04-01 User-centric soft keyboard predictive technologies
US16/131,848 Active US10698604B2 (en) 2010-02-12 2018-09-14 Typing assistance for editing
US16/196,177 Abandoned US20190087084A1 (en) 2010-02-12 2018-11-20 User-centric soft keyboard predictive technologies

Country Status (2)

Country Link
US (8) US8782556B2 (en)
CN (1) CN102141889B (en)

Cited By (373)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100250248A1 (en) * 2009-03-30 2010-09-30 Symbol Technologies, Inc. Combined speech and touch input for observation symbol mappings
US20100295788A1 (en) * 2009-05-21 2010-11-25 Microsoft Corporation Method of visualizing an input location
US20110035209A1 (en) * 2009-07-06 2011-02-10 Macfarlane Scott Entry of text and selections into computing devices
US20110320204A1 (en) * 2010-06-29 2011-12-29 Lenovo (Singapore) Pte. Ltd. Systems and methods for input device audio feedback
US20120078627A1 (en) * 2010-09-27 2012-03-29 Wagner Oliver P Electronic device with text error correction based on voice recognition data
US20120110494A1 (en) * 2010-10-29 2012-05-03 Samsung Electronics Co., Ltd. Character input method using multi-touch and apparatus thereof
US20120127071A1 (en) * 2010-11-18 2012-05-24 Google Inc. Haptic Feedback to Abnormal Computing Events
US20120169613A1 (en) * 2010-12-30 2012-07-05 International Business Machines Corporation Adaptive touch-sensitive displays and methods
US20120200508A1 (en) * 2011-02-07 2012-08-09 Research In Motion Limited Electronic device with touch screen display and method of facilitating input at the electronic device
US20120290303A1 (en) * 2011-05-12 2012-11-15 Nhn Corporation Speech recognition system and method based on word-level candidate generation
CN102999544A (en) * 2011-08-19 2013-03-27 迪士尼企业公司 Dynamically generated phrase-based assisted input
US20130091455A1 (en) * 2011-10-06 2013-04-11 Samsung Electronics Co., Ltd. Electronic device having touchscreen and character input method therefor
CN103064629A (en) * 2013-01-30 2013-04-24 龙凡 Portable electronic equipment and method capable of dynamically regulating graphical controls
US20130187857A1 (en) * 2012-01-19 2013-07-25 Research In Motion Limited Next letter prediction for virtual keyboard
US20130222339A1 (en) * 2012-02-23 2013-08-29 Panasonic Corporation Electronic device
EP2639673A1 (en) * 2012-03-16 2013-09-18 BlackBerry Limited In-context word prediction and word correction
US20130246329A1 (en) * 2012-03-16 2013-09-19 Research In Motion Limited In-context word prediction and word correction
US20130285916A1 (en) * 2012-04-30 2013-10-31 Research In Motion Limited Touchscreen keyboard providing word predictions at locations in association with candidate letters
CN103399793A (en) * 2013-07-30 2013-11-20 珠海金山办公软件有限公司 Method and system for automatically switching similar content
WO2013170383A1 (en) * 2012-05-16 2013-11-21 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US20130311933A1 (en) * 2011-05-24 2013-11-21 Mitsubishi Electric Corporation Character input device and car navigation device equipped with character input device
US8599152B1 (en) * 2010-06-25 2013-12-03 Sprint Communications Company L.P. Intelligent touch screen keyboard
US20130321278A1 (en) * 2012-06-01 2013-12-05 E Ink Corporation Methods for driving electro-optic displays
US20130325438A1 (en) * 2012-05-31 2013-12-05 Research In Motion Limited Touchscreen Keyboard with Corrective Word Prediction
US8606331B2 (en) * 2011-10-20 2013-12-10 Huawei Device Co., Ltd. Soft keyboard display method and mobile terminal
WO2014006639A1 (en) * 2012-07-03 2014-01-09 N Sringeri OMPRAKASH User input error detection and correction system
US20140028606A1 (en) * 2012-07-27 2014-01-30 Symbol Technologies, Inc. Enhanced user interface for pressure sensitive touch screen
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
US20140062886A1 (en) * 2012-08-31 2014-03-06 Research In Motion Limited Ranking predictions based on typing speed and typing confidence
US20140067371A1 (en) * 2012-08-31 2014-03-06 Microsoft Corporation Context sensitive auto-correction
WO2013169877A3 (en) * 2012-05-09 2014-03-13 Yknots Industries Llc Device, method, and graphical user interface for selecting user interface objects
US20140088955A1 (en) * 2012-09-24 2014-03-27 Lg Electronics Inc. Mobile terminal and controlling method thereof
US8700653B2 (en) 2010-08-19 2014-04-15 Google Inc. Predictive query completion and predictive search results
US20140129972A1 (en) * 2012-11-05 2014-05-08 International Business Machines Corporation Keyboard models using haptic feedaback and sound modeling
JP2014102819A (en) * 2012-11-20 2014-06-05 Immersion Corp Method and apparatus for providing haptic cues for guidance and alignment with electrostatic friction
US8762356B1 (en) * 2011-07-15 2014-06-24 Google Inc. Detecting change in rate of input reception
US20140189571A1 (en) * 2012-12-28 2014-07-03 Nec Casio Mobile Communications, Ltd. Display control device, display control method, and recording medium
EP2759911A1 (en) * 2013-01-29 2014-07-30 BlackBerry Limited Apparatus and method pertaining to predicted-text derivatives
US20140215396A1 (en) * 2013-01-29 2014-07-31 Research In Motion Limited Apparatus and Method Pertaining to Predicted-Text Entry
US20140218297A1 (en) * 2013-02-04 2014-08-07 Research In Motion Limited Hybrid keyboard for mobile device
CN103984499A (en) * 2014-05-19 2014-08-13 联想(北京)有限公司 Action command control method and electronic equipment
US8812733B1 (en) 2010-08-19 2014-08-19 Google Inc. Transport protocol independent communications library
US20140237356A1 (en) * 2013-01-21 2014-08-21 Keypoint Technologies (Uk) Limited Text input method and device
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US8892446B2 (en) 2010-01-18 2014-11-18 Apple Inc. Service orchestration for intelligent automated assistant
WO2015002386A1 (en) 2013-07-05 2015-01-08 Samsung Electronics Co., Ltd. Method for restoring an autocorrected character and electronic device thereof
WO2014197856A3 (en) * 2013-06-07 2015-02-19 Benson Sherrie L Character actuator device for forming words
US8972323B2 (en) 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
US9002700B2 (en) 2010-05-13 2015-04-07 Grammarly, Inc. Systems and methods for advanced grammar checking
US20150128049A1 (en) * 2012-07-06 2015-05-07 Robert S. Block Advanced user interface
US9032322B2 (en) 2011-11-10 2015-05-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US20150134326A1 (en) * 2012-05-14 2015-05-14 Touchtype Limited Mechanism for synchronising devices, system and method
EP2891968A1 (en) * 2014-01-06 2015-07-08 Sap Se Soft keyboard with keypress markers
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9165257B2 (en) 2010-02-12 2015-10-20 Microsoft Technology Licensing, Llc Typing assistance for editing
US9165329B2 (en) 2012-10-19 2015-10-20 Disney Enterprises, Inc. Multi layer chat detection and classification
US9190062B2 (en) 2010-02-25 2015-11-17 Apple Inc. User profiling for voice input processing
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US20160006856A1 (en) * 2014-07-07 2016-01-07 Verizon Patent And Licensing Inc. Messaging application with in-application search functionality
US9245253B2 (en) 2011-08-19 2016-01-26 Disney Enterprises, Inc. Soft-sending chat messages
US9256784B1 (en) * 2013-03-11 2016-02-09 Amazon Technologies, Inc. Eye event detection
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
WO2016024805A1 (en) * 2014-08-12 2016-02-18 Samsung Electronics Co., Ltd. Method and apparatus for controlling performance of electronic device
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US20160070469A1 (en) * 2014-09-09 2016-03-10 Touchtype Ltd. Systems and methods for multiuse of keys for virtual keyboard and generating animation associated with a key
US9298274B2 (en) 2012-07-20 2016-03-29 Microsoft Technology Licensing, Llc String predictions from buffer
US9300784B2 (en) 2013-06-13 2016-03-29 Apple Inc. System and method for emergency calls initiated by voice command
US9298695B2 (en) 2013-09-05 2016-03-29 At&T Intellectual Property I, Lp Method and apparatus for managing auto-correction in messaging
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9348429B2 (en) * 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US20160179941A1 (en) * 2014-12-23 2016-06-23 Lenovo (Singapore) Pte. Ltd. Candidate handwriting words using optical character recognition and spell check
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
EP3030982A4 (en) * 2013-08-09 2016-08-03 Microsoft Technology Licensing Llc Input method editor providing language assistance
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US20160283453A1 (en) * 2015-03-26 2016-09-29 Lenovo (Singapore) Pte. Ltd. Text correction using a second input
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US20160364140A1 (en) * 2015-06-15 2016-12-15 Gary Shkedy Prompted touchscreen for teaching user input and data entry
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US9547420B1 (en) * 2013-02-11 2017-01-17 Amazon Technologies, Inc. Spatial approaches to text suggestion
US9552353B2 (en) 2011-01-21 2017-01-24 Disney Enterprises, Inc. System and method for generating phrases
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9563271B1 (en) * 2015-08-25 2017-02-07 International Business Machines Corporation Determining errors in forms using eye movement
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US20170052792A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Alerting a user of an indicated impact of a command
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9602729B2 (en) 2015-06-07 2017-03-21 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9612741B2 (en) 2012-05-09 2017-04-04 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9619076B2 (en) 2012-05-09 2017-04-11 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US20170115877A1 (en) * 2015-10-23 2017-04-27 Chiun Mai Communication Systems, Inc. Electronic device and method for correcting character
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9665206B1 (en) 2013-09-18 2017-05-30 Apple Inc. Dynamic user interface adaptable to multiple input tools
US9674426B2 (en) 2015-06-07 2017-06-06 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9697822B1 (en) 2013-03-15 2017-07-04 Apple Inc. System and method for updating an adaptive speech recognition model
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9713774B2 (en) 2010-08-30 2017-07-25 Disney Enterprises, Inc. Contextual chat message generation in online environments
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9720955B1 (en) 2016-04-20 2017-08-01 Google Inc. Search query predictions by a keyboard
WO2017131251A1 (en) * 2016-01-27 2017-08-03 주식회사 노타 Display device and touch input processing method therefor
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9753639B2 (en) 2012-05-09 2017-09-05 Apple Inc. Device, method, and graphical user interface for displaying content associated with a corresponding affordance
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9767156B2 (en) 2012-08-30 2017-09-19 Microsoft Technology Licensing, Llc Feature-based candidate selection
WO2017161243A1 (en) * 2016-03-18 2017-09-21 Elwha Llc Systems and methods for providing haptic feedback regarding software-initiated changes to user-entered text input
US9779080B2 (en) * 2012-07-09 2017-10-03 International Business Machines Corporation Text auto-correction via N-grams
US9778771B2 (en) 2012-12-29 2017-10-03 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US20170301138A1 (en) * 2016-04-15 2017-10-19 Beijing Pico Technology Co., Ltd. Information input method in 3d immersive environment
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US20170308292A1 (en) * 2016-04-20 2017-10-26 Google Inc. Keyboard with a suggested search query region
US20170308586A1 (en) * 2016-04-20 2017-10-26 Google Inc. Graphical keyboard with integrated search features
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US20170357713A1 (en) * 2012-12-05 2017-12-14 Facebook, Inc. Systems and methods for character string auto-suggestion based on degree of difficulty
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
CN107636568A (en) * 2015-06-07 2018-01-26 苹果公司 Response of the personalization prediction to instant message
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9886184B2 (en) 2012-05-09 2018-02-06 Apple Inc. Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US9921665B2 (en) 2012-06-25 2018-03-20 Microsoft Technology Licensing, Llc Input method editor application platform
US9922642B2 (en) 2013-03-15 2018-03-20 Apple Inc. Training an at least partial voice command system
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US9959025B2 (en) 2012-12-29 2018-05-01 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
US9959868B1 (en) * 2017-03-09 2018-05-01 Wisconsin Alumni Research Foundation Conversational programming interface
US9959296B1 (en) * 2014-05-12 2018-05-01 Google Llc Providing suggestions within a document
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9965130B2 (en) 2012-05-11 2018-05-08 Empire Technology Development Llc Input error remediation
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
WO2018097936A1 (en) * 2016-11-22 2018-05-31 Microsoft Technology Licensing, Llc Trained data input system
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9990121B2 (en) 2012-05-09 2018-06-05 Apple Inc. Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
US9996231B2 (en) 2012-05-09 2018-06-12 Apple Inc. Device, method, and graphical user interface for manipulating framed graphical objects
US10037138B2 (en) 2012-12-29 2018-07-31 Apple Inc. Device, method, and graphical user interface for switching between user interfaces
US10042542B2 (en) 2012-05-09 2018-08-07 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10073615B2 (en) 2012-05-09 2018-09-11 Apple Inc. Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10078673B2 (en) 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10078442B2 (en) 2012-12-29 2018-09-18 Apple Inc. Device, method, and graphical user interface for determining whether to scroll or select content based on an intensity theshold
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10108726B2 (en) 2011-12-20 2018-10-23 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US10126836B2 (en) * 2010-08-18 2018-11-13 Lioudmila Dyer Software cursor positioning system
US10126930B2 (en) 2012-05-09 2018-11-13 Apple Inc. Device, method, and graphical user interface for scrolling nested regions
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10126942B2 (en) 2007-09-19 2018-11-13 Apple Inc. Systems and methods for detecting a press on a touch-sensitive surface
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10140017B2 (en) 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
EP3276484A4 (en) * 2015-03-23 2018-12-12 Sony Corporation Information processing system and information processing method
US10162452B2 (en) 2015-08-10 2018-12-25 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10175757B2 (en) 2012-05-09 2019-01-08 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for touch-based operations performed and reversed in a user interface
US10175864B2 (en) 2012-05-09 2019-01-08 Apple Inc. Device, method, and graphical user interface for selecting object within a group of objects in accordance with contact intensity
EP3270299A4 (en) * 2015-03-10 2019-01-09 Shanghai Chule (CooTek) Information Technology Co., Ltd Forward input error correction method and apparatus based on context
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10203873B2 (en) 2007-09-19 2019-02-12 Apple Inc. Systems and methods for adaptively presenting a keyboard on a touch-sensitive display
USD841668S1 (en) * 2018-01-31 2019-02-26 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10275087B1 (en) 2011-08-05 2019-04-30 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US10282033B2 (en) 2012-06-01 2019-05-07 E Ink Corporation Methods for updating electro-optic displays when drawing or writing on the display
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10289302B1 (en) * 2013-09-09 2019-05-14 Apple Inc. Virtual keyboard animation
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10303762B2 (en) 2013-03-15 2019-05-28 Disney Enterprises, Inc. Comprehensive safety schema for ensuring appropriateness of language in online chat
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20190163361A1 (en) * 2009-03-30 2019-05-30 Touchtype Limited System and method for inputting text into electronic devices
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10332518B2 (en) 2017-05-09 2019-06-25 Apple Inc. User interface for correcting recognition errors
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10402493B2 (en) 2009-03-30 2019-09-03 Touchtype Ltd System and method for inputting text into electronic devices
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
USD859453S1 (en) 2017-08-01 2019-09-10 Google Llc Display screen with an animated graphical user interface
US10416884B2 (en) * 2015-12-18 2019-09-17 Lenovo (Singapore) Pte. Ltd. Electronic device, method, and program product for software keyboard adaptation
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10437333B2 (en) 2012-12-29 2019-10-08 Apple Inc. Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US10445424B2 (en) 2009-03-30 2019-10-15 Touchtype Limited System and method for inputting text into electronic devices
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10496260B2 (en) 2012-05-09 2019-12-03 Apple Inc. Device, method, and graphical user interface for pressure-based alteration of controls in a user interface
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10565219B2 (en) 2014-05-30 2020-02-18 Apple Inc. Techniques for automatically generating a suggested contact based on a received message
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10568032B2 (en) 2007-04-03 2020-02-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10579212B2 (en) 2014-05-30 2020-03-03 Apple Inc. Structured suggestions
US10585494B1 (en) * 2016-04-12 2020-03-10 Apple Inc. Auxiliary text display integrated into a keyboard device
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10599915B2 (en) 2017-01-19 2020-03-24 International Business Machines Corporation Providing suggested content based on user detected gesture
US10620781B2 (en) 2012-12-29 2020-04-14 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10643611B2 (en) 2008-10-02 2020-05-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10657329B2 (en) * 2014-07-31 2020-05-19 Rakuten, Inc. System and method for recommending words for insertion based on timing factors
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10742577B2 (en) 2013-03-15 2020-08-11 Disney Enterprises, Inc. Real-time search and validation of phrases using linguistic phrase components
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10789945B2 (en) 2017-05-12 2020-09-29 Apple Inc. Low-latency intelligent automated assistant
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US10878189B2 (en) * 2017-12-27 2020-12-29 Yandex Europe Ag Method for correcting a mistyped word resulting from at least one of an inaccurate keyboard input and a wrong keyboard layout and system implementing thereof
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US20210020169A1 (en) * 2019-01-25 2021-01-21 Interactive Solutions Corp. Presentation Support System
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10963638B2 (en) * 2011-09-29 2021-03-30 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US20210117048A1 (en) * 2019-10-17 2021-04-22 Microsoft Technology Licensing, Llc Adaptive assistive technology techniques for computing devices
US10990183B2 (en) 2010-04-05 2021-04-27 Tactile Displays, Llc Interactive display with tactile feedback
US10990184B2 (en) 2010-04-13 2021-04-27 Tactile Displays, Llc Energy efficient interactive display with energy regenerative keyboard
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11023513B2 (en) 2007-12-20 2021-06-01 Apple Inc. Method and apparatus for searching using an active ontology
US11023202B2 (en) 2019-05-29 2021-06-01 International Business Machines Corporation Enhanced autocorrect features using audio interface
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
US11079933B2 (en) 2008-01-09 2021-08-03 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US11120220B2 (en) * 2014-05-30 2021-09-14 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11182553B2 (en) * 2018-09-27 2021-11-23 Fujitsu Limited Method, program, and information processing apparatus for presenting correction candidates in voice input system
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11227103B2 (en) 2019-11-05 2022-01-18 International Business Machines Corporation Identification of problematic webform input fields
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
WO2022026893A1 (en) * 2020-07-31 2022-02-03 Grammarly Inc. Computer-implemented presentation of synonyms based on syntactic dependency
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11281357B2 (en) * 2014-10-30 2022-03-22 Snap-On Incorporated Methods and systems for taxonomy assist at data entry points
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11295088B2 (en) 2019-11-20 2022-04-05 Apple Inc. Sanitizing word predictions
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US20220137785A1 (en) * 2020-11-05 2022-05-05 Capital One Services, Llc Systems for real-time intelligent haptic correction to typing errors and methods thereof
US11334717B2 (en) 2013-01-15 2022-05-17 Google Llc Touch keyboard using a trained model
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11379663B2 (en) * 2012-10-16 2022-07-05 Google Llc Multi-gesture text input prediction
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11418929B2 (en) 2015-08-14 2022-08-16 Apple Inc. Easy location sharing
US11416136B2 (en) 2020-09-14 2022-08-16 Apple Inc. User interfaces for assigning and responding to user inputs
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11501504B2 (en) 2018-12-20 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for augmented reality
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US20230029420A1 (en) * 2021-07-26 2023-01-26 Microsoft Technology Licensing, Llc Maps auto-complete through query expansion
US11575622B2 (en) * 2014-05-30 2023-02-07 Apple Inc. Canned answers in messages
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11709593B2 (en) * 2019-09-18 2023-07-25 Samsung Electronics Co., Ltd. Electronic apparatus for providing a virtual keyboard and controlling method thereof
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US20230333669A1 (en) * 2019-10-18 2023-10-19 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US11899904B2 (en) 2017-04-12 2024-02-13 Microsoft Technology Licensing, Llc. Text input system with correction facility
US11915671B2 (en) 2019-10-17 2024-02-27 Microsoft Technology Licensing, Llc Eye gaze control of magnification user interface

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0917753D0 (en) 2009-10-09 2009-11-25 Touchtype Ltd System and method for inputting text into electronic devices
US9189472B2 (en) * 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
GB201016385D0 (en) * 2010-09-29 2010-11-10 Touchtype Ltd System and method for inputting text into electronic devices
US8326859B2 (en) * 2009-11-02 2012-12-04 Microsoft Corporation Task prediction
EP3091535B1 (en) * 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US8494852B2 (en) 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
JP5676113B2 (en) * 2010-01-27 2015-02-25 京セラ株式会社 Portable electronic devices
JP5592679B2 (en) * 2010-03-17 2014-09-17 任天堂株式会社 INPUT PROGRAM, INPUT DEVICE, SYSTEM, AND INPUT METHOD
JP5688230B2 (en) * 2010-03-24 2015-03-25 任天堂株式会社 INPUT PROGRAM, INPUT DEVICE, SYSTEM, AND INPUT METHOD
CN101848286A (en) * 2010-04-01 2010-09-29 中兴通讯股份有限公司 Dual-tone multi-frequency signal sending method and device
US20120047454A1 (en) * 2010-08-18 2012-02-23 Erik Anthony Harte Dynamic Soft Input
US8988365B2 (en) 2010-09-01 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Input precision method for minimizing erroneous entries stemming from instability of a mobile device using an accelerometer and apparatus to detect a shake and apparatus and computer program thereof
JP5296029B2 (en) * 2010-09-15 2013-09-25 株式会社東芝 Sentence presentation apparatus, sentence presentation method, and program
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US9262397B2 (en) * 2010-10-08 2016-02-16 Microsoft Technology Licensing, Llc General purpose correction of grammatical and word usage errors
JP5782699B2 (en) 2010-10-15 2015-09-24 ソニー株式会社 Information processing apparatus, input control method for information processing apparatus, and program
US8548800B2 (en) * 2010-10-29 2013-10-01 Verizon Patent And Licensing Inc. Substitution, insertion, and deletion (SID) distance and voice impressions detector (VID) distance
CN102006045B (en) * 2010-11-04 2012-06-27 江苏惠通集团有限责任公司 Method for judging capacitive touch keys
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US20120166522A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Supporting intelligent user interface interactions
KR101753625B1 (en) * 2011-03-08 2017-07-20 삼성전자주식회사 The method for preventing incorrect input in potable terminal and device thereof
US9037459B2 (en) * 2011-03-14 2015-05-19 Apple Inc. Selection of text prediction results by an accessory
US8914275B2 (en) 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
US9430145B2 (en) * 2011-04-06 2016-08-30 Samsung Electronics Co., Ltd. Dynamic text input using on and above surface sensing of hands and fingers
US9552213B2 (en) * 2011-05-16 2017-01-24 D2L Corporation Systems and methods for facilitating software interface localization between multiple languages
USD693835S1 (en) * 2011-09-23 2013-11-19 Isaac S. Daniel Display screen with graphical user interface
US8855997B2 (en) 2011-07-28 2014-10-07 Microsoft Corporation Linguistic error detection
US10140011B2 (en) 2011-08-12 2018-11-27 Microsoft Technology Licensing, Llc Touch intelligent targeting
US20130044063A1 (en) * 2011-08-19 2013-02-21 Apple Inc. Touch correcting keypad
US9262076B2 (en) * 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Soft keyboard interface
US8290772B1 (en) * 2011-10-03 2012-10-16 Google Inc. Interactive text editing
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US8904309B1 (en) 2011-11-23 2014-12-02 Google Inc. Prediction completion gesture
US9323746B2 (en) * 2011-12-06 2016-04-26 At&T Intellectual Property I, L.P. System and method for collaborative language translation
US9348479B2 (en) 2011-12-08 2016-05-24 Microsoft Technology Licensing, Llc Sentiment aware user interface customization
US20130151956A1 (en) * 2011-12-09 2013-06-13 International Business Machines Corporation Autocorrect confirmation system
US8909565B2 (en) * 2012-01-30 2014-12-09 Microsoft Corporation Clustering crowdsourced data to create and apply data input models
US20130222255A1 (en) 2012-02-24 2013-08-29 Research In Motion Limited Portable electronic device including touch-sensitive display and method of controlling same
KR20130097266A (en) * 2012-02-24 2013-09-03 삼성전자주식회사 Method and apparatus for editing contents view in mobile terminal
US9026547B2 (en) * 2012-03-05 2015-05-05 Coupons.Com Incorporated Fault-tolerant search
EP2637128B1 (en) * 2012-03-06 2018-01-17 beyo GmbH Multimodal text input by a keyboard/camera text input module replacing a conventional keyboard text input module on a mobile device
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US9176948B2 (en) * 2012-03-27 2015-11-03 Google Inc. Client/server-based statistical phrase distribution display and associated text entry technique
TWI497380B (en) * 2012-04-05 2015-08-21 Ite Tech Inc Capacitive touch key and the operating method thereof
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
US10025487B2 (en) 2012-04-30 2018-07-17 Blackberry Limited Method and apparatus for text selection
US20130300666A1 (en) * 2012-05-11 2013-11-14 Verizon Patent And Licensing Inc. Voice keyboard
EP2662752B1 (en) * 2012-05-11 2017-09-13 BlackBerry Limited Apparatus and method for character entry in a portable electronic device
US8884881B2 (en) * 2012-05-11 2014-11-11 Blackberry Limited Portable electronic device and method of controlling same
CA2821674C (en) * 2012-05-11 2015-09-15 Research In Motion Limited Portable electronic device and method of controlling same
CN107273022A (en) * 2012-05-17 2017-10-20 联发科技(新加坡)私人有限公司 Automatic error correction method and device and mobile terminal
US8484573B1 (en) 2012-05-23 2013-07-09 Google Inc. Predictive virtual keyboard
AU2013204311B2 (en) * 2012-05-30 2016-09-29 Chomley Consulting Pty. Ltd Methods, Controllers and Devices for Assembling a Word
KR20130135410A (en) * 2012-05-31 2013-12-11 삼성전자주식회사 Method for providing voice recognition function and an electronic device thereof
CN102750088B (en) * 2012-06-04 2017-01-25 华为终端有限公司 Method and electronic device for prompting character inputting
CN103513877A (en) * 2012-06-29 2014-01-15 联想(北京)有限公司 Method for processing operating object and electronic device
US20140019126A1 (en) * 2012-07-13 2014-01-16 International Business Machines Corporation Speech-to-text recognition of non-dictionary words using location data
JP5553866B2 (en) * 2012-07-23 2014-07-16 東芝テック株式会社 Product recognition device and recognition dictionary addition program
US9298295B2 (en) * 2012-07-25 2016-03-29 Facebook, Inc. Gestures for auto-correct
US20140040773A1 (en) 2012-07-31 2014-02-06 Apple Inc. Transient Panel Enabling Message Correction Capabilities Prior to Data Submission
KR101942308B1 (en) * 2012-08-08 2019-01-25 삼성전자주식회사 Method for providing message function and an electronic device thereof
US9292621B1 (en) * 2012-09-12 2016-03-22 Amazon Technologies, Inc. Managing autocorrect actions
US9081482B1 (en) 2012-09-18 2015-07-14 Google Inc. Text input suggestion ranking
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8612213B1 (en) 2012-10-16 2013-12-17 Google Inc. Correction of errors in character strings that include a word delimiter
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8713433B1 (en) * 2012-10-16 2014-04-29 Google Inc. Feature-based autocorrection
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8994681B2 (en) * 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8806384B2 (en) * 2012-11-02 2014-08-12 Google Inc. Keyboard gestures for character string replacement
WO2014083368A1 (en) 2012-11-27 2014-06-05 Thomson Licensing Adaptive virtual keyboard
CN105027064A (en) 2012-11-27 2015-11-04 汤姆逊许可公司 Adaptive virtual keyboard
US9683373B2 (en) 2012-12-17 2017-06-20 Golden Homes Holdings Limited Composite cladding panel building system
US9836179B2 (en) 2012-12-20 2017-12-05 Microsoft Technology Licensing, Llc Auto-complete with persisted atomically linked entities
WO2014100949A1 (en) * 2012-12-24 2014-07-03 Nokia Corporation Apparatus for user interface and associated methods
CN103067579A (en) * 2012-12-24 2013-04-24 广东欧珀移动通信有限公司 Method and device assisting in on-line voice chat
DE102013009375A1 (en) 2012-12-28 2014-07-03 Volkswagen Aktiengesellschaft Method for entering and recognizing a character string
CN103064530B (en) * 2012-12-31 2017-03-08 华为技术有限公司 input processing method and device
CN103077165A (en) * 2012-12-31 2013-05-01 威盛电子股份有限公司 Natural language dialogue method and system thereof
KR101755625B1 (en) * 2013-01-07 2017-07-07 삼성전자주식회사 Display apparatus, method for ui display thereof and computer-readable recording medium
US9454240B2 (en) * 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement
US20140267045A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Adaptive Language Models for Text Predictions
US9489372B2 (en) * 2013-03-15 2016-11-08 Apple Inc. Web-based spell checker
JP6028658B2 (en) * 2013-03-28 2016-11-16 富士通株式会社 Terminal device, conversion character candidate synchronization method, and conversion character candidate synchronization program
JP6221301B2 (en) * 2013-03-28 2017-11-01 富士通株式会社 Audio processing apparatus, audio processing system, and audio processing method
WO2014162756A1 (en) * 2013-04-04 2014-10-09 ソニー株式会社 Information processing device, data input assistance method, and program
JP2014211701A (en) * 2013-04-17 2014-11-13 ソニー株式会社 Information processing apparatus, information processing method, and program
US9122376B1 (en) * 2013-04-18 2015-09-01 Google Inc. System for improving autocompletion of text input
US20140317495A1 (en) * 2013-04-22 2014-10-23 Research In Motion Limited Retroactive word correction
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US10430516B2 (en) * 2013-06-13 2019-10-01 Microsoft Technology Licensing, Llc Automatically displaying suggestions for entry
US9374431B2 (en) 2013-06-20 2016-06-21 Microsoft Technology Licensing, Llc Frequent sites based on browsing patterns
US20150019539A1 (en) * 2013-07-15 2015-01-15 Blackberry Limited Methods and devices for providing a text prediction
WO2015006944A1 (en) * 2013-07-17 2015-01-22 Nokia Corporation Predictive text
US10733377B2 (en) * 2013-08-06 2020-08-04 Lenovo (Singapore) Pte. Ltd. Indicating automatically corrected words
US9626432B2 (en) 2013-09-09 2017-04-18 International Business Machines Corporation Defect record classification
CN104424168A (en) * 2013-09-11 2015-03-18 华为技术有限公司 Text editing method, text editing device and server
JP5850014B2 (en) * 2013-09-13 2016-02-03 カシオ計算機株式会社 Character input device and program
JP6192104B2 (en) * 2013-09-13 2017-09-06 国立研究開発法人情報通信研究機構 Text editing apparatus and program
TWI475405B (en) * 2013-09-17 2015-03-01 Wistron Corp Electronic device and text-input interface displaying method thereof
US9529528B2 (en) * 2013-10-22 2016-12-27 International Business Machines Corporation Accelerated data entry for constrained format input fields
US20150153949A1 (en) * 2013-12-03 2015-06-04 Google Inc. Task selections associated with text inputs
CN104932806A (en) * 2014-03-17 2015-09-23 联想(北京)有限公司 Information processing method and electronic device
JP2016521383A (en) * 2014-04-22 2016-07-21 キューキー インコーポレイテッドKeukey Inc. Method, apparatus and computer readable recording medium for improving a set of at least one semantic unit
US20150309965A1 (en) * 2014-04-28 2015-10-29 Elwha Llc Methods, systems, and devices for outcome prediction of text submission to network based on corpora analysis
KR102282487B1 (en) * 2014-05-08 2021-07-26 삼성전자주식회사 Apparatus and method for executing application
US9477653B2 (en) * 2014-06-26 2016-10-25 Blackberry Limited Character entry for an electronic device using a position sensing keyboard
CN104102720B (en) * 2014-07-18 2018-04-13 上海触乐信息科技有限公司 The Forecasting Methodology and device efficiently input
GB2528687A (en) 2014-07-28 2016-02-03 Ibm Text auto-completion
US10878179B2 (en) * 2014-07-30 2020-12-29 Lenovo (Singapore) Pte. Ltd. Simplified text correction on a touch screen
US10534532B2 (en) 2014-08-08 2020-01-14 Samsung Electronics Co., Ltd. Electronic device and method for processing letter input in electronic device
US10261674B2 (en) * 2014-09-05 2019-04-16 Microsoft Technology Licensing, Llc Display-efficient text entry and editing
CN104281275B (en) * 2014-09-17 2016-07-06 北京搜狗科技发展有限公司 The input method of a kind of English and device
US10963117B2 (en) 2014-09-30 2021-03-30 Apple Inc. Configurable force-sensitive input structure for electronic devices
USD771646S1 (en) * 2014-09-30 2016-11-15 Apple Inc. Display screen or portion thereof with graphical user interface
USD765671S1 (en) * 2014-11-01 2016-09-06 Chris J. Katopis Display screen with keyboard graphical user interface (GUI)
US10503398B2 (en) * 2014-11-26 2019-12-10 Blackberry Limited Portable electronic device and method of controlling display of selectable elements
USD755235S1 (en) * 2015-01-02 2016-05-03 Chris J. Katopis Display screen with elephant-themed keyboard graphical user interface (GUI)
USD755236S1 (en) * 2015-01-02 2016-05-03 Chris J. Katopis Display screen with donkey-themed keyboard graphical user interface (GUI)
US9613022B2 (en) * 2015-02-04 2017-04-04 Lenovo (Singapore) Pte. Ltd. Context based customization of word assistance functions
KR102217292B1 (en) * 2015-02-26 2021-02-18 네이버 주식회사 Method, apparatus and computer-readable recording medium for improving a set of at least one semantic units by using phonetic sound
CN104915264A (en) * 2015-05-29 2015-09-16 北京搜狗科技发展有限公司 Input error-correction method and device
CN106326204A (en) * 2015-06-15 2017-01-11 微软技术许可有限责任公司 Content-based detection and processing for mistakes in message
US20170003872A1 (en) * 2015-07-02 2017-01-05 International Business Machines Corporation Touch-encoded keyboard
US10042841B2 (en) 2015-07-17 2018-08-07 International Business Machines Corporation User based text prediction
JP5906345B1 (en) * 2015-08-05 2016-04-20 株式会社Cygames Program, electronic device, system and control method for predicting touch target based on operation history
US10409412B1 (en) 2015-09-30 2019-09-10 Apple Inc. Multi-input element for electronic device
US10613825B2 (en) 2015-11-30 2020-04-07 Logmein, Inc. Providing electronic text recommendations to a user based on what is discussed during a meeting
US10530723B2 (en) * 2015-12-21 2020-01-07 Google Llc Automatic suggestions for message exchange threads
CN108476164B (en) 2015-12-21 2021-10-08 谷歌有限责任公司 Method for automatically providing robotic services in messaging applications
US9973521B2 (en) * 2015-12-28 2018-05-15 International Business Machines Corporation System and method for field extraction of data contained within a log stream
US10852938B2 (en) * 2016-01-07 2020-12-01 Myscript System and method for mixed content digital ink interactivity
CN105759984B (en) * 2016-02-06 2019-07-02 上海触乐信息科技有限公司 The method and apparatus of secondary input text
US20170242581A1 (en) * 2016-02-23 2017-08-24 Myscript System and method for multiple input management
CN106020506A (en) * 2016-05-30 2016-10-12 北京小米移动软件有限公司 Information input method and device
GB201610984D0 (en) 2016-06-23 2016-08-10 Microsoft Technology Licensing Llc Suppression of input images
US20180032499A1 (en) * 2016-07-28 2018-02-01 Google Inc. Automatically Generating Spelling Suggestions and Corrections Based on User Context
US10318065B2 (en) * 2016-08-03 2019-06-11 Apple Inc. Input device having a dimensionally configurable input area
JP6544319B2 (en) * 2016-08-25 2019-07-17 京セラドキュメントソリューションズ株式会社 Electronic device, character input control method, and character input control program
CN106468960A (en) * 2016-09-07 2017-03-01 北京新美互通科技有限公司 A kind of method and system of candidates of input method sequence
US20180074998A1 (en) * 2016-09-13 2018-03-15 Microsoft Technology Licensing, Llc Visual feedback for broken text selection
US10871860B1 (en) 2016-09-19 2020-12-22 Apple Inc. Flexible sensor configured to detect user inputs
CN117634495A (en) 2016-09-20 2024-03-01 谷歌有限责任公司 Suggested response based on message decal
JP6659910B2 (en) 2016-09-20 2020-03-04 グーグル エルエルシー Bots requesting permission to access data
CN106251869B (en) * 2016-09-22 2020-07-24 浙江吉利控股集团有限公司 Voice processing method and device
US11030251B2 (en) * 2016-09-22 2021-06-08 Verizon Media Inc. Method and system for providing query suggestions based on personalized spelling correction
US10642936B2 (en) 2016-09-26 2020-05-05 International Business Machines Corporation Automated message sentiment analysis and aggregation
JP2018055415A (en) * 2016-09-29 2018-04-05 京セラドキュメントソリューションズ株式会社 Electronic apparatus, character input control method, and character input control program
US20180101599A1 (en) * 2016-10-08 2018-04-12 Microsoft Technology Licensing, Llc Interactive context-based text completions
US10509812B2 (en) * 2016-10-11 2019-12-17 Sap Se Reducing translation volume and ensuring consistent text strings in software development
US10242113B2 (en) * 2016-10-13 2019-03-26 International Business Machines Corporation Modifying messages to be more discoverable on a social network
CN106775396A (en) * 2016-12-09 2017-05-31 北京奇虎科技有限公司 Input operation method and apparatus based on mobile terminal, mobile terminal
US10417332B2 (en) * 2016-12-15 2019-09-17 Microsoft Technology Licensing, Llc Predicting text by combining attempts
US10831366B2 (en) * 2016-12-29 2020-11-10 Google Llc Modality learning on mobile devices
US20180188823A1 (en) * 2017-01-04 2018-07-05 International Business Machines Corporation Autocorrect with weighted group vocabulary
US10255268B2 (en) 2017-01-30 2019-04-09 International Business Machines Corporation Text prediction using multiple devices
US10558749B2 (en) 2017-01-30 2020-02-11 International Business Machines Corporation Text prediction using captured image from an image capture device
US10234985B2 (en) * 2017-02-10 2019-03-19 Google Llc Dynamic space bar
US11520412B2 (en) * 2017-03-06 2022-12-06 Microsoft Technology Licensing, Llc Data input system/example generator
US11003839B1 (en) * 2017-04-28 2021-05-11 I.Q. Joe, Llc Smart interface with facilitated input and mistake recovery
WO2018212822A1 (en) 2017-05-16 2018-11-22 Google Inc. Suggested actions for images
USD829223S1 (en) 2017-06-04 2018-09-25 Apple Inc. Display screen or portion thereof with graphical user interface
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
CN109213413A (en) * 2017-07-07 2019-01-15 阿里巴巴集团控股有限公司 A kind of recommended method, device, equipment and storage medium
US11455094B2 (en) 2017-07-11 2022-09-27 Thumba Inc. Interactive virtual keyboard configured for gesture based word selection and having a plurality of keys arranged approximately radially about at least one center point
US10732676B2 (en) 2017-09-06 2020-08-04 Apple Inc. Illuminated device enclosure with dynamic trackpad
USD957448S1 (en) 2017-09-10 2022-07-12 Apple Inc. Electronic device with graphical user interface
US10949614B2 (en) 2017-09-13 2021-03-16 International Business Machines Corporation Dynamically changing words based on a distance between a first area and a second area
CN108509474B (en) * 2017-09-15 2022-01-07 腾讯科技(深圳)有限公司 Synonym expansion method and device for search information
US11597519B2 (en) * 2017-10-17 2023-03-07 The Boeing Company Artificially intelligent flight crew systems and methods
US10719222B2 (en) * 2017-10-23 2020-07-21 Google Llc Method and system for generating transcripts of patient-healthcare provider conversations
US10394344B2 (en) 2017-11-07 2019-08-27 International Business Machines Corporation Character input error correction
KR20190065746A (en) * 2017-12-04 2019-06-12 삼성전자주식회사 Electronic apparatus, method for controlling thereof and the computer readable recording medium
CN107832004A (en) * 2017-12-12 2018-03-23 淄博职业学院 One kind has touch screen computer English word system of selection
CN110069143A (en) * 2018-01-22 2019-07-30 北京搜狗科技发展有限公司 A kind of information is anti-error to entangle method, apparatus and electronic equipment
US11416503B2 (en) 2018-02-09 2022-08-16 Microsoft Technology Licensing, Llc Mining data for generating consumable collaboration events
US10387554B1 (en) 2018-02-19 2019-08-20 International Business Machines Corporation Applying matching data transformation information based on a user's editing of data within a document
US11205114B2 (en) * 2018-03-19 2021-12-21 Intel Corporation Multi-layer neural networks using symmetric tensors
US10691887B2 (en) * 2018-04-09 2020-06-23 Microsoft Technology Licensing, Llc Techniques for automatic proofing of textual data
US11308450B2 (en) * 2018-04-27 2022-04-19 Microsoft Technology Licensing, Llc Generating personalized smart responses
US10943059B2 (en) * 2018-06-27 2021-03-09 Microsoft Technology Licensing, Llc Document editing models and management
CN109032380B (en) * 2018-08-01 2021-04-23 维沃移动通信有限公司 Character input method and terminal
JP7263712B2 (en) * 2018-08-23 2023-04-25 富士通株式会社 Control method, information processing device and control program
US11188719B1 (en) 2018-10-22 2021-11-30 Wells Fargo Bank, N.A. Predictive text system
CN109491515B (en) * 2018-10-23 2022-12-06 维沃移动通信有限公司 Input method, intelligent terminal and computer readable storage medium
US11062621B2 (en) * 2018-12-26 2021-07-13 Paypal, Inc. Determining phonetic similarity using machine learning
KR20200103236A (en) 2019-02-22 2020-09-02 삼성전자주식회사 Method and apparatus for displaying an input based on handwriting
US11328123B2 (en) * 2019-03-14 2022-05-10 International Business Machines Corporation Dynamic text correction based upon a second communication containing a correction command
US10802849B1 (en) * 2019-06-14 2020-10-13 International Business Machines Corporation GUI-implemented cognitive task forecasting
US20220291789A1 (en) * 2019-07-11 2022-09-15 Google Llc System and Method for Providing an Artificial Intelligence Control Surface for a User of a Computing Device
US11455464B2 (en) * 2019-09-18 2022-09-27 Accenture Global Solutions Limited Document content classification and alteration
US11335360B2 (en) * 2019-09-21 2022-05-17 Lenovo (Singapore) Pte. Ltd. Techniques to enhance transcript of speech with indications of speaker emotion
WO2021112491A1 (en) * 2019-12-04 2021-06-10 Samsung Electronics Co., Ltd. Methods and systems for predicting keystrokes using a unified neural network
CN112230811A (en) * 2020-10-15 2021-01-15 科大讯飞股份有限公司 Input method, device, equipment and storage medium
CN112256139B (en) * 2020-10-22 2022-10-14 米环科技(长春)有限公司 Keyboard with key position layout and input method applied to electronic equipment
US20220214801A1 (en) * 2021-01-06 2022-07-07 Typewise Ltd. Methods and systems for modifying user input processes
US11494140B2 (en) * 2021-03-04 2022-11-08 Cacotec Corporation Printing of clothing labels
WO2023034497A2 (en) * 2021-09-03 2023-03-09 Apple Inc. Gaze based dictation
CN114895836B (en) * 2022-07-14 2022-10-14 深圳市智汉科技有限公司 Touch control method and device based on intelligent full-flow data touch screen and electronic equipment

Citations (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US6282507B1 (en) * 1999-01-29 2001-08-28 Sony Corporation Method and apparatus for interactive source language expression recognition and alternative hypothesis presentation and selection
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US6421655B1 (en) * 1999-06-04 2002-07-16 Microsoft Corporation Computer-based representations and reasoning methods for engaging users in goal-oriented conversations
US6490698B1 (en) * 1999-06-04 2002-12-03 Microsoft Corporation Multi-level decision-analytic approach to failure and repair in human-computer interactions
US6556841B2 (en) * 1999-05-03 2003-04-29 Openwave Systems Inc. Spelling correction for two-way mobile communication devices
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US6646572B1 (en) * 2000-02-18 2003-11-11 Mitsubish Electric Research Laboratories, Inc. Method for designing optimal single pointer predictive keyboards and apparatus therefore
US20030214539A1 (en) * 2002-05-14 2003-11-20 Microsoft Corp. Method and apparatus for hollow selection feedback
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US20040021691A1 (en) * 2000-10-18 2004-02-05 Mark Dostie Method, system and media for entering data in a personal computing device
US20040183833A1 (en) * 2003-03-19 2004-09-23 Chua Yong Tong Keyboard error reduction method and apparatus
US6798887B1 (en) * 1999-06-25 2004-09-28 International Business Machines Corporation Key click masker and method for masking key clicks
US6801190B1 (en) * 1999-05-27 2004-10-05 America Online Incorporated Keyboard system with automatic correction
US20040217944A1 (en) * 2003-04-30 2004-11-04 Microsoft Corporation Character and text unit input correction system
US20050024324A1 (en) * 2000-02-11 2005-02-03 Carlo Tomasi Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
US20050099408A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Data input panel character conversion
US20050099407A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Text input window with auto-growth
US20050099406A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Ink correction pad
US6931384B1 (en) * 1999-06-04 2005-08-16 Microsoft Corporation System and method providing utility-based decision making about clarification dialog given communicative uncertainty
US20050283726A1 (en) * 2004-06-17 2005-12-22 Apple Computer, Inc. Routine and interface for correcting electronic text
US20060073818A1 (en) * 2004-09-21 2006-04-06 Research In Motion Limited Mobile wireless communications device providing enhanced text navigation indicators and related methods
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7103544B2 (en) * 2003-02-13 2006-09-05 Microsoft Corporation Method and apparatus for predicting word error rates from text
US20060206815A1 (en) * 2005-03-08 2006-09-14 Pathiyal Krishna K Handheld electronic device having improved word correction, and associated method
US20060209014A1 (en) * 2005-03-16 2006-09-21 Microsoft Corporation Method and system for providing modifier key behavior through pen gestures
US20060210958A1 (en) * 2005-03-21 2006-09-21 Microsoft Corporation Gesture training
US7120477B2 (en) * 1999-11-22 2006-10-10 Microsoft Corporation Personal mobile computing device having antenna microphone and speech detection for improved speech recognition
US20060235700A1 (en) * 2005-03-31 2006-10-19 Microsoft Corporation Processing files from a mobile device using voice commands
US20060256139A1 (en) * 2005-05-11 2006-11-16 Gikandi David C Predictive text computer simplified keyboard with word and phrase auto-completion (plus text-to-speech and a foreign language translation option)
US20060265668A1 (en) * 2005-05-23 2006-11-23 Roope Rainisto Electronic text input involving a virtual keyboard and word completion functionality on a touch-sensitive display screen
US20060282575A1 (en) * 2005-04-22 2006-12-14 Microsoft Corporation Auto-suggest lists and handwritten input
US7171353B2 (en) * 2000-03-07 2007-01-30 Microsoft Corporation Grammar-based automatic data completion and suggestion for user input
US20070036292A1 (en) * 2005-07-14 2007-02-15 Microsoft Corporation Asynchronous Discrete Manageable Instant Voice Messages
US20070040813A1 (en) * 2003-01-16 2007-02-22 Forword Input, Inc. System and method for continuous stroke word-based text input
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US7200267B1 (en) * 2002-02-14 2007-04-03 Microsoft Corporation Handwriting recognition with mixtures of bayesian networks
US20070089070A1 (en) * 2003-12-09 2007-04-19 Benq Mobile Gmbh & Co. Ohg Communication device and method for inputting and predicting text
US7254774B2 (en) * 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
US20070233497A1 (en) * 2006-03-30 2007-10-04 Microsoft Corporation Dialog repair based on discrepancies between user model predictions and speech recognition results
US20070239454A1 (en) * 2006-04-06 2007-10-11 Microsoft Corporation Personalizing a context-free grammar using a dictation language model
US20070239453A1 (en) * 2006-04-06 2007-10-11 Microsoft Corporation Augmenting context-free grammars with back-off grammars for processing out-of-grammar utterances
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US7319957B2 (en) * 2004-02-11 2008-01-15 Tegic Communications, Inc. Handwriting and voice input with automatic correction
US20080072143A1 (en) * 2005-05-18 2008-03-20 Ramin Assadollahi Method and device incorporating improved text input mechanism
US7350145B2 (en) * 2001-04-30 2008-03-25 Multiworks, Inc. Methods and systems for providing technology-assisted content development
US7370275B2 (en) * 2003-10-24 2008-05-06 Microsoft Corporation System and method for providing context to an input method by tagging existing applications
US20080133220A1 (en) * 2006-12-01 2008-06-05 Microsoft Corporation Leveraging back-off grammars for authoring context-free grammars
US20080136785A1 (en) * 2006-12-07 2008-06-12 Microsoft Corporation Operating touch screen interfaces
US20080189605A1 (en) * 2007-02-01 2008-08-07 David Kay Spell-check for a keyboard system with automatic correction
US20080195571A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Predicting textual candidates
US20080195388A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Context based word prediction
US20080243834A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Method, apparatus, server, system and computer program product for use with predictive text input
US7443316B2 (en) * 2005-09-01 2008-10-28 Motorola, Inc. Entering a character into an electronic device
US7453439B1 (en) * 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7458029B2 (en) * 2004-01-15 2008-11-25 Microsoft Corporation System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US20080294982A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Providing relevant text auto-completions
US20080291325A1 (en) * 2007-05-24 2008-11-27 Microsoft Corporation Personality-Based Device
US20090006100A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Identification and selection of a software application via speech
US20090009494A1 (en) * 2007-07-05 2009-01-08 Samsung Electronics Co., Ltd. Driving apparatus and method for display device and display device including the same
US20090009367A1 (en) * 2007-07-07 2009-01-08 David Hirshberg System and Method for Text Entery
US20090054123A1 (en) * 2007-08-22 2009-02-26 Microsoft Corporation Information collection during game play
US7506254B2 (en) * 2005-04-21 2009-03-17 Google Inc. Predictive conversion of user input
US7508324B2 (en) * 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20090100340A1 (en) * 2007-10-10 2009-04-16 Microsoft Corporation Associative interface for personalizing voice data access
US20090150322A1 (en) * 2007-12-07 2009-06-11 Microsoft Corporation Predicting Candidates Using Information Sources
US20090150341A1 (en) * 2007-12-05 2009-06-11 Microsoft Corporation Generation of alternative phrasings for short descriptions
US7561145B2 (en) * 2005-03-18 2009-07-14 Microsoft Corporation Systems, methods, and computer-readable media for invoking an electronic ink or handwriting interface
US20090182552A1 (en) * 2008-01-14 2009-07-16 Fyke Steven H Method and handheld electronic device employing a touch screen for ambiguous word review or correction
US20090195506A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Dynamic Soft Keyboard
US7574672B2 (en) * 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
US7580925B2 (en) * 2006-04-19 2009-08-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US20090213134A1 (en) * 2003-04-09 2009-08-27 James Stephanick Touch screen and graphical user interface
US20090216690A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Predicting Candidates Using Input Scopes
US20090225041A1 (en) * 2008-03-04 2009-09-10 Apple Inc. Language input interface on a device
US7616191B2 (en) * 2005-04-18 2009-11-10 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Electronic device and method for simplifying text entry using a soft keyboard
US7620631B2 (en) * 2005-03-21 2009-11-17 Microsoft Corporation Pyramid view
US20090287626A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query generation
US20090295737A1 (en) * 2008-05-30 2009-12-03 Deborah Eileen Goldsmith Identification of candidate characters for text input
US7694231B2 (en) * 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
US20100130236A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Location assisted word completion
US20100156793A1 (en) * 2008-12-19 2010-06-24 Ozias Orin M System and Method For An Information Handling System Touchscreen Keyboard
US20100164897A1 (en) * 2007-06-28 2010-07-01 Panasonic Corporation Virtual keypad systems and methods
US7793228B2 (en) * 2006-10-13 2010-09-07 Apple Inc. Method, system, and graphical user interface for text entry with partial word display
US20110061017A1 (en) * 2009-09-09 2011-03-10 Chris Ullrich Systems and Methods for Haptically-Enhanced Text Interfaces
US20110246575A1 (en) * 2010-04-02 2011-10-06 Microsoft Corporation Text suggestion framework with client and server model
US20120019446A1 (en) * 2009-03-20 2012-01-26 Google Inc. Interaction with ime computing device

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US7149970B1 (en) * 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
CN1442787A (en) 2002-03-01 2003-09-17 何万贯 Composition revise and write system
US6986106B2 (en) 2002-05-13 2006-01-10 Microsoft Corporation Correction widget
JP2004062227A (en) * 2002-07-24 2004-02-26 Casio Comput Co Ltd Electronic dictionary terminal, dictionary system server, and terminal processing program, and server processing program
US8074184B2 (en) 2003-11-07 2011-12-06 Mocrosoft Corporation Modifying electronic documents with recognized content or other associated data
US7630980B2 (en) * 2005-01-21 2009-12-08 Prashant Parikh Automatic dynamic contextual data entry completion system
US7461059B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US7918331B2 (en) 2005-03-11 2011-04-05 Wrh Walter Reist Holding Ag Transport device, rolling body and transport body
US7480908B1 (en) * 2005-06-24 2009-01-20 Azul Systems, Inc. Segmented virtual machine transport mechanism
DE102006037156A1 (en) * 2006-03-22 2007-09-27 Volkswagen Ag Interactive operating device and method for operating the interactive operating device
US20080091451A1 (en) 2006-07-12 2008-04-17 Crystal Jack C Methods and systems for compliance confirmation and incentives
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US20080182599A1 (en) 2007-01-31 2008-07-31 Nokia Corporation Method and apparatus for user input
WO2008120033A1 (en) 2007-03-29 2008-10-09 Nokia Corporation Prioritizing words based on content of input
US7747792B2 (en) 2007-06-18 2010-06-29 Yahoo! Inc. Relative typing waiting time before disambiguation aids
CN101802812B (en) 2007-08-01 2015-07-01 金格软件有限公司 Automatic context sensitive language correction and enhancement using an internet corpus
US8077983B2 (en) 2007-10-04 2011-12-13 Zi Corporation Of Canada, Inc. Systems and methods for character correction in communication devices
CN101183281B (en) 2007-12-26 2011-04-13 腾讯科技(深圳)有限公司 Method for inputting word related to candidate word in input method and system
US8908973B2 (en) 2008-03-04 2014-12-09 Apple Inc. Handwritten character recognition interface
US9542438B2 (en) 2008-06-17 2017-01-10 Microsoft Technology Licensing, Llc Term complete
US8356041B2 (en) 2008-06-17 2013-01-15 Microsoft Corporation Phrase builder
CN101369216B (en) 2008-09-25 2012-06-06 腾讯科技(深圳)有限公司 Words input method and system
CN100555203C (en) 2008-09-26 2009-10-28 腾讯科技(深圳)有限公司 Revise the system and method for input characters
US8533313B2 (en) 2008-10-01 2013-09-10 Binu Pty Ltd Systems, methods, and computer readable media for providing applications style functionality to a user
US8605039B2 (en) 2009-03-06 2013-12-10 Zimpl Ab Text input
US8300023B2 (en) 2009-04-10 2012-10-30 Qualcomm Incorporated Virtual keypad generator with learning capabilities
US20100289757A1 (en) 2009-05-14 2010-11-18 Budelli Joey G Scanner with gesture-based text selection capability
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
US20110050575A1 (en) 2009-08-31 2011-03-03 Motorola, Inc. Method and apparatus for an adaptive touch screen display
US9128610B2 (en) 2009-09-30 2015-09-08 At&T Mobility Ii Llc Virtual predictive keypad
US20110154193A1 (en) 2009-12-21 2011-06-23 Nokia Corporation Method and Apparatus for Text Input
US8276014B2 (en) 2010-02-12 2012-09-25 The Regents Of The University Of Michigan Stalling synchronisation circuits in response to a late data signal
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US20120167009A1 (en) 2010-12-22 2012-06-28 Apple Inc. Combining timing and geometry information for typing correction
US8762356B1 (en) 2011-07-15 2014-06-24 Google Inc. Detecting change in rate of input reception

Patent Citations (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US6282507B1 (en) * 1999-01-29 2001-08-28 Sony Corporation Method and apparatus for interactive source language expression recognition and alternative hypothesis presentation and selection
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US6556841B2 (en) * 1999-05-03 2003-04-29 Openwave Systems Inc. Spelling correction for two-way mobile communication devices
US6801190B1 (en) * 1999-05-27 2004-10-05 America Online Incorporated Keyboard system with automatic correction
US7277088B2 (en) * 1999-05-27 2007-10-02 Tegic Communications, Inc. Keyboard system with automatic correction
US7088345B2 (en) * 1999-05-27 2006-08-08 America Online, Inc. Keyboard system with automatic correction
US20090284471A1 (en) * 1999-05-27 2009-11-19 Tegic Communications, Inc. Virtual Keyboard System with Automatic Correction
US6931384B1 (en) * 1999-06-04 2005-08-16 Microsoft Corporation System and method providing utility-based decision making about clarification dialog given communicative uncertainty
US6490698B1 (en) * 1999-06-04 2002-12-03 Microsoft Corporation Multi-level decision-analytic approach to failure and repair in human-computer interactions
US6421655B1 (en) * 1999-06-04 2002-07-16 Microsoft Corporation Computer-based representations and reasoning methods for engaging users in goal-oriented conversations
US6798887B1 (en) * 1999-06-25 2004-09-28 International Business Machines Corporation Key click masker and method for masking key clicks
US7120477B2 (en) * 1999-11-22 2006-10-10 Microsoft Corporation Personal mobile computing device having antenna microphone and speech detection for improved speech recognition
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US20050024324A1 (en) * 2000-02-11 2005-02-03 Carlo Tomasi Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
US6646572B1 (en) * 2000-02-18 2003-11-11 Mitsubish Electric Research Laboratories, Inc. Method for designing optimal single pointer predictive keyboards and apparatus therefore
US7171353B2 (en) * 2000-03-07 2007-01-30 Microsoft Corporation Grammar-based automatic data completion and suggestion for user input
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7580908B1 (en) * 2000-10-16 2009-08-25 Microsoft Corporation System and method providing utility-based decision making about clarification dialog given communicative uncertainty
US20040021691A1 (en) * 2000-10-18 2004-02-05 Mark Dostie Method, system and media for entering data in a personal computing device
US7350145B2 (en) * 2001-04-30 2008-03-25 Multiworks, Inc. Methods and systems for providing technology-assisted content development
US7200267B1 (en) * 2002-02-14 2007-04-03 Microsoft Corporation Handwriting recognition with mixtures of bayesian networks
US20030214539A1 (en) * 2002-05-14 2003-11-20 Microsoft Corp. Method and apparatus for hollow selection feedback
US20050149882A1 (en) * 2002-05-14 2005-07-07 Microsoft Corp Method for hollow selection feedback
US7453439B1 (en) * 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US20070040813A1 (en) * 2003-01-16 2007-02-22 Forword Input, Inc. System and method for continuous stroke word-based text input
US7117153B2 (en) * 2003-02-13 2006-10-03 Microsoft Corporation Method and apparatus for predicting word error rates from text
US7103544B2 (en) * 2003-02-13 2006-09-05 Microsoft Corporation Method and apparatus for predicting word error rates from text
US20040183833A1 (en) * 2003-03-19 2004-09-23 Chua Yong Tong Keyboard error reduction method and apparatus
US20090213134A1 (en) * 2003-04-09 2009-08-27 James Stephanick Touch screen and graphical user interface
US20040217944A1 (en) * 2003-04-30 2004-11-04 Microsoft Corporation Character and text unit input correction system
US7119794B2 (en) * 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US7370275B2 (en) * 2003-10-24 2008-05-06 Microsoft Corporation System and method for providing context to an input method by tagging existing applications
US20060007190A1 (en) * 2003-11-10 2006-01-12 Microsoft Corporation Ink correction pad
US7406662B2 (en) * 2003-11-10 2008-07-29 Microsoft Corporation Data input panel character conversion
US6989822B2 (en) * 2003-11-10 2006-01-24 Microsoft Corporation Ink correction pad
US7701449B2 (en) * 2003-11-10 2010-04-20 Microsoft Corporation Ink correction pad
US20070005670A1 (en) * 2003-11-10 2007-01-04 Microsoft Corporation Text Input Window with Auto-Growth
US20050099406A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Ink correction pad
US20050099407A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Text input window with auto-growth
US20050099408A1 (en) * 2003-11-10 2005-05-12 Microsoft Corporation Data input panel character conversion
US7106312B2 (en) * 2003-11-10 2006-09-12 Microsoft Corporation Text input window with auto-growth
US20070089070A1 (en) * 2003-12-09 2007-04-19 Benq Mobile Gmbh & Co. Ohg Communication device and method for inputting and predicting text
US7458029B2 (en) * 2004-01-15 2008-11-25 Microsoft Corporation System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US7319957B2 (en) * 2004-02-11 2008-01-15 Tegic Communications, Inc. Handwriting and voice input with automatic correction
US7254774B2 (en) * 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
US20050283726A1 (en) * 2004-06-17 2005-12-22 Apple Computer, Inc. Routine and interface for correcting electronic text
US7508324B2 (en) * 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20060073818A1 (en) * 2004-09-21 2006-04-06 Research In Motion Limited Mobile wireless communications device providing enhanced text navigation indicators and related methods
US20060206815A1 (en) * 2005-03-08 2006-09-14 Pathiyal Krishna K Handheld electronic device having improved word correction, and associated method
US20060209014A1 (en) * 2005-03-16 2006-09-21 Microsoft Corporation Method and system for providing modifier key behavior through pen gestures
US7477233B2 (en) * 2005-03-16 2009-01-13 Microsoft Corporation Method and system for providing modifier key behavior through pen gestures
US7561145B2 (en) * 2005-03-18 2009-07-14 Microsoft Corporation Systems, methods, and computer-readable media for invoking an electronic ink or handwriting interface
US20060210958A1 (en) * 2005-03-21 2006-09-21 Microsoft Corporation Gesture training
US7620631B2 (en) * 2005-03-21 2009-11-17 Microsoft Corporation Pyramid view
US20060235700A1 (en) * 2005-03-31 2006-10-19 Microsoft Corporation Processing files from a mobile device using voice commands
US7616191B2 (en) * 2005-04-18 2009-11-10 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Electronic device and method for simplifying text entry using a soft keyboard
US7506254B2 (en) * 2005-04-21 2009-03-17 Google Inc. Predictive conversion of user input
US20060282575A1 (en) * 2005-04-22 2006-12-14 Microsoft Corporation Auto-suggest lists and handwritten input
US20060256139A1 (en) * 2005-05-11 2006-11-16 Gikandi David C Predictive text computer simplified keyboard with word and phrase auto-completion (plus text-to-speech and a foreign language translation option)
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US20080072143A1 (en) * 2005-05-18 2008-03-20 Ramin Assadollahi Method and device incorporating improved text input mechanism
US20060265668A1 (en) * 2005-05-23 2006-11-23 Roope Rainisto Electronic text input involving a virtual keyboard and word completion functionality on a touch-sensitive display screen
US20070036292A1 (en) * 2005-07-14 2007-02-15 Microsoft Corporation Asynchronous Discrete Manageable Instant Voice Messages
US7443316B2 (en) * 2005-09-01 2008-10-28 Motorola, Inc. Entering a character into an electronic device
US7694231B2 (en) * 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
US7574672B2 (en) * 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
US20070233497A1 (en) * 2006-03-30 2007-10-04 Microsoft Corporation Dialog repair based on discrepancies between user model predictions and speech recognition results
US7689420B2 (en) * 2006-04-06 2010-03-30 Microsoft Corporation Personalizing a context-free grammar using a dictation language model
US20070239454A1 (en) * 2006-04-06 2007-10-11 Microsoft Corporation Personalizing a context-free grammar using a dictation language model
US20070239453A1 (en) * 2006-04-06 2007-10-11 Microsoft Corporation Augmenting context-free grammars with back-off grammars for processing out-of-grammar utterances
US7580925B2 (en) * 2006-04-19 2009-08-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US7793228B2 (en) * 2006-10-13 2010-09-07 Apple Inc. Method, system, and graphical user interface for text entry with partial word display
US20080133220A1 (en) * 2006-12-01 2008-06-05 Microsoft Corporation Leveraging back-off grammars for authoring context-free grammars
US20080136785A1 (en) * 2006-12-07 2008-06-12 Microsoft Corporation Operating touch screen interfaces
US20080189605A1 (en) * 2007-02-01 2008-08-07 David Kay Spell-check for a keyboard system with automatic correction
US20080195388A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Context based word prediction
US20080195571A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Predicting textual candidates
US20080243834A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Method, apparatus, server, system and computer program product for use with predictive text input
US20080294982A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Providing relevant text auto-completions
US20080291325A1 (en) * 2007-05-24 2008-11-27 Microsoft Corporation Personality-Based Device
US20100164897A1 (en) * 2007-06-28 2010-07-01 Panasonic Corporation Virtual keypad systems and methods
US20090006100A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Identification and selection of a software application via speech
US20090009494A1 (en) * 2007-07-05 2009-01-08 Samsung Electronics Co., Ltd. Driving apparatus and method for display device and display device including the same
US20090009367A1 (en) * 2007-07-07 2009-01-08 David Hirshberg System and Method for Text Entery
US20090054123A1 (en) * 2007-08-22 2009-02-26 Microsoft Corporation Information collection during game play
US20090100340A1 (en) * 2007-10-10 2009-04-16 Microsoft Corporation Associative interface for personalizing voice data access
US20090150341A1 (en) * 2007-12-05 2009-06-11 Microsoft Corporation Generation of alternative phrasings for short descriptions
US20090150322A1 (en) * 2007-12-07 2009-06-11 Microsoft Corporation Predicting Candidates Using Information Sources
US20090182552A1 (en) * 2008-01-14 2009-07-16 Fyke Steven H Method and handheld electronic device employing a touch screen for ambiguous word review or correction
US20090195506A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Dynamic Soft Keyboard
US20110270786A1 (en) * 2008-02-26 2011-11-03 Microsoft Corporation Predicting Candidates Using Input Scopes
US8010465B2 (en) * 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US20090216690A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Predicting Candidates Using Input Scopes
US20090225041A1 (en) * 2008-03-04 2009-09-10 Apple Inc. Language input interface on a device
US20090287681A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal search wildcards
US20090287680A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query refinement
US20090287626A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query generation
US20090295737A1 (en) * 2008-05-30 2009-12-03 Deborah Eileen Goldsmith Identification of candidate characters for text input
US20100130236A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Location assisted word completion
US20100156793A1 (en) * 2008-12-19 2010-06-24 Ozias Orin M System and Method For An Information Handling System Touchscreen Keyboard
US20120019446A1 (en) * 2009-03-20 2012-01-26 Google Inc. Interaction with ime computing device
US20110061017A1 (en) * 2009-09-09 2011-03-10 Chris Ullrich Systems and Methods for Haptically-Enhanced Text Interfaces
US20110246575A1 (en) * 2010-04-02 2011-10-06 Microsoft Corporation Text suggestion framework with client and server model

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Creutz et al US 2011/0154193 A1 *
Ozias et al US 2010/0156793 A1 *
Ullrich et al US 2011/0061017 A1 *

Cited By (666)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9117447B2 (en) 2006-09-08 2015-08-25 Apple Inc. Using event alert text as input to an automated assistant
US8930191B2 (en) 2006-09-08 2015-01-06 Apple Inc. Paraphrasing of user requests and results by automated digital assistant
US8942986B2 (en) 2006-09-08 2015-01-27 Apple Inc. Determining user intent based on ontologies of domains
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11012942B2 (en) 2007-04-03 2021-05-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10568032B2 (en) 2007-04-03 2020-02-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10203873B2 (en) 2007-09-19 2019-02-12 Apple Inc. Systems and methods for adaptively presenting a keyboard on a touch-sensitive display
US10908815B2 (en) 2007-09-19 2021-02-02 Apple Inc. Systems and methods for distinguishing between a gesture tracing out a word and a wiping motion on a touch-sensitive keyboard
US10126942B2 (en) 2007-09-19 2018-11-13 Apple Inc. Systems and methods for detecting a press on a touch-sensitive surface
US11023513B2 (en) 2007-12-20 2021-06-01 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US10381016B2 (en) 2008-01-03 2019-08-13 Apple Inc. Methods and apparatus for altering audio output signals
US11079933B2 (en) 2008-01-09 2021-08-03 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US11474695B2 (en) 2008-01-09 2022-10-18 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US9865248B2 (en) 2008-04-05 2018-01-09 Apple Inc. Intelligent text-to-speech conversion
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US10108612B2 (en) 2008-07-31 2018-10-23 Apple Inc. Mobile device having human language translation capability with positional feedback
US10643611B2 (en) 2008-10-02 2020-05-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US10445424B2 (en) 2009-03-30 2019-10-15 Touchtype Limited System and method for inputting text into electronic devices
US20100250248A1 (en) * 2009-03-30 2010-09-30 Symbol Technologies, Inc. Combined speech and touch input for observation symbol mappings
US10809914B2 (en) * 2009-03-30 2020-10-20 Touchtype Limited System and method for inputting text into electronic devices
US10402493B2 (en) 2009-03-30 2019-09-03 Touchtype Ltd System and method for inputting text into electronic devices
US11614862B2 (en) * 2009-03-30 2023-03-28 Microsoft Technology Licensing, Llc System and method for inputting text into electronic devices
US9519353B2 (en) * 2009-03-30 2016-12-13 Symbol Technologies, Llc Combined speech and touch input for observation symbol mappings
US20190163361A1 (en) * 2009-03-30 2019-05-30 Touchtype Limited System and method for inputting text into electronic devices
US11416679B2 (en) 2009-03-30 2022-08-16 Microsoft Technology Licensing, Llc System and method for inputting text into electronic devices
US8416193B2 (en) * 2009-05-21 2013-04-09 Microsoft Corporation Method of visualizing an input location
US20100295788A1 (en) * 2009-05-21 2010-11-25 Microsoft Corporation Method of visualizing an input location
US10795541B2 (en) 2009-06-05 2020-10-06 Apple Inc. Intelligent organization of tasks items
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10475446B2 (en) 2009-06-05 2019-11-12 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US11080012B2 (en) 2009-06-05 2021-08-03 Apple Inc. Interface for a virtual digital assistant
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US20110035209A1 (en) * 2009-07-06 2011-02-10 Macfarlane Scott Entry of text and selections into computing devices
US9548050B2 (en) 2010-01-18 2017-01-17 Apple Inc. Intelligent automated assistant
US8903716B2 (en) 2010-01-18 2014-12-02 Apple Inc. Personalized vocabulary for digital assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US10706841B2 (en) 2010-01-18 2020-07-07 Apple Inc. Task flow identification based on user intent
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US8892446B2 (en) 2010-01-18 2014-11-18 Apple Inc. Service orchestration for intelligent automated assistant
US10126936B2 (en) 2010-02-12 2018-11-13 Microsoft Technology Licensing, Llc Typing assistance for editing
US9613015B2 (en) 2010-02-12 2017-04-04 Microsoft Technology Licensing, Llc User-centric soft keyboard predictive technologies
US10156981B2 (en) 2010-02-12 2018-12-18 Microsoft Technology Licensing, Llc User-centric soft keyboard predictive technologies
US9165257B2 (en) 2010-02-12 2015-10-20 Microsoft Technology Licensing, Llc Typing assistance for editing
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US9190062B2 (en) 2010-02-25 2015-11-17 Apple Inc. User profiling for voice input processing
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10049675B2 (en) 2010-02-25 2018-08-14 Apple Inc. User profiling for voice input processing
US10996762B2 (en) * 2010-04-05 2021-05-04 Tactile Displays, Llc Interactive display with tactile feedback
US10990183B2 (en) 2010-04-05 2021-04-27 Tactile Displays, Llc Interactive display with tactile feedback
US10990184B2 (en) 2010-04-13 2021-04-27 Tactile Displays, Llc Energy efficient interactive display with energy regenerative keyboard
US9002700B2 (en) 2010-05-13 2015-04-07 Grammarly, Inc. Systems and methods for advanced grammar checking
US9465793B2 (en) 2010-05-13 2016-10-11 Grammarly, Inc. Systems and methods for advanced grammar checking
US10387565B2 (en) 2010-05-13 2019-08-20 Grammarly, Inc. Systems and methods for advanced grammar checking
US8599152B1 (en) * 2010-06-25 2013-12-03 Sprint Communications Company L.P. Intelligent touch screen keyboard
US20110320204A1 (en) * 2010-06-29 2011-12-29 Lenovo (Singapore) Pte. Ltd. Systems and methods for input device audio feedback
US8595012B2 (en) * 2010-06-29 2013-11-26 Lenovo (Singapore) Pte. Ltd. Systems and methods for input device audio feedback
US10126836B2 (en) * 2010-08-18 2018-11-13 Lioudmila Dyer Software cursor positioning system
US8706750B2 (en) 2010-08-19 2014-04-22 Google Inc. Predictive query completion and predictive search results
US9723061B1 (en) 2010-08-19 2017-08-01 Google Inc. Transport protocol independent communications library
US11620318B2 (en) 2010-08-19 2023-04-04 Google Llc Predictive query completion and predictive search results
US8700653B2 (en) 2010-08-19 2014-04-15 Google Inc. Predictive query completion and predictive search results
US9953076B2 (en) 2010-08-19 2018-04-24 Google Llc Predictive query completion and predictive search results
US8812733B1 (en) 2010-08-19 2014-08-19 Google Inc. Transport protocol independent communications library
US9713774B2 (en) 2010-08-30 2017-07-25 Disney Enterprises, Inc. Contextual chat message generation in online environments
US20120078627A1 (en) * 2010-09-27 2012-03-29 Wagner Oliver P Electronic device with text error correction based on voice recognition data
US9075783B2 (en) * 2010-09-27 2015-07-07 Apple Inc. Electronic device with text error correction based on voice recognition data
US8719014B2 (en) * 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US20120110494A1 (en) * 2010-10-29 2012-05-03 Samsung Electronics Co., Ltd. Character input method using multi-touch and apparatus thereof
US20120127071A1 (en) * 2010-11-18 2012-05-24 Google Inc. Haptic Feedback to Abnormal Computing Events
US10235034B2 (en) * 2010-11-18 2019-03-19 Google Inc. Haptic feedback to abnormal computing events
WO2012074798A1 (en) * 2010-11-18 2012-06-07 Google Inc. Haptic feedback to abnormal computing events
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US20120169613A1 (en) * 2010-12-30 2012-07-05 International Business Machines Corporation Adaptive touch-sensitive displays and methods
US9891818B2 (en) * 2010-12-30 2018-02-13 International Business Machines Corporation Adaptive touch-sensitive displays and methods
US9552353B2 (en) 2011-01-21 2017-01-24 Disney Enterprises, Inc. System and method for generating phrases
US20120200508A1 (en) * 2011-02-07 2012-08-09 Research In Motion Limited Electronic device with touch screen display and method of facilitating input at the electronic device
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10102359B2 (en) 2011-03-21 2018-10-16 Apple Inc. Device access using voice authentication
US20120290303A1 (en) * 2011-05-12 2012-11-15 Nhn Corporation Speech recognition system and method based on word-level candidate generation
US9002708B2 (en) * 2011-05-12 2015-04-07 Nhn Corporation Speech recognition system and method based on word-level candidate generation
US20130311933A1 (en) * 2011-05-24 2013-11-21 Mitsubishi Electric Corporation Character input device and car navigation device equipped with character input device
US9465517B2 (en) * 2011-05-24 2016-10-11 Mitsubishi Electric Corporation Character input device and car navigation device equipped with character input device
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US11350253B2 (en) 2011-06-03 2022-05-31 Apple Inc. Active transport based notifications
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8762356B1 (en) * 2011-07-15 2014-06-24 Google Inc. Detecting change in rate of input reception
US10386960B1 (en) 2011-08-05 2019-08-20 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10345961B1 (en) 2011-08-05 2019-07-09 P4tents1, LLC Devices and methods for navigating between user interfaces
US10275087B1 (en) 2011-08-05 2019-04-30 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10338736B1 (en) 2011-08-05 2019-07-02 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10365758B1 (en) 2011-08-05 2019-07-30 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10656752B1 (en) 2011-08-05 2020-05-19 P4tents1, LLC Gesture-equipped touch screen system, method, and computer program product
US10649571B1 (en) 2011-08-05 2020-05-12 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10540039B1 (en) 2011-08-05 2020-01-21 P4tents1, LLC Devices and methods for navigating between user interface
US10664097B1 (en) 2011-08-05 2020-05-26 P4tents1, LLC Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
CN102999544A (en) * 2011-08-19 2013-03-27 迪士尼企业公司 Dynamically generated phrase-based assisted input
EP2560103A3 (en) * 2011-08-19 2013-10-30 Disney Enterprises, Inc. Dynamically generated phrase-based assisted input
US9245253B2 (en) 2011-08-19 2016-01-26 Disney Enterprises, Inc. Soft-sending chat messages
US9176947B2 (en) 2011-08-19 2015-11-03 Disney Enterprises, Inc. Dynamically generated phrase-based assisted input
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
US9514111B1 (en) 2011-08-31 2016-12-06 Google Inc. Providing autocomplete suggestions
US10963638B2 (en) * 2011-09-29 2021-03-30 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US20130091455A1 (en) * 2011-10-06 2013-04-11 Samsung Electronics Co., Ltd. Electronic device having touchscreen and character input method therefor
US8606331B2 (en) * 2011-10-20 2013-12-10 Huawei Device Co., Ltd. Soft keyboard display method and mobile terminal
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9032322B2 (en) 2011-11-10 2015-05-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US10108726B2 (en) 2011-12-20 2018-10-23 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US20130187857A1 (en) * 2012-01-19 2013-07-25 Research In Motion Limited Next letter prediction for virtual keyboard
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9134810B2 (en) * 2012-01-19 2015-09-15 Blackberry Limited Next letter prediction for virtual keyboard
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US20130222339A1 (en) * 2012-02-23 2013-08-29 Panasonic Corporation Electronic device
US9342148B2 (en) * 2012-02-23 2016-05-17 Panasonic Intellectual Property Management Co., Ltd. Electronic device for generating vibrations in response to touch operation
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US11069336B2 (en) 2012-03-02 2021-07-20 Apple Inc. Systems and methods for name pronunciation
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
EP2639673A1 (en) * 2012-03-16 2013-09-18 BlackBerry Limited In-context word prediction and word correction
US20130246329A1 (en) * 2012-03-16 2013-09-19 Research In Motion Limited In-context word prediction and word correction
US9223497B2 (en) * 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US20130285916A1 (en) * 2012-04-30 2013-10-31 Research In Motion Limited Touchscreen keyboard providing word predictions at locations in association with candidate letters
US20130285913A1 (en) * 2012-04-30 2013-10-31 Research In Motion Limited Touchscreen keyboard providing word predictions at locations in association with candidate letters
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US10331313B2 (en) 2012-04-30 2019-06-25 Blackberry Limited Method and apparatus for text selection
US10481690B2 (en) 2012-05-09 2019-11-19 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for media adjustment operations performed in a user interface
US11354033B2 (en) 2012-05-09 2022-06-07 Apple Inc. Device, method, and graphical user interface for managing icons in a user interface region
US11947724B2 (en) 2012-05-09 2024-04-02 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
US10175757B2 (en) 2012-05-09 2019-01-08 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for touch-based operations performed and reversed in a user interface
US10126930B2 (en) 2012-05-09 2018-11-13 Apple Inc. Device, method, and graphical user interface for scrolling nested regions
US10175864B2 (en) 2012-05-09 2019-01-08 Apple Inc. Device, method, and graphical user interface for selecting object within a group of objects in accordance with contact intensity
US10114546B2 (en) 2012-05-09 2018-10-30 Apple Inc. Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US11314407B2 (en) 2012-05-09 2022-04-26 Apple Inc. Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
US10592041B2 (en) 2012-05-09 2020-03-17 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
US9619076B2 (en) 2012-05-09 2017-04-11 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
US10191627B2 (en) 2012-05-09 2019-01-29 Apple Inc. Device, method, and graphical user interface for manipulating framed graphical objects
US10942570B2 (en) 2012-05-09 2021-03-09 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
US10095391B2 (en) 2012-05-09 2018-10-09 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
US11221675B2 (en) 2012-05-09 2022-01-11 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
US10042542B2 (en) 2012-05-09 2018-08-07 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
US10073615B2 (en) 2012-05-09 2018-09-11 Apple Inc. Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US9612741B2 (en) 2012-05-09 2017-04-04 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
US10775999B2 (en) 2012-05-09 2020-09-15 Apple Inc. Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US10775994B2 (en) 2012-05-09 2020-09-15 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
US10969945B2 (en) 2012-05-09 2021-04-06 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
WO2013169877A3 (en) * 2012-05-09 2014-03-13 Yknots Industries Llc Device, method, and graphical user interface for selecting user interface objects
US9886184B2 (en) 2012-05-09 2018-02-06 Apple Inc. Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
US11068153B2 (en) 2012-05-09 2021-07-20 Apple Inc. Device, method, and graphical user interface for displaying user interface objects corresponding to an application
US10782871B2 (en) 2012-05-09 2020-09-22 Apple Inc. Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
JP2016197429A (en) * 2012-05-09 2016-11-24 アップル インコーポレイテッド Device, method and graphical user interface for selecting user interface objects
US11023116B2 (en) 2012-05-09 2021-06-01 Apple Inc. Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
CN106201316A (en) * 2012-05-09 2016-12-07 苹果公司 For selecting the equipment of user interface object, method and graphic user interface
US11010027B2 (en) 2012-05-09 2021-05-18 Apple Inc. Device, method, and graphical user interface for manipulating framed graphical objects
US9971499B2 (en) 2012-05-09 2018-05-15 Apple Inc. Device, method, and graphical user interface for displaying content associated with a corresponding affordance
US9753639B2 (en) 2012-05-09 2017-09-05 Apple Inc. Device, method, and graphical user interface for displaying content associated with a corresponding affordance
US10884591B2 (en) 2012-05-09 2021-01-05 Apple Inc. Device, method, and graphical user interface for selecting object within a group of objects
US9823839B2 (en) 2012-05-09 2017-11-21 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
US10996788B2 (en) 2012-05-09 2021-05-04 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
US9996231B2 (en) 2012-05-09 2018-06-12 Apple Inc. Device, method, and graphical user interface for manipulating framed graphical objects
US10908808B2 (en) 2012-05-09 2021-02-02 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
US9990121B2 (en) 2012-05-09 2018-06-05 Apple Inc. Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
US10168826B2 (en) 2012-05-09 2019-01-01 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
US10496260B2 (en) 2012-05-09 2019-12-03 Apple Inc. Device, method, and graphical user interface for pressure-based alteration of controls in a user interface
US9965130B2 (en) 2012-05-11 2018-05-08 Empire Technology Development Llc Input error remediation
US20150134326A1 (en) * 2012-05-14 2015-05-14 Touchtype Limited Mechanism for synchronising devices, system and method
US10055397B2 (en) * 2012-05-14 2018-08-21 Touchtype Limited Mechanism for synchronising devices, system and method
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
WO2013170383A1 (en) * 2012-05-16 2013-11-21 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US9601113B2 (en) 2012-05-16 2017-03-21 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US20130325438A1 (en) * 2012-05-31 2013-12-05 Research In Motion Limited Touchscreen Keyboard with Corrective Word Prediction
US9128921B2 (en) * 2012-05-31 2015-09-08 Blackberry Limited Touchscreen keyboard with corrective word prediction
US10282033B2 (en) 2012-06-01 2019-05-07 E Ink Corporation Methods for updating electro-optic displays when drawing or writing on the display
US9513743B2 (en) * 2012-06-01 2016-12-06 E Ink Corporation Methods for driving electro-optic displays
US9996195B2 (en) 2012-06-01 2018-06-12 E Ink Corporation Line segment update method for electro-optic displays
US20130321278A1 (en) * 2012-06-01 2013-12-05 E Ink Corporation Methods for driving electro-optic displays
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US10146404B2 (en) 2012-06-14 2018-12-04 Microsoft Technology Licensing, Llc String prediction
US8972323B2 (en) 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
US10867131B2 (en) 2012-06-25 2020-12-15 Microsoft Technology Licensing Llc Input method editor application platform
US9921665B2 (en) 2012-06-25 2018-03-20 Microsoft Technology Licensing, Llc Input method editor application platform
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
WO2014006639A1 (en) * 2012-07-03 2014-01-09 N Sringeri OMPRAKASH User input error detection and correction system
US20150128049A1 (en) * 2012-07-06 2015-05-07 Robert S. Block Advanced user interface
US9779080B2 (en) * 2012-07-09 2017-10-03 International Business Machines Corporation Text auto-correction via N-grams
US9298274B2 (en) 2012-07-20 2016-03-29 Microsoft Technology Licensing, Llc String predictions from buffer
US9836213B2 (en) * 2012-07-27 2017-12-05 Symbol Technologies, Llc Enhanced user interface for pressure sensitive touch screen
US20140028606A1 (en) * 2012-07-27 2014-01-30 Symbol Technologies, Inc. Enhanced user interface for pressure sensitive touch screen
US9767156B2 (en) 2012-08-30 2017-09-19 Microsoft Technology Licensing, Llc Feature-based candidate selection
US20140067371A1 (en) * 2012-08-31 2014-03-06 Microsoft Corporation Context sensitive auto-correction
US9218333B2 (en) * 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction
US20140062886A1 (en) * 2012-08-31 2014-03-06 Research In Motion Limited Ranking predictions based on typing speed and typing confidence
US9063653B2 (en) * 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US9401139B2 (en) * 2012-09-24 2016-07-26 Lg Electronics Inc. Mobile terminal and controlling method thereof
US20140088955A1 (en) * 2012-09-24 2014-03-27 Lg Electronics Inc. Mobile terminal and controlling method thereof
US11379663B2 (en) * 2012-10-16 2022-07-05 Google Llc Multi-gesture text input prediction
US9165329B2 (en) 2012-10-19 2015-10-20 Disney Enterprises, Inc. Multi layer chat detection and classification
US20140129972A1 (en) * 2012-11-05 2014-05-08 International Business Machines Corporation Keyboard models using haptic feedaback and sound modeling
US10078384B2 (en) 2012-11-20 2018-09-18 Immersion Corporation Method and apparatus for providing haptic cues for guidance and alignment with electrostatic friction
JP2014102819A (en) * 2012-11-20 2014-06-05 Immersion Corp Method and apparatus for providing haptic cues for guidance and alignment with electrostatic friction
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US20170357713A1 (en) * 2012-12-05 2017-12-14 Facebook, Inc. Systems and methods for character string auto-suggestion based on degree of difficulty
US10289638B2 (en) * 2012-12-05 2019-05-14 Facebook, Inc. Systems and methods for character string auto-suggestion based on degree of difficulty
US20140189571A1 (en) * 2012-12-28 2014-07-03 Nec Casio Mobile Communications, Ltd. Display control device, display control method, and recording medium
US10078442B2 (en) 2012-12-29 2018-09-18 Apple Inc. Device, method, and graphical user interface for determining whether to scroll or select content based on an intensity theshold
US9857897B2 (en) 2012-12-29 2018-01-02 Apple Inc. Device and method for assigning respective portions of an aggregate intensity to a plurality of contacts
US10101887B2 (en) 2012-12-29 2018-10-16 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
US10915243B2 (en) 2012-12-29 2021-02-09 Apple Inc. Device, method, and graphical user interface for adjusting content selection
US10620781B2 (en) 2012-12-29 2020-04-14 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US10437333B2 (en) 2012-12-29 2019-10-08 Apple Inc. Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
US9959025B2 (en) 2012-12-29 2018-05-01 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
US9778771B2 (en) 2012-12-29 2017-10-03 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9965074B2 (en) 2012-12-29 2018-05-08 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9996233B2 (en) 2012-12-29 2018-06-12 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
US10185491B2 (en) 2012-12-29 2019-01-22 Apple Inc. Device, method, and graphical user interface for determining whether to scroll or enlarge content
US10175879B2 (en) 2012-12-29 2019-01-08 Apple Inc. Device, method, and graphical user interface for zooming a user interface while performing a drag operation
US10037138B2 (en) 2012-12-29 2018-07-31 Apple Inc. Device, method, and graphical user interface for switching between user interfaces
US11727212B2 (en) 2013-01-15 2023-08-15 Google Llc Touch keyboard using a trained model
US11334717B2 (en) 2013-01-15 2022-05-17 Google Llc Touch keyboard using a trained model
US20140237356A1 (en) * 2013-01-21 2014-08-21 Keypoint Technologies (Uk) Limited Text input method and device
US10254953B2 (en) * 2013-01-21 2019-04-09 Keypoint Technologies India Pvt. Ltd. Text input method using continuous trace across two or more clusters of candidate words to select two or more words to form a sequence, wherein the candidate words are arranged based on selection probabilities
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification
EP2759911A1 (en) * 2013-01-29 2014-07-30 BlackBerry Limited Apparatus and method pertaining to predicted-text derivatives
US9250728B2 (en) * 2013-01-29 2016-02-02 Blackberry Limited Apparatus and method pertaining to predicted-text entry
US20140215396A1 (en) * 2013-01-29 2014-07-31 Research In Motion Limited Apparatus and Method Pertaining to Predicted-Text Entry
CN103064629A (en) * 2013-01-30 2013-04-24 龙凡 Portable electronic equipment and method capable of dynamically regulating graphical controls
US9772691B2 (en) 2013-02-04 2017-09-26 Blackberry Limited Hybrid keyboard for mobile device
US9298275B2 (en) * 2013-02-04 2016-03-29 Blackberry Limited Hybrid keyboard for mobile device
US20140218297A1 (en) * 2013-02-04 2014-08-07 Research In Motion Limited Hybrid keyboard for mobile device
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2013-02-07 2023-04-25 Apple Inc. Voice trigger for a digital assistant
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US9547420B1 (en) * 2013-02-11 2017-01-17 Amazon Technologies, Inc. Spatial approaches to text suggestion
US9256784B1 (en) * 2013-03-11 2016-02-09 Amazon Technologies, Inc. Eye event detection
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
US9817477B1 (en) 2013-03-11 2017-11-14 Amazon Technologies, Inc. Eye event detection for electronic documents
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US20160266659A1 (en) * 2013-03-15 2016-09-15 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10742577B2 (en) 2013-03-15 2020-08-11 Disney Enterprises, Inc. Real-time search and validation of phrases using linguistic phrase components
US9697822B1 (en) 2013-03-15 2017-07-04 Apple Inc. System and method for updating an adaptive speech recognition model
US10303762B2 (en) 2013-03-15 2019-05-28 Disney Enterprises, Inc. Comprehensive safety schema for ensuring appropriateness of language in online chat
US9922642B2 (en) 2013-03-15 2018-03-20 Apple Inc. Training an at least partial voice command system
US9348429B2 (en) * 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US9547439B2 (en) 2013-04-22 2017-01-17 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9966060B2 (en) 2013-06-07 2018-05-08 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197856A3 (en) * 2013-06-07 2015-02-19 Benson Sherrie L Character actuator device for forming words
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9300784B2 (en) 2013-06-13 2016-03-29 Apple Inc. System and method for emergency calls initiated by voice command
WO2015002386A1 (en) 2013-07-05 2015-01-08 Samsung Electronics Co., Ltd. Method for restoring an autocorrected character and electronic device thereof
CN105378607A (en) * 2013-07-05 2016-03-02 三星电子株式会社 Method for restoring autocorrected character and electronic device thereof
EP3017351A4 (en) * 2013-07-05 2017-04-19 Samsung Electronics Co., Ltd. Method for restoring an autocorrected character and electronic device thereof
CN103399793A (en) * 2013-07-30 2013-11-20 珠海金山办公软件有限公司 Method and system for automatically switching similar content
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
EP3030982A4 (en) * 2013-08-09 2016-08-03 Microsoft Technology Licensing Llc Input method editor providing language assistance
US10656957B2 (en) 2013-08-09 2020-05-19 Microsoft Technology Licensing, Llc Input method editor providing language assistance
US10127222B2 (en) 2013-09-05 2018-11-13 At&T Mobility Ii Llc Method and apparatus for managing auto-correction in messaging
US9298695B2 (en) 2013-09-05 2016-03-29 At&T Intellectual Property I, Lp Method and apparatus for managing auto-correction in messaging
US10289302B1 (en) * 2013-09-09 2019-05-14 Apple Inc. Virtual keyboard animation
US11314411B2 (en) 2013-09-09 2022-04-26 Apple Inc. Virtual keyboard animation
US9665206B1 (en) 2013-09-18 2017-05-30 Apple Inc. Dynamic user interface adaptable to multiple input tools
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
EP2891968A1 (en) * 2014-01-06 2015-07-08 Sap Se Soft keyboard with keypress markers
US9652148B2 (en) * 2014-01-06 2017-05-16 Sap Se Soft keyboard with keypress markers
US20150193142A1 (en) * 2014-01-06 2015-07-09 Hongjun MIN Soft keyboard with keypress markers
US10223392B1 (en) * 2014-05-12 2019-03-05 Google Llc Providing suggestions within a document
US10901965B1 (en) * 2014-05-12 2021-01-26 Google Llc Providing suggestions within a document
US9959296B1 (en) * 2014-05-12 2018-05-01 Google Llc Providing suggestions within a document
US11907190B1 (en) * 2014-05-12 2024-02-20 Google Llc Providing suggestions within a document
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
CN103984499A (en) * 2014-05-19 2014-08-13 联想(北京)有限公司 Action command control method and electronic equipment
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10747397B2 (en) 2014-05-30 2020-08-18 Apple Inc. Structured suggestions
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US10083690B2 (en) 2014-05-30 2018-09-25 Apple Inc. Better resolution when referencing to concepts
US11575622B2 (en) * 2014-05-30 2023-02-07 Apple Inc. Canned answers in messages
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US11670289B2 (en) 2014-05-30 2023-06-06 Apple Inc. Multi-command single utterance input method
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US11895064B2 (en) 2014-05-30 2024-02-06 Apple Inc. Canned answers in messages
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10620787B2 (en) 2014-05-30 2020-04-14 Apple Inc. Techniques for structuring suggested contacts and calendar events from messages
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10714095B2 (en) 2014-05-30 2020-07-14 Apple Inc. Intelligent assistant for home automation
US10585559B2 (en) 2014-05-30 2020-03-10 Apple Inc. Identifying contact information suggestions from a received message
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10579212B2 (en) 2014-05-30 2020-03-03 Apple Inc. Structured suggestions
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US10565219B2 (en) 2014-05-30 2020-02-18 Apple Inc. Techniques for automatically generating a suggested contact based on a received message
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US11120220B2 (en) * 2014-05-30 2021-09-14 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10904611B2 (en) 2014-06-30 2021-01-26 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668024B2 (en) 2014-06-30 2017-05-30 Apple Inc. Intelligent automated assistant for TV user interactions
US9930167B2 (en) * 2014-07-07 2018-03-27 Verizon Patent And Licensing Inc. Messaging application with in-application search functionality
US20160006856A1 (en) * 2014-07-07 2016-01-07 Verizon Patent And Licensing Inc. Messaging application with in-application search functionality
US10657329B2 (en) * 2014-07-31 2020-05-19 Rakuten, Inc. System and method for recommending words for insertion based on timing factors
WO2016024805A1 (en) * 2014-08-12 2016-02-18 Samsung Electronics Co., Ltd. Method and apparatus for controlling performance of electronic device
US9971721B2 (en) 2014-08-12 2018-05-15 Samsung Electronics Co., Ltd. Method and apparatus for controlling performance of electronic device
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10684774B2 (en) * 2014-09-09 2020-06-16 Touchtype Limited Systems and methods for multiuse of keys for virtual keyboard and generating animation associated with a key
US20160070469A1 (en) * 2014-09-09 2016-03-10 Touchtype Ltd. Systems and methods for multiuse of keys for virtual keyboard and generating animation associated with a key
US10431204B2 (en) 2014-09-11 2019-10-01 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9986419B2 (en) 2014-09-30 2018-05-29 Apple Inc. Social reminders
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US11281357B2 (en) * 2014-10-30 2022-03-22 Snap-On Incorporated Methods and systems for taxonomy assist at data entry points
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US11556230B2 (en) 2014-12-02 2023-01-17 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US10032071B2 (en) * 2014-12-23 2018-07-24 Lenovo (Singapore) Pte. Ltd. Candidate handwriting words using optical character recognition and spell check
US20160179941A1 (en) * 2014-12-23 2016-06-23 Lenovo (Singapore) Pte. Ltd. Candidate handwriting words using optical character recognition and spell check
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US10338772B2 (en) 2015-03-08 2019-07-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10268341B2 (en) 2015-03-08 2019-04-23 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10268342B2 (en) 2015-03-08 2019-04-23 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10402073B2 (en) 2015-03-08 2019-09-03 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10613634B2 (en) 2015-03-08 2020-04-07 Apple Inc. Devices and methods for controlling media presentation
US10387029B2 (en) 2015-03-08 2019-08-20 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10860177B2 (en) 2015-03-08 2020-12-08 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US11112957B2 (en) 2015-03-08 2021-09-07 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10067645B2 (en) 2015-03-08 2018-09-04 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9645709B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US10180772B2 (en) 2015-03-08 2019-01-15 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US10311871B2 (en) 2015-03-08 2019-06-04 Apple Inc. Competing devices responding to voice triggers
EP3270299A4 (en) * 2015-03-10 2019-01-09 Shanghai Chule (CooTek) Information Technology Co., Ltd Forward input error correction method and apparatus based on context
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US10599331B2 (en) 2015-03-19 2020-03-24 Apple Inc. Touch input cursor manipulation
US10222980B2 (en) 2015-03-19 2019-03-05 Apple Inc. Touch input cursor manipulation
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US11054990B2 (en) 2015-03-19 2021-07-06 Apple Inc. Touch input cursor manipulation
US11550471B2 (en) 2015-03-19 2023-01-10 Apple Inc. Touch input cursor manipulation
EP3276484A4 (en) * 2015-03-23 2018-12-12 Sony Corporation Information processing system and information processing method
US10726197B2 (en) * 2015-03-26 2020-07-28 Lenovo (Singapore) Pte. Ltd. Text correction using a second input
US20160283453A1 (en) * 2015-03-26 2016-09-29 Lenovo (Singapore) Pte. Ltd. Text correction using a second input
US10152208B2 (en) 2015-04-01 2018-12-11 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US9602729B2 (en) 2015-06-07 2017-03-21 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US11835985B2 (en) 2015-06-07 2023-12-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9674426B2 (en) 2015-06-07 2017-06-06 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11231831B2 (en) 2015-06-07 2022-01-25 Apple Inc. Devices and methods for content preview based on touch input intensity
US11025565B2 (en) * 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10303354B2 (en) 2015-06-07 2019-05-28 Apple Inc. Devices and methods for navigating between user interfaces
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10455146B2 (en) 2015-06-07 2019-10-22 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10841484B2 (en) 2015-06-07 2020-11-17 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9706127B2 (en) 2015-06-07 2017-07-11 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10705718B2 (en) 2015-06-07 2020-07-07 Apple Inc. Devices and methods for navigating between user interfaces
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
CN107636568A (en) * 2015-06-07 2018-01-26 苹果公司 Response of the personalization prediction to instant message
US11681429B2 (en) 2015-06-07 2023-06-20 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US11240424B2 (en) 2015-06-07 2022-02-01 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9916080B2 (en) 2015-06-07 2018-03-13 Apple Inc. Devices and methods for navigating between user interfaces
US20160364140A1 (en) * 2015-06-15 2016-12-15 Gary Shkedy Prompted touchscreen for teaching user input and data entry
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10209884B2 (en) 2015-08-10 2019-02-19 Apple Inc. Devices, Methods, and Graphical User Interfaces for Manipulating User Interface Objects with Visual and/or Haptic Feedback
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10963158B2 (en) 2015-08-10 2021-03-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11182017B2 (en) 2015-08-10 2021-11-23 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10698598B2 (en) 2015-08-10 2020-06-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10754542B2 (en) 2015-08-10 2020-08-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US10884608B2 (en) 2015-08-10 2021-01-05 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US11327648B2 (en) 2015-08-10 2022-05-10 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10162452B2 (en) 2015-08-10 2018-12-25 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10203868B2 (en) 2015-08-10 2019-02-12 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11740785B2 (en) 2015-08-10 2023-08-29 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11418929B2 (en) 2015-08-14 2022-08-16 Apple Inc. Easy location sharing
US20170052792A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Alerting a user of an indicated impact of a command
US9740508B2 (en) * 2015-08-21 2017-08-22 International Business Machines Corporation Alerting a user of an indicated impact of a command
US20170083090A1 (en) * 2015-08-25 2017-03-23 International Business Machines Corporation Determining errors in forms using eye movement
US9658691B2 (en) * 2015-08-25 2017-05-23 International Business Machines Corporation Determining errors in forms using eye movement
US20170060232A1 (en) * 2015-08-25 2017-03-02 International Business Machines Corporation Data quality for forms completed on mobile computing devices
US9563271B1 (en) * 2015-08-25 2017-02-07 International Business Machines Corporation Determining errors in forms using eye movement
US9746920B2 (en) * 2015-08-25 2017-08-29 International Business Machines Corporation Determining errors in forms using eye movement
US20170060236A1 (en) * 2015-08-25 2017-03-02 International Business Machines Corporation Determining errors in forms using eye movement
US9658690B2 (en) * 2015-08-25 2017-05-23 International Business Machines Corporation Determining errors in forms using eye movement
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US11048873B2 (en) 2015-09-15 2021-06-29 Apple Inc. Emoji and canned responses
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US20170115877A1 (en) * 2015-10-23 2017-04-27 Chiun Mai Communication Systems, Inc. Electronic device and method for correcting character
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10354652B2 (en) 2015-12-02 2019-07-16 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10416884B2 (en) * 2015-12-18 2019-09-17 Lenovo (Singapore) Pte. Ltd. Electronic device, method, and program product for software keyboard adaptation
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11853647B2 (en) 2015-12-23 2023-12-26 Apple Inc. Proactive assistance based on dialog communication between devices
WO2017131251A1 (en) * 2016-01-27 2017-08-03 주식회사 노타 Display device and touch input processing method therefor
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
WO2017161243A1 (en) * 2016-03-18 2017-09-21 Elwha Llc Systems and methods for providing haptic feedback regarding software-initiated changes to user-entered text input
US10585494B1 (en) * 2016-04-12 2020-03-10 Apple Inc. Auxiliary text display integrated into a keyboard device
US10417826B2 (en) * 2016-04-15 2019-09-17 Beijing Pico Technology Co., Ltd. Information input method in 3D immersive environment
US20170301138A1 (en) * 2016-04-15 2017-10-19 Beijing Pico Technology Co., Ltd. Information input method in 3d immersive environment
WO2017184218A1 (en) * 2016-04-20 2017-10-26 Google Inc. Search query predictions by a keyboard
US9965530B2 (en) * 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US10140017B2 (en) 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
CN107305585A (en) * 2016-04-20 2017-10-31 谷歌公司 The search inquiry prediction made by keyboard
US10222957B2 (en) 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US20170308292A1 (en) * 2016-04-20 2017-10-26 Google Inc. Keyboard with a suggested search query region
US20170308586A1 (en) * 2016-04-20 2017-10-26 Google Inc. Graphical keyboard with integrated search features
US9720955B1 (en) 2016-04-20 2017-08-01 Google Inc. Search query predictions by a keyboard
US9977595B2 (en) * 2016-04-20 2018-05-22 Google Llc Keyboard with a suggested search query region
US10078673B2 (en) 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US9946773B2 (en) 2016-04-20 2018-04-17 Google Llc Graphical keyboard with integrated search features
US10305828B2 (en) * 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10553215B2 (en) 2016-09-23 2020-02-04 Apple Inc. Intelligent automated assistant
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
WO2018097936A1 (en) * 2016-11-22 2018-05-31 Microsoft Technology Licensing, Llc Trained data input system
US10095684B2 (en) 2016-11-22 2018-10-09 Microsoft Technology Licensing, Llc Trained data input system
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10599915B2 (en) 2017-01-19 2020-03-24 International Business Machines Corporation Providing suggested content based on user detected gesture
US9959868B1 (en) * 2017-03-09 2018-05-01 Wisconsin Alumni Research Foundation Conversational programming interface
US11899904B2 (en) 2017-04-12 2024-02-13 Microsoft Technology Licensing, Llc. Text input system with correction facility
US10332518B2 (en) 2017-05-09 2019-06-25 Apple Inc. User interface for correcting recognition errors
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US10847142B2 (en) 2017-05-11 2020-11-24 Apple Inc. Maintaining privacy of personal information
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US10789945B2 (en) 2017-05-12 2020-09-29 Apple Inc. Low-latency intelligent automated assistant
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US11217255B2 (en) 2017-05-16 2022-01-04 Apple Inc. Far-field extension for digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US11675829B2 (en) 2017-05-16 2023-06-13 Apple Inc. Intelligent automated assistant for media exploration
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US11900057B2 (en) * 2017-07-31 2024-02-13 Apple Inc. Correcting input based on user context
US20220366137A1 (en) * 2017-07-31 2022-11-17 Apple Inc. Correcting input based on user context
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
USD859453S1 (en) 2017-08-01 2019-09-10 Google Llc Display screen with an animated graphical user interface
USD917535S1 (en) 2017-08-01 2021-04-27 Google Llc Display screen with an animated graphical user interface
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10878189B2 (en) * 2017-12-27 2020-12-29 Yandex Europe Ag Method for correcting a mistyped word resulting from at least one of an inaccurate keyboard input and a wrong keyboard layout and system implementing thereof
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
USD859436S1 (en) 2018-01-31 2019-09-10 Salesforce.Com, Inc. Display screen or portion thereof with graphical user interface
USD855063S1 (en) 2018-01-31 2019-07-30 Salesforce.Com, Inc. Display screen or portion thereof with graphical user interface
USD841668S1 (en) * 2018-01-31 2019-02-26 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US11182553B2 (en) * 2018-09-27 2021-11-23 Fujitsu Limited Method, program, and information processing apparatus for presenting correction candidates in voice input system
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11501504B2 (en) 2018-12-20 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for augmented reality
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US20210020169A1 (en) * 2019-01-25 2021-01-21 Interactive Solutions Corp. Presentation Support System
US11922929B2 (en) * 2019-01-25 2024-03-05 Interactive Solutions Corp. Presentation support system
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11888791B2 (en) * 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US20220021631A1 (en) * 2019-05-21 2022-01-20 Apple Inc. Providing message response suggestions
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11023202B2 (en) 2019-05-29 2021-06-01 International Business Machines Corporation Enhanced autocorrect features using audio interface
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11360739B2 (en) 2019-05-31 2022-06-14 Apple Inc. User activity shortcut suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
US11620046B2 (en) 2019-06-01 2023-04-04 Apple Inc. Keyboard management user interfaces
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11842044B2 (en) 2019-06-01 2023-12-12 Apple Inc. Keyboard management user interfaces
US11347943B2 (en) 2019-06-01 2022-05-31 Apple Inc. Mail application features
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11709593B2 (en) * 2019-09-18 2023-07-25 Samsung Electronics Co., Ltd. Electronic apparatus for providing a virtual keyboard and controlling method thereof
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US20210117048A1 (en) * 2019-10-17 2021-04-22 Microsoft Technology Licensing, Llc Adaptive assistive technology techniques for computing devices
US11915671B2 (en) 2019-10-17 2024-02-27 Microsoft Technology Licensing, Llc Eye gaze control of magnification user interface
US20230333669A1 (en) * 2019-10-18 2023-10-19 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US11893164B2 (en) * 2019-10-18 2024-02-06 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US11227103B2 (en) 2019-11-05 2022-01-18 International Business Machines Corporation Identification of problematic webform input fields
US11295088B2 (en) 2019-11-20 2022-04-05 Apple Inc. Sanitizing word predictions
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11544448B2 (en) 2020-07-31 2023-01-03 Grammarly, Inc. Computer-implemented presentation of synonyms based on syntactic dependency
WO2022026893A1 (en) * 2020-07-31 2022-02-03 Grammarly Inc. Computer-implemented presentation of synonyms based on syntactic dependency
US11853689B1 (en) 2020-07-31 2023-12-26 Grammarly, Inc. Computer-implemented presentation of synonyms based on syntactic dependency
US11416136B2 (en) 2020-09-14 2022-08-16 Apple Inc. User interfaces for assigning and responding to user inputs
US11836344B2 (en) * 2020-11-05 2023-12-05 Capital One Services, Llc Systems for real-time intelligent haptic correction to typing errors and methods thereof
US11579730B2 (en) * 2020-11-05 2023-02-14 Capital One Services, Llc Systems for real-time intelligent haptic correction to typing errors and methods thereof
US20230168804A1 (en) * 2020-11-05 2023-06-01 Capital One Services, Llc Systems for real-time intelligent haptic correction to typing errors and methods thereof
US20220137785A1 (en) * 2020-11-05 2022-05-05 Capital One Services, Llc Systems for real-time intelligent haptic correction to typing errors and methods thereof
US20230029420A1 (en) * 2021-07-26 2023-01-26 Microsoft Technology Licensing, Llc Maps auto-complete through query expansion

Also Published As

Publication number Publication date
US20110202836A1 (en) 2011-08-18
US10698604B2 (en) 2020-06-30
US9165257B2 (en) 2015-10-20
US10156981B2 (en) 2018-12-18
US10126936B2 (en) 2018-11-13
US20140310213A1 (en) 2014-10-16
CN102141889A (en) 2011-08-03
US20160103812A1 (en) 2016-04-14
US8782556B2 (en) 2014-07-15
US20170206002A1 (en) 2017-07-20
US20190012076A1 (en) 2019-01-10
CN102141889B (en) 2017-03-01
US20190087084A1 (en) 2019-03-21
US20110202876A1 (en) 2011-08-18
US9613015B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
US20110201387A1 (en) Real-time typing assistance
US10996851B2 (en) Split virtual keyboard on a mobile computing device
KR102262453B1 (en) Emoji for text predictions
US10346478B2 (en) Extensible search term suggestion engine
US9547439B2 (en) Dynamically-positioned character string suggestions for gesture typing
US8370393B2 (en) Process and apparatus for selecting an item from a database
US8701050B1 (en) Gesture completion path display for gesture-based keyboards
CN103777774B (en) The word error correction method of terminal installation and input method
US20150169537A1 (en) Using statistical language models to improve text input
US20170336969A1 (en) Predicting next letters and displaying them within keys of a graphical keyboard
CN108845754B (en) Non-resident text input method for mobile virtual reality head-mounted display
WO2017176335A1 (en) Dynamic key mapping of a graphical keyboard
CN111880668A (en) Input display method and device and electronic equipment
US11899904B2 (en) Text input system with correction facility
Alharbi et al. The effects of predictive features of mobile keyboards on text entry speed and errors
Martin et al. Performance of finger-operated soft keyboard with and without offset zoom on the pressed key
Bhatti et al. Mistype resistant keyboard (NexKey)
CN114356118A (en) Character input method, device, electronic equipment and medium
Paek et al. Multimodal feedback and guidance signals for mobile touchscreen keyboards
US20160357411A1 (en) Modifying a user-interactive display with one or more rows of keys
Tarvainen Beginner Performance with the GKOS Chorded Keyboard

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PAEK, TIMOTHY S.;ALMOG, ITAI;BADGER, ERIC NORMAN;AND OTHERS;SIGNING DATES FROM 20100616 TO 20100617;REEL/FRAME:024568/0940

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034564/0001

Effective date: 20141014

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE