Swype is an awesome software which makes typing in mobile phones using the qwerty keyboard very easy. This is how it looks:
I was just thinking how this could be implemented. It boils down to a string sub-sequence problem. The path traced by the user consists of all the characters in a word. This is an ideal situation, but many a times, we do not take care of all the characters in between and miss many of them.
Some of the characteristics i have considered:
We can use a number of such characteristics and increase the chances of suggesting the right word. One such hint i can think of is:
Groups like bnb, bgh, kli, dsd strongly suggest that there is a turn which signifies a character which has a higher probability of being present in the word.
The results for the same were pretty good.
The basic version was working within an hour. I must say that the string split method in python is very well thought of. split( delimiter, 1) returns a the string before and after the first match.