Everyone is trying to get rid of the keyboard because:
1. they take up a lot of space,
2. typically require a desk/not mobile friendly,
3. only supports fast entry of a limited number of characters,
4. are far slower than the theoretical best (for instance people can talk much faster than they can type),
5. many of the non-alpha keys require the user to look away from the monitor.
> Having well made key-switches and a good placement is probably the best thing next to just reading what I mean from my mind.
In theory there are input devices that allow far more characters, at higher speed, with fewer errors. Keyboards have stuck around both because they are a great technology and because of path dependency. They aren't going to stick around forever.
[1]: http://www.dbcusa.org/index.php/About-Us/ [2]: http://en.wikipedia.org/wiki/Words_per_minute [3]: http://www.youtube.com/watch?v=Cj7OpQEu5-w
That gap closes very quickly if you have to say anything other than words (versus typing it). Saying numbers or symbols is far slower than typing them, as is spelling out something a computer doesn't know how to spell. I'd bet that, unless you had an optimized "dialect" for coding or a language designed to be efficiently spoken, a keyboard will beat a human speaking code every time.
Even being very generous with the computer's ability to interpret open/close parentheses and brackets intuitively, having different terms for initial capitals versus all-caps, and assuming automatic indentation and newlines:
"include s t d i o dot h, blank line, int main paren int argc comma char pointer argv bracket bracket paren brace printf paren doublequote capital Hello world exclamation mark backslash n doublequote paren semicolon return zero semicolon brace"
Programming is a special case, but I think programmers can cope. The languages might have to change. IIRC, C still uses the ";" instead of newlines, because that was optimal for punch cards, but more modern languages often don't.
Most people just want to churn out emails and tweets, though.
The big issue is, people use much more complex grammar than when they write. It's fine if you're listening (since the human brain is really good at parsing spoken words), but reading what the average person will produce on a speech recognition system will be brutal.
Example: It's amazing how people speak - they use split phrases, and they have long run-on sentences; often with embedded subclauses; which go on and on and are really quite complex but then they trail off when they forget what they were talking about. Oh yeah, I think it was how speech recognition is might have unexpected consequences or something.
Think "include I-O, method int main take int argument count, character pointer values. Body print Hello world, Exclamation mark. Edit line 6, capital w for world. Move line 8. Return zero. Compile and run."
Start adding in gesture and stuff and you can get rid of the 'moves' and 'edits'.
And definitely stop thinking in the old-fashioned C way of truncating every variable name to some bizarrely short name and start speaking properly. Most other languages have given up this readability disaster already.
More or less what this guy did: http://youtu.be/8SkdfdXWYaI
It seems to me that languages with a more regular syntax are going to have a dramatic advantage here.
Might be fixable in a language with a limited variety of symbols such as a concatenative language, or a somewhat reimagined smalltalk-ish language. Then the few common symbols get assigned to e.g. click consonants.
Having also used VR in the mid-90's (Virtuality systems etc), I am pretty excited about the movement in VR (oculus) and AR (meta) at the moment. Interesting times!
I'd wager that I can enter computer code at a higher information rate via keyboard than speaking. "Open-brace" takes a lot longer to say than to type.
while it would still take longer to say, for example koi or roi for ( or ), it reduces it significantly, thus making it into a viable option for programming input
Having well made key-switches and a good placement is probably the best thing next to just reading what I mean from my mind.