

Gesture Typing - cast42
http://nbviewer.ipython.org/url/norvig.com/ipython/Gesture%20Typing.ipynb

======
Analog24
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].

[1]:
[http://sangaline.com/blog/swype_optimization/index.html](http://sangaline.com/blog/swype_optimization/index.html)

[2]:
[https://github.com/sangaline/dodona](https://github.com/sangaline/dodona)

[3]:
[http://sangaline.com/blog/optimizing_for_swype/FITALY.html](http://sangaline.com/blog/optimizing_for_swype/FITALY.html)

------
bdarnell
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](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).

~~~
adamio
A circular layout might be easy to use with gesture, something like a rotary
phone with radius jumps

~~~
bdarnell
This loopy gesture-based keyboard won some of the typing speed contests back
in the PalmOS days:
[https://mrl.nyu.edu/projects/quikwriting/](https://mrl.nyu.edu/projects/quikwriting/)

~~~
chinpokomon
I just rediscovered my overlay last week.

------
joelgrus
These Norvig notebooks are reliably epic.

~~~
sabalaba
Wow, I didn't realize that this was part of a series until I saw your comment,
Thanks! For everybody else who's interested:

[http://norvig.com/ipython/](http://norvig.com/ipython/)

If you don't have ipython notebook installed, you can view them by copying the
URL (without the protocol) into:

[http://nbviewer.ipython.org/url/<URL>](http://nbviewer.ipython.org/url/<URL>)

------
caffeinewriter
That was an absolutely fascinating read. Great detail and cool solutions.

------
azdle
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.

[0]
[https://en.wikipedia.org/wiki/Simulated_annealing](https://en.wikipedia.org/wiki/Simulated_annealing)

------
tricolon
I was a little disappointed by the lack of attention to detail:

> the A key is half way between the Q and W in the horizontal direction

I'm not sure that's been strictly true of any keyboard I've ever used.

~~~
taco_emoji
I think you're thinking of hardware keyboards, which are totally irrelevant
here - look at the screenshot at the top of the page.

------
netheril96
I don't quite get it. Is this much different from after the fact spelling
autocorrect in effect?

