Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Swipe typing on a touch screen [1] is analogous to T9 [2] text entry on a traditional keypad. In fact, they were invented by the same group [3].

On numeric keypads, each button corresponds to ~3 letters. Basic text entry involves pushing each button multiple times to select the index of the letter you want[4], then waiting to confirm the selection before moving to the next character.

T9 sped up this process by allowing you to press each button once. It would determine which word you meant by comparing all possible combinations of letters that could be created from the buttons you pressed against a dictionary of known words.

Swype provides a similar extension to QWERTY touchscreen keyboards. With Swype, you drag your finger across a QWERTY grid, creating a path. This path starts on the first letter of the intended word and crosses all letters in the word, in order. It also crosses lots of letters that aren't in the word, or are out of position. The 'secret sauce' lies in how to compare the ordered set of keys defined by the path to a predefined dictionary and produce a meaningful prediction of the intended word.

I haven't implemented such an algorithm myself. However, you can imagine how it might be done. For example, acute angles in the path probably occur when you reach a letter you want, then angle off to collect the next letter. This provides a signpost that can be combined with the initial letter to reduce the possible words down to the set that starts with the initial letter and includes the key with the acute angle.

[1] First introduced by Swype: https://en.wikipedia.org/wiki/Swype

[2] https://en.wikipedia.org/wiki/T9_(predictive_text)

[3] http://www.huffingtonpost.com/2009/11/24/swype-vs-iphone-typ...

[4] e.g. the "3" key corresponds to "DEF", so press "3" twice to enter "E"



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: