T9 (predictive text)
T9 was a predictive text technology for mobile phones (specifically those that contain a 3x4 numeric keypad), originally developed by Tegic Communications, now part of Nuance Communications. T9 stands for Text on 9 keys.
T9 was used on phones from Verizon Wireless, NEC, Nokia, Samsung Electronics, Siemens, Sony Ericsson, Sanyo, Sagem and others, as well as PDA's such as Avigo during the late 1990s. Its main competitors during its heyday were iTap created by Motorola, SureType created by RIM, Eatoni's LetterWise and WordWise, and Intelab's Tauto.
During the smartphone revolution, T9 slowly became obsolete, since newer phones had full touchscreen keyboards. T9 is still used on certain inexpensive phones without a touchscreen, but those are becoming rarer and rarer.
T9's objective was to make it easier to enter text messages. It allowed words to be formed by a single keypress for each letter, which was an enormous improvement on the multi-tap approach used in conventional mobile phone text entry at the time, in which several letters were associated with each key, and selecting one letter often requires multiple keypresses.
T9 combined the groups of letters on each phone key with a fast-access dictionary of words. It then would look up in the dictionary all words corresponding to the sequence of keypresses and order them by frequency of use. As T9 "gained familiarity" with the words and phrases the user commonly uses, it would speed up the process by offering the most frequently used words first and then letting the user access other choices with one or more presses of a predefined "Next" key.
The dictionary was expandable. After introducing a new word, the next time the user would try to produce that word, T9 would add it to the predictive dictionary. The user database (UDB) could be expanded via multi-tap. The implementation of the user database was dependant on the version of T9 and how T9 was actually integrated on the device. Some phone manufacturers supplied a permanent user database, while others would merely do so for the duration of the session.
Some T9 implementations featured smart punctuation. This feature allowed the user to insert sentence and word punctuation using the '1'-key. Depending on the context, smart punctuation inserts sentence punctuation (period or 'full stop') or embedded punctuation (period or hyphen) or word punctuation (apostrophe in can't, won't, isn't, and the possessive 's). Depending on the language, T9 also supported word breaking after punctuation to support clitics such as l' and n' in French and 's in English.
The UDB was an optional feature that allows words that were explicitly entered by the user to be stored for future reference. The number of words stored depended on the implementation and the language.
In later versions of T9, the order of the words presented was adapted to the usage pattern. For instance, in English, 4663 matches "good", "home", "gone", "hood", etc. Such combinations are known as textonyms; e.g., "home" is referred to as a textonym of "good". T9 was encoded to prefer the word that its programmers determined to be the most common "textonym", such as "good" over "home" or "gone", "hand" over "game", or "bad" over "cad" or "ace". Reliance on this led to users simply assuming that T9 would select the appropriate word.
On rare occurrences, the hard-coded preferred word was not actually the more common word, especially given the context of casual text messaging. Just one example is that, inexplicably, "slaves" was considered more common than "plates". This led to bizarre messages such as "I'm out of slaves, can you please buy some at the store before the party?". Many users learned to interpret bizarre messages like this (and others, such as "What time is the hand starting?" instead of "What time is the game starting?") in light of T9 textonyms, but as T9 was not universal, the chances for immediate misinterpretation were high, as a multi-tap writing system would never confuse "slaves" (77775552888337777) and "plates" (755528337777).
When the user would tend to use "home" more often than "good", eventually the two words switched position, to where "home" was presented as the default option instead. Information about common word combinations could also be learned and stored for future predictions (so, "I'm feeling" followed by 4663 would be written as "good" instead of "home, whereas "I went back" and 4663 would be "home", not "good").
For words entered by the user, word completion could be enabled. When the user entered matching key-presses, in addition to words and stems, the system also provided completions.
In later versions of T9, the user could select a primary and secondary language and access matches from both languages. This enables users to write messages in their native as well as a foreign language.
Some implementations learn commonly used word pairs and provide word prediction (e.g. if one often writes "eat food", after entering "eat" the phone will suggest "food", which can be confirmed by pressing Next).
T9 could automatically recognize and correct typing/texting errors, by looking at neighboring keys on the keypad to ferret out an incorrect keypress. For example, the word "testing" would be entered with the key combination "8378464". Entering the same number but with two incorrect keypresses of neighboring keys, e.g., "8278494" results in T9 suggesting the words "tasting" (8278464), "testing" (8378464), and "tapping" (8277464).
In order to achieve compression ratios of close to 1 byte per word, T9 uses an optimized algorithm maintains word order and partial words (also known as stems) but because of this compression, it over-generates words that are sometimes visible as "junk words". This is a side effect of the requirements for small database sizes on the lower end embedded devices.
On a phone with a numeric keypad, each time a key (1-9) is pressed (when in a text field), the algorithm returns a guess at what letters are most likely for the keys pressed to that point. For example, to enter the word 'the', one would press 8 then 4 then 3, and the display would display 't' then 'th' then 'the'. If the less common word 'fore' were intended (3673) the predictive algorithm may select 'Ford'. Pressing the 'next' key (typically the '*' key) might bring up 'dose', and finally 'fore'. If 'fore' is selected, then the next time the user presses the sequence 3673, fore would be more likely to be the first word displayed. If the word "Felix" was intended, however, when entering 33549, the display shows 'E', then 'De', 'Del', 'Deli', and 'Felix.' This is an example of a letter changing while entering words.
Many smart keyboards now exist, such as Swype or Swiftkey, that have taken the idea of T9 and married it with the advanced touchscreen technology found in Android phones and iPhones. These advances have made T9 completely obsolete in newer cellphones, since it was predicated around the use of a keypad with nothing besides numbers, the asterisk and the pound key. Many features, such as predictive text, have been adopted by and improved on by future generations of keyboard software. Notwithstanding advances in technology, T9 is still used in certain brands of antique cellphones.