Early text entry systems utilized a full keyboard that contained a letter for each letter of the alphabet. A user entered words by simply pressing the key corresponding to each letter of the word that the user wanted to enter. With the increasing importance of portable devices, a full keyboard is often not available because of its large size. Therefore, mobile devices have relied on alternative text entry methods.
A simple text entry method is multi-tap. In multi-tap methods, the keyboard is typically a three-by four-key keypad containing the numbers 0-9, and the symbols # and *. A portion of the alphabet is typically printed under each key (beginning with the number “2”) in a three-letter sequence as follows: ABC under two key, DEF under three key, and so on. A user enters text by repeatedly pressing the same key to cycle through the letters associated with that key. For example, pressing the three key once would indicate the letter D, twice would indicate the letter E, and three times would indicate the letter F. Pausing for a set period of time will automatically choose the current letter in the cycle, and advance a cursor to allow the user to enter the next letter.
More complex text entry methods attempt to predict the text that the user intends as the user presses keys. For example, T9 (which stands for Text on nine keys) is a predictive text technology for mobile phones, developed by Tegic Communications. T9's objective is to make it easier to type text messages on small mobile devices. T9 allows a user to enter words with a single key press for each letter, as opposed to approaches such as multi-tap. T9 combines the groups of letters found on each phone key with a fast-access dictionary of words. It looks up all the possible words corresponding to the sequence of key presses in the dictionary. The word displayed on the screen is not valid until the whole text is typed. Since T9 tries to find matching words while typing, the suggested word may change after each key press. If T9 displays a word that is not the one the user is looking for, the user can press a NEXT key to scroll through the possible matches. Other predictive text entry methods store common combinations of words and modify what the user is entering when the user has entered two or more words.
Although prediction can improve text entry, current predictive methods are specially suited to traditional uses of text, such as writing sentences in a mobile text message. Thus, current methods assume that the user may be trying to input any word that is in a dictionary used by the method. In addition, current methods may wait for a user to enter a space or punctuation to determine that the user has completed entering a word. As a result, current predictive methods can be time-consuming and input-intensive.
The following disclosure describes a text entry system that incorporates information from a specific domain to reduce the allowable words that can be spelled by ambiguous user input and simplify text entry. Sometimes, a user is entering text in a specific domain in which additional information is available to limit the possible words. However, current text entry methods fail to take advantage of this additional information. In one embodiment, for example, the text entry system receives an indication identifying a key pressed by a user. The key may represent multiple characters such that the character intended by the user is ambiguous. For example, on a typical cell phone in the United States, the number two key represents the letters A, B, and C, the number three key the letters D, E, and F, and so on. When the user presses the number two key, it is ambiguous as to whether the user intends to spell a word with the letter A, B, or C. The text entry system identifies words from a specific domain that can be spelled with any of the multiple characters represented by the key press. For example, if the domain is a game that involves spelling words, then the rules of the game are applied to limit the possible words that the user can spell. The text entry system then displays an indication to the user highlighting the letters of the identified words represented by the key press. For example, if the domain is a game having a game board containing letters, then the text entry system highlights the letters on the game board that are part of the identified words. Thus, the text entry system reduces the possible words indicated by the user input based on domain-specific information.
The following paragraphs describe various elements of the text entry system in further detail.
In some embodiments, the text entry system operates in a game domain. For example, one game that uses the text entry system is Bookworm Mobile from PopCap Games. In Bookworm Mobile, a game board contains letter tiles arranged in a layout of rows and columns (e.g., 7×7). Each column is vertically shifted by half the height of a tile from the columns next to it such that any particular letter may be adjacent to up to six other letter tiles if it is in the middle of the game board and fewer if it is at the edges. The letters on the game board are randomly selected, and the object of the game is to spell words by following a path through adjacent letter tiles.
The rules of the game provide additional information that the text entry system uses to narrow the possible words that the user may intend to spell. For example, although some words may be valid according to a dictionary, if there are no adjacent tiles containing the letters of those words, then the words are not allowable words for the game and the text entry system can rule them out.
In some embodiments, the text entry system provides multiple methods of text entry. For example, the text entry system may use a single-tap text entry method as described above by default, but offer a multi-tap text entry method as well. Some users prefer multi-tap text entry, and spelling some words may be easier when the user can explicitly enter each letter. Thus, the text entry system may offer both methods to the user. As another example, the text entry system may offer an onscreen cursor and directional keys that the user can use to navigate around the game board and select a specific letter tile. This text entry method provides information that not only limits the possible words, but also limits the words to a specific location on the game board (e.g., in the instance where the same word could be spelled in two different locations on the game board). In place of cursor keys, the text entry system may also receive similar input from a touch screen. The text entry system may allow the user to switch text entry methods at any time, such that the user could spell some words using one method and other words using another method.
In some embodiments, the text entry system uses the domain rules in conjunction with a dictionary. For example, the text entry system may provide an indication of words that both are found in the dictionary and adhere to the game rules. In this case, the text entry system selects the union of the words in the dictionary and the words adhering to the game rules. Thus, the text entry system provides a potentially narrower list of word options than either the dictionary or the game rules alone provide. Where references are made herein to matching words in a dictionary, those of ordinary skill in the art will recognize that the text entry system is in many instances matching partial words (e.g., the first few characters of a word) to corresponding partial words in the dictionary. Thus, if one permutation of characters based on user-pressed keys is C-H-E, even though these letters alone do not match a word, the text entry system will still match these letters to the word “cheap” in the dictionary, recognizing that the user may enter additional characters. In some embodiments, the text entry system continues to accept characters from the user until a key is pressed to indicate that the user wants to complete the current word.
In some embodiments, the text entry system displays all words that are allowable in the specified domain, but highlights words differently based on whether they are also in the dictionary. For example, Bookworm Mobile shows arrows between possible letter tiles indicated by user input as the user spells a word. If the letters form a word that is in the dictionary, then the arrows are green, and if not, then the arrows are red. In this way, the user can distinguish between sequences of letters that simply correspond to the entered keys and sequences that correspond to valid words.
In some embodiments, the text entry system selects one among several possible words as a currently selected word. Initially, the text entry system may simply select the first word in a list of possible words. For example, if the user has entered three keys that could spell three different words on the game board from left to right, then the text entry system may select the leftmost word. Alternatively, the text entry system may use game rules to select a currently selected word. For example, the game rules may associate a possible score with each word that can be spelled, and the text entry system may automatically select the word with the highest associated score. The text entry system may also receive input to change the currently selected word. For example, many cell phone keypads contain a cursor keypad for moving up, down, left, and right. When the user presses a cursor-moving key, then the text entry system changes the currently selected word to the next possible word in the direction indicated by the cursor key.
The figures described below illustrate various features of the embodiments of the text entry system described above.
The computing device on which the text entry system is implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives). The memory and storage devices are computer-readable media that may be encoded with computer-executable instructions that implement the text entry system, which means a computer-readable medium that contains the instructions. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communication link. Various communication links may be used, such as the Internet, a local area network, a wide area network, a point-to-point dial-up connection, a cell phone network, and so on.
Embodiments of the text entry system may be implemented in various operating environments that include personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, digital cameras, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. The computer systems may be cell phones, personal digital assistants, smart phones, personal computers, programmable consumer electronics, digital cameras, and so on.
The text entry system may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
The text entry system may also be implemented in a gambling or casino environment. For example, the system may be part of an automatic gaming machine such as a slot machine or kiosk. The system may award money in place of points or may establish a conversion rate between points and money. The system may also award points based on certain achievements such as finishing a board, spelling a word of a high length, and so forth. In addition, the odds of receiving a monetary award may be adjustable (e.g., by an administrator), such as to comply with governmental gaming regulations related to odds. These adjustments may affect, for example, the likelihood of receiving particular desirable combinations of letters on the game board. Moreover, gaming machines may be networked such that multiple players can interact (e.g., competitively or cooperatively) or share a gaming experience (e.g., a chance to win a pool of money). Those of ordinary skill in the art will recognize that the system can be easily adapted to these and other environments.
From the foregoing, it will be appreciated that specific embodiments of the text entry system have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. For example, although the game domain has been described, many other domains that can limit the possible words a user is entering can use similar methods. For example, in some environments the possible words may be limited to medical or legal terminology. In addition, although mobile devices have been described, the above methods can be used with any type of device or in any situation in which a user enters text without indicating an explicit input for each letter. Accordingly, the invention is not limited except as by the appended claims.