The video is long, but I did not regret watching it. Here David Mackay, an information theorist, explains how one may input text through space limited devices. If only I could explain theoretical concepts as lucidly and as well as he does.
What interests me is that, Dasher, when adequately augmented, is even more appropriate for inputting programming text than say English. Though English has been modeled by (stochastic) context free grammars, its only an approximation. Whereas programming languages, fit it to a 't'. Mackay mentions that English has an entropy of around 1 bit per letter and that a finger is usually capable of generating 14 bits per second. Source code, I believe, has significantly less entropy than English (this depends on the language of course).
I think lisp is a good language to target because the actual layout of the source code does not matter and can be automated. Also because it is such a thin layer above the AST and hence an ideal match for simple context free grammars. It is also advantageous that the first token of an s-expression has an overwhelming possibility of being drawn from a set of few key possibilities. Making the language's bit rate low.
There are several extensions that are possible. For instance given a code base, learn the coding style and adapt the model to it (including the style of generating identifier names). For new code bases, one may learn the model on the fly.
Finally, I like his analogy. Writing as an activity has had two dominant forms, (i) pushing buttons (ii) scribbling. Dasher is writing by navigating/driving efficiently through a library of all possible text. Depending on the style of your intended text one may re-arrange that library.
The only drawback I see is that it requires your attention, unlike say typing. But that might after all be a good thing.
Its released under GPL and available for free on iPhone as well http://www.inference.phy.cam.ac.uk/dasher/MobileDasher.html