The complexity of gesture typing opens the door to a lot of interesting questions that aren't relevant for "normal" typing. I really enjoyed reading through this notebook, it's very clear and presented well. What's more impressive is that most of the questions were answered with less than ~150 lines of code!
In regards to the 6th question (one left only partially answered), some of you might find this blog post (posted to HN by my collegue a few months ago) that attempts to answer this question in a lot more detail (and with a lot more computing power) [1].
An aside: we made a python library (specifically intended for use in iPython) to help facilitate answering the exact types of questions posed in this article. A bit more time was spent on performance efficiency and visualization but there were some interesting functions in this notebook that would be a welcomed addition to the library [2].
Although the main point of our work was to determine the least confusing keyboard layout for gesture typing, we designed the library to make it quick and easy to answer all types of questions relating to keyboard input. As an example, at the request of an HN commenter on our previous post, we took a quick look at how the average path length on a random keyboard layout compares to the FITALY keyboard. Shameless plug: the question only took 5-10 minutes to code up and answer using iPython with the library mentioned above ([2]). In case anyone is interested you can find that notebook here [3].
This is cool. And the experience of gesture typing is so different from touch-typing on a physical keyboard that I think it might be easier to experiment with or learn new keyboard layouts in this environment.
Way back in the PalmPilot days I used the "Fitaly" keyboard layout (wow, their site is still up and hasn't changed in years: http://www.fitaly.com/fitaly/fitaly.htm) and it was fairly easy to learn (by point of comparison, I've never been able to make the transition from qwerty to dvorak on a real keyboard).
The minimal work load average problem here seems like it would be a great candidate for simulated annealing. [0] It gets rid of the local maximum problem that the author mentions, without adding a significant amount of additional complexity to the computations.
In regards to the 6th question (one left only partially answered), some of you might find this blog post (posted to HN by my collegue a few months ago) that attempts to answer this question in a lot more detail (and with a lot more computing power) [1].
An aside: we made a python library (specifically intended for use in iPython) to help facilitate answering the exact types of questions posed in this article. A bit more time was spent on performance efficiency and visualization but there were some interesting functions in this notebook that would be a welcomed addition to the library [2].
Although the main point of our work was to determine the least confusing keyboard layout for gesture typing, we designed the library to make it quick and easy to answer all types of questions relating to keyboard input. As an example, at the request of an HN commenter on our previous post, we took a quick look at how the average path length on a random keyboard layout compares to the FITALY keyboard. Shameless plug: the question only took 5-10 minutes to code up and answer using iPython with the library mentioned above ([2]). In case anyone is interested you can find that notebook here [3].
[1]: http://sangaline.com/blog/swype_optimization/index.html
[2]: https://github.com/sangaline/dodona
[3]: http://sangaline.com/blog/optimizing_for_swype/FITALY.html