Xah Lee, , …,
There are many keyboard layouts. Some claim to be better than Dvorak layout. (See: Dvorak, Maltron, Colemak, NEO, Bépo, Turkish-F, Keyboard Layouts Fight!.) For languages other than English, then improving on Dvorak is significant. However, for English languages, even for programers, improving on Dvorak seems to be a lost cause. This page tells you why.
Patrick Gillespie wrote a web app at Source patorjk.com. The app is very simple and visual oriented. It takes a input text, and computes simple distances and finger frequency among 5 layouts: {QWERTY, Dvorak, Colemak, Capewell, Arensito}. Plus, it also generates a new layout that is most optimal for the input text you used.
Major Problem: The site only compare simple measures such as distances, row positions, and finger ease. It does not take consideration of ease of digraph, hand alternation, etc. (e.g. try to type “mommy you ok” in QWERTY.)
Michael Capewell, author of the Capewell layout, wrote a software Keyboard Evolve, that uses evolutionary algorithms to arrive at a optimal layout. michaelcapewell.com Keyboard Evolve. Here's a quote:
Unfortunately, I have yet to find the holy grail of keyboard layout evolution parameters! Things are complicated by there being a fundamental difference in how curved, ergonomic keyboards and plain, rectangular keyboards are used — the way I see things, they have different home “rows.” This program works best for ergonomic keyboards. I'm in the process of finding the right balance between the two…
The moral here is: What keyboard hardware you use has more impact to hand health than layout.
carPalx (at Source mkweb.bcgsc.ca) is a site dedicated to studying efficiency of keyboard layouts. The site is created by a Martin Krzywinski, a bioinformatics scientist.
The study assumes English language, and assumes the standard PC keyboard physical key layout. It uses computation and statistics to find a best model of efficiency measurements, then evaluate the different layouts. carPalx is the most thorough study on keyboard layout efficiency and quite technical. You can spend several days studying the site.
When you study keyboard layout as carPalx did, one thing quickly becomes obvious. The difficulty in creating the “most efficient” isn't about computing distances or gathering statistics, but finding the proper metrics (i.e. what to measure with respect to a goal).
According to him, the layouts from best to worst are: QFMLWY, QGMLWB, QGMLWY, Colemak, Dvorak, Capewell, Arensito, QWERTY. See: Full Optimization - Q*MLW* Layouts @ Source mkweb.bcgsc.ca.
carPalx site does not evaluate the Maltron layout, because the e key is on Maltron's thumb cluster, not on a standard PC keyboard. Also, carPalx's program does not seem to search layout spaces where the {, . /} keys on QWERTY are re-arranged. This, and the assumption of the PC physical key layout, seem to be a major flaw of his search for optimal layout.
Keyboard layout studies on the web always assume the common PC keyboard's physical key layout.
It's easy to write computer programs to compute the various frequencies and distances of the PC keyboard's keys. It is also easy to create a keyboard layout. But it is difficult to invent a different physical key layout that fixes some serious PC keyboard problems. Thus, all online layout studies simply focus on shuffling of the keys of the PC Keyboard.
The PC keyboard physical-keys layout has several major flaws with respect to ergonomics. For example, the {Enter, Tab ⇆, Backspace}, are most frequently used keys but requires the pinky to press. In particular, the {Tab ⇆, Enter, right Shift, Backspace} keys require the pinky to stretch over 1 or more keys. (See: Keyboard Hardware Design Flaws.)
You might think that these keys are not used that often. But most keyboarding activities are not straight input of letter characters, especially in computer programing. Most of the time you are editing. You use editing keys such as { ↑, ↓, ←, →, Backspace, Enter, Tab ⇆}, more often than some of the letter keys. From statistical study of emacs commands, the percentage of editing related key presses is 48% of all key presses! (See: Emacs's Command Frequency.)
Another problem of PC keyboard's physical-keys layout is that the right hand has 5 more keys letter/symbol keys than the left, and all of them are pressed by stretched pinky. Especially important for programers, some of these keys are: {[, ], {, }, =, +}. These are used more often than z, for example. Also, the key alignment are unnaturally jagged.
From my recent experience, if you just type the Enter key and Tab ⇆ keys all day, just these two keys and nothing else, on a standard PC keyboard, with hands at touch-typing positions, say do it once every second, for 8 hours, you'll get RSI fast. (See: Left Wrist side-to-side Motion Pain; vi Esc key Syndrome.)
Many programers all claim to type all day. They may be sitting in front of the computer all day, but the time their fingers actually dance on keyboard is probably less than 1 hour per day.
Contrast data-entry clerks. They are the real typists. Their fingers actually type, continuously, for perhaps 5 hours per day.
It is important to get a sense of how much you actually type. This you can do by logging you keystrokes using a software.
Let's assume a pro typist sustains at only 50 wpm in real life work day. 50 wpm is 250 strokes per min, or 15k per hour. Suppose she works 8 hours a day, and assume just 3 hours actually typing (not counting meeting, lunch, phone, errants, etc). 15k × 3 = 45k chars per day. With this figure, you can get a sense of how many hours you actually type per day.
I sit in front of computer on average 13 hours per day for the past several years. I program and write several blogs. My actual typing is probably double of average day-job programers. From my emacs command frequency log for 6 months in 2008, it seems i only type 17k strokes per day. That means, i only type 70 minutes a day!
I was quite surprised how low my own figure is. But thinking about it… it make sense. Even though we sit in front of computer all day, but the actual typing is probably some small percentage of that. Most of the time, you have to lunch, run errands, browse web, read docs, chat on phone, run to the bathroom. Perhaps only half of your work time is active coding or writing (emails; docs). Of that duration, perhaps majority of time you are digesting the info on screen. Your whole day's keystrokes probably can be done in less than 20 minutes if you just type continuously.
If your typing doesn't come anywhere close to a data-entry clerk, then any layout “more efficient” than Dvorak is practically meaningless.
vi users often develop RSI due to vi Esc key Syndrome. Emacs users may develop the Emacs Pinky Syndrome due to key combinations.
From a study of Emacs's Command Usage Frequency, statistically more than 50% keystrokes are for editing commands (e.g. moving cursor, deleting words). For most programers, less than 50% of keystrokes are entering letters.
So, if you are a programer, the layout for editing commands are perhaps even more important than the layout of the keys.
If you are using standard straight PC keyboard or laptop keyboard, it would be far more significant in efficiency and hand health to switch to a ergonomic keyboard than using some improved Dvorak layout.
For some choices of keyboard that improve the PC keyboard physical key layout, see: Ergonomic Keyboards Gallery.
I think the primary reason people might choose Colemak over Dvorak is because 2 things:
If you have a problem with the Undo Cut Copy Paste keys on Dvorak, the easiest solution is just map them to {F1 F2 F3 F4}. You should do this anyway, because key-combination strains your hand.
On Apple and Linux, there are Dvorak layout but with QWERTY modifiers. This way, you don't have to relearn your shortcuts muscle memory.
As for the painful transition for those already touch-type QWERTY, i don't think there's a way out. I was QWERTY typist employed as a data-entry clerk in 1992. It took me 2 months to relearn touch typing on Dvorak, and i remember the process is extremely painful. (See: Dvorak Keyboard Layout and My Experiences) If you are going to retrain your muscle memory, you might as well go with the more universal Dvorak. It is a ANSI Standard; builtin in Windows and Mac OS X, with wide support from all keyboard related devices today. I think it's silly to save one week of relearning for something you use for the rest of your life.
Designing a keyboard layout is one of those things certain nerdy engineer or hobbyist do. It's like a purity trap. They smell “design” and “efficiency” and they fell into the hole. They spend months, years, on something that has little practical implication. See the story on how another wanted to improve on Colemak: Colemak vs Workman.