IPhone UI study : keyboard text input and gestures mock up - download here

Updated !!!
Somebody in stated in a comment he got an exception. I finally found the cause of it, and updated the application. Download the new version below, and be sure to refresh your browser cache

While looking at a few you tube videos about the iPhone, especially regarding the keyboard/text input, I was thinking : hey, why wouldn't I try to replicate the iPhone UI behavior ? I don't think it  should be that hard ...

Being able to use your fingers on a PDA instead of a stylus would improve the usability of handhelds a lot.

So yesterday I started developing, and after a few hours I had basic gesture recognition, and I got a few ideas on how to do the keyboard mapping.

Finally this is the result :

The demo mainly consists of two parts :

The gestures :

  • Draw a gesture in the designated area.
  • Define a name in the text box and press the 'Add...' button to add a gesture to the list
  • Every time you draw a gesture the closest match to the registered gestions will be visible under 'Last recognized gesture'

The text input :

  • Click on the buttons to form a word as quick as you can. For most larger words you do not need a lot of precision while typing.
  • When the selected word in the list box is OK press <Space> or <Enter>
  • In the example above I wanted to type the word "STARTED", but i missed a few buttons. Still, the algorithm can figure out that while I typed "QTATTEX" I actually meant started.
  • Click once on the list box with suggestions to select the next item in the list.
  • If you want to select the literal text (bottom left), just click on it. The literal will be added to your text.
  • Press <CLR> to re-enter a word.

You can download the demo here :

IphoneMockup1.zip (399,67 KB) 

New version on 2007/7/5 !! 
- fixed the Unhandled exception when a gesture exists of a single point click.

This demo runs on windows/.NET 2.0, and the supported language is English only atm.
If I manage to find a pocketpc I will try to port it to the compact framework.

Please let me know what you think of this application by posting a comment.