Perm url with updates: http://xahlee.org/kbd/dvorak_vs_colemak.html
Keyboard Layout: Dvorak vs Colemak: is it Worthwhile to Improve the Dvorak Layout?
Xah Lee, 2010-08-30, …, 2011-06-10
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.
Which Layout is the Most Efficient?
PAT's Keyboard Layout Analyzer
Patrick Gillespie wrote a web app at http://patorjk.com/keyboard-layout-analyzer/. 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, written in C++, 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 http://mkweb.bcgsc.ca/carpalx/) 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 default PC keyboard key layout. It uses computation and statistics to find a best model of efficiency measurements, then evaluate the different layouts. This is the most thorough study 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 http://mkweb.bcgsc.ca/carpalx/?full_optimization.
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 seems to be a major flaw of their test.
Does Improving on Dvorak Do Anything?
No Consideration of Hardware Key Layout Problems
Keyboard layout studies on the web always assume the common PC keyboard hardware's key layout.
PC keyboard 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. (See: Computer Keyboards Gallery.)
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 requires 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 arrow keys, 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. 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 5 seconds, for 8 hours, you'll get RSI fast. (See: Left Wrist side-to-side Motion Pain; vi Esc key Syndrome.)
Just How Much Do You Type?
Many programers all claim to type 8 or 10 hours a 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 6 hours per day.
It is important 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 sustain at 60 wpm. 60 wpm is 300 strokes per min, or 18k per hour. Suppose she works 8 hours a day, and assume just 3 hours actually typing. 18k × 3 = 54k 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 or triple 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's 31% of the data-entry clerk scenario above. Or, i only type ONE hour a day!
I was quite surprised how low my own figure is. But thinking about it… it make sense. Even we sit in front of computer all day, but the actual typing is probably some miniscule 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 typing 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.
Ergonomic Keyboard is More Important!
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: Fancy Ergonomic Keyboards You Didn't Know Existed.
Keyboard Shortcut Layout is More Important!
vi users often develop RSI due to Esc key Syndrome (or, Left Wrist side-to-side Motion Pain). 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.
Problems with Cut Copy Paste Keys?
I think the primary reason people might choose Colemak over Dvorak is because 2 things:
- ① The Z X C V keys remain unchanged as in QWERTY, so keyboard shortcuts for Undo, Cut, Copy, Paste are unchanged and convenient.
- ② Half of the keys on Colemak remain unchanged from QWERTY, so it alleviate the painful problem of transition from QWERTY.
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.
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.
Desiging a keyboard layout is one of those things certain nerdy engineering or hobbyist types do. It's like a 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.