Benjamin Waters

The Dvorak Keymap: Mechanical Efficiency, Cognitive Efficiency, Extensibility


1. History of the Two Keymaps

2. Mechanical Efficiency

2.1 Use of the Home Keys

2.2 Alternation Between the Two Hands

2.3 Grouping of Digraphs

2.4 Rolling

3. Cognitive Efficiency

4. Extensibility

5. Other Languages


The advantage of the Dvorak keymap over QWERTY rests firstly on its much greater mechanical efficiency; secondly, on the cognitive efficiency that results from the elegance of the design; thirdly, on the fact that this elegance makes it easier to map extended character sets to the keymap without causing confusion.

1. History of the Two Keymaps

QWERTY
`1234567890[]
',.pyfgcrl/=\
aoeuidhtns-
:qjkxbmwvz

The QWERTY keymap, on some version of which you are probably typing right now, is a disastrous relic of the 1860s. Its design and the reasons for its continued use are elegantly summed up by these two entries from Eric Raymond’s Jargon File (4.4.4):

QWERTY: The QWERTY layout is a fine example of a fossil. It is sometimes said that it was designed to slow down the typist, but this is wrong; it was designed to allow faster typing—under a constraint now long obsolete. In early typewriters, fast typing using nearby type-bars jammed the mechanism. So Scholes fiddled the layout to separate the letters of many common digraphs.

Dvorak
`1234567890[]
',.pyfgcrl/=\
aoeuidhtns-
:qjkxbmwvz

Fossil: a misfeature that becomes understandable only in historical context, as a remnant of times past retained so as not to break compatibility.

The Dvorak Keymap, on the other hand, was designed in the 1930s, when the mechanical limitations that had determined the design of QWERTY no longer applied, making it possible to design a layout based on research into the optimal way for the human to type, rather than the optimal way for a typewriter to be typed on.

2. Mechanical Efficiency

2.1 Use of the Home Keys

English Words Typable Using:QWERTYDvorak
the top row: 267 7
the middle row: 68 778
the bottom row: 0 0

The issue: every typing tutorial explains that the key to touch typing is to keep your hands above the home keys. Not putting the most-used keys on the middle row then has a doubly bad effect: firstly it increases the time taken to type by forcing the hands to move away from their home position; secondly, constantly moving the hands away from the home keys makes it more difficult to get into the habit of staying on the home keys. Shifting the most-used letters onto the home keys on the other hand has the opposing doubly positive effect: typing is faster because the letters you need are closer to hand; and typing constantly on the home keys reinforces the correct hand position. I have stolen some objective data on this from Sean Burke (see his QWERTY date and dvorak data) who has analysed a dictionary file to find out exactly how many words can be typed using various parts of the keyboard on a QWERTY or a Dvorak keymap.

QWERTY fails, not surprisingly. The pointer finger of your right hand gets a J, which wasn’t even a truly independent letter of the Latin alphabet until a couple of hundred years ago. It and K are somewhat more useful if you are typing in German, but even then, they don’t qualify for home-key status. The fact that the semicolon is on a home key stupid beyond reckoning. On the whole middle row there is only one vowel. If you look at Sean Burke’s data, you can see that with QWERTY, the top row of letters is in fact the de facto home row, i.e. the row of letters where your fingers are going to have to spend the most time.

Dvorak is much more successful because Dvorak designed his keymap by putting the five vowels on one side of the middle row, and the five most common consonants (in English) on the other side. This ensures that you can spend most of your time typing on the home keys. This is why it allows 11 times as many words to be typed on the middle row as QWERTY: about, also, an, and, as, at, had, has, he, his, in, is, it, its, not, on, one, said, she, than, that, the, their, this, to, are all on the middle row of the Dvorak keymap.

2.2 Alternation Between the Two Hands

English Words Typable Using:QWERTYDvorak
the left side: 765 101
the right side: 226 0
alternating left-right-left: 896 3 078
the left hand on the top row: 18 1
the right hand on the top row: 19 0
the left hand on the middle row: 18 8

The issue: using two hands together is faster than using just one hand. Therefore, an optimal key layout should ensure that most words are typed by way of alternating use of the two hands.

QWERTY, as shown by data once again from Sean Burke’s page, does not in any way actively encourage alternating use of the two hands, and is in fact also left-hand heavy. The typist is slowed by the fact that they are often left using only one hand.

Dvorak puts all 5 vowels on the home keys of the left hand, and given that words consist of alternating vowels and consonants, this effectively ensures that typing is divided evenly between the two hands and that they operate in an alternating fashion. The data reflect this.

2.3 Grouping of Digraphs

The Issue here is that if you put commonly used digraphs together on the keyboard, you can learn to type them almost as a single letter, thereby gaining a considerable speed advantage.

QWERTY not only doesn’t put digraphs together; it was designed to keep them apart. Hitting two keys that are next to one another almost simultaneously was precisely the event that was guaranteed to jam a traditional typewriter.

Dvorak on the other hand makes it possible to type ch, th, nt, and sh almost as if they were single letters, by grouping them together optimally.

2.4 Rolling

The Issue: it is easier to drum your fingers on a table if you start with your little finger and drum toward your thumb. On the keyboard, the optimal hand movement is also one that starts with the outer fingers, moves through the word toward the inner fingers, and ends with the thumb on the space bar. This kind of rolling motion has the effect of keeping the hands close to, and centered on, the keyboard. The opposing motion lifts the hands off the keyboard and away from the center.

QWERTY makes no conscious effort to encourage any such action.

Dvorak consciously arranges keys, especially the digraphs, so that the begin at the outside and end on letters in the middle, creating the right kind of motion in the hands.

3. Cognitive Efficiency

The problem of moving the fingers in the right can be made more or less difficult on the mechanical level, but it can also be made more or less difficult on a cognitive level. The brain has to remember where the keys are, and tell the fingers what to do to reproduce key combinations at speed. People seem to mostly concentrate on the mechanical aspects of the keyboard design, but in fact the cognitive aspect may be just as important. Being able to type quickly is not just about moving the fingers more quickly, but being able to use your brain to move them more efficiently.

A device for reproducing language is arranged in a conceptually elegant way if it reflects the structures of the language. QWERTY fails here, perhaps worse than it fails in its mechanical optimization; there are essentially no rules for deducing where a letter should be, on the basis of its properties. Dvorak on the other hand gives us some very clear rules: we know that the five vowels are on the home keys of the left hand; that the most used consonants are on the home keys of the right hand; that the more obscure letters will be in more obscure regions of the keyboard. We are able to organize the keymap mentally by dividing it into vowels, basic consonants, the rest.

I suspect that people tend to miss this cognitive elegance of the layout because if we mechanically arrange the keys for optimal efficiency for a particular language, we are likely to get a large amount of cognitive efficiency for free, firstly because in optimizing for mechanics we are already having to make the layout reflect the structures of the language; and secondly, because by making certain key progressions maximally efficient mechanically, we encourage the brain to think of and store these multiple-letter progressions as single units. When we start to use the new layout.

But this cognitive efficiency of the layout is important, because mechanical efficiency and cognitive efficiency are mutually reinforcing. It is this aspect of the Dvorkak layout that is of the most benefit to poor typists, and those who are just learning. But most of us are poor tyists, and this is largely because QWERTY significantly lifts the bar on being able to type well. To type on the QWERTY keymap without looking is simply too hard: on the mechanical level because QWERTY works hard at moving the fingers away from the home keys; on the cognitive level because it is difficult to visualize.

4. Extensibility

The more use we make of different languages that use character sets that go beyond the basic ASCII characters, the more useful it becomes to be able to type all of these characters directly, using combinations of the alt and shift keys. It’s nice to be able to map them to the keyboard.

The basic problem is how to mentally organize the further information regarding where the extended characters are arranged on the keyboard. A QWERTY keymap allows us to map at least cognates to cognates—we can map the German ß to s, Spanish ñ to n, French ç to c, and remember where they are. But what to do with 20 extra vowels—ä ö ë ü ï á ó é ú í à ò è ù ì â ô ê û î ? Dvorak gives us, beyond the one to one correspondences, the general principles of arranging the vowels (a) all on the left side (b) in a row. The basic vowel/consonant split helps us order the chaos. If a keymap is well organized, it is possible to overlay it with other similar well-organized keymaps and the brain can still cope. For example:

Download: Eurodvorak.kmap
no modifier
`1234567890[]
',.pyfgcrl/=\
aoeuidhtns-
:qjkxbmwvz
+shift
~!@#$%^&*(){}
"<>PYFGCRL?+|
AOEUIDHTNS_
;QJKXBMWVZ
+right-alt
œâôêûî
áóéúíøåç
äöëüïðæþñß
àòèùì·
+right-alt +shift
ŒÂÔÊÛÎ
ÁÓÉÚÍØÅÇ
ÄÖËÜÏÐÆÞѧ
ÀÒÈÙÌ«»

The first two keymaps I show here are just the standard Dvorak layout, except that I have swapped ; and : which is an optimization for using vim. The 5 basic vowels under the left hand form the basis for over-mapping basically the entire left half of the keyboard with an extended set of characters: alt gives the five basic vowels umlauts (diaeresis), moving the hand down a row gives me the same five vowels with accent grave, up a row the same five five vowels with accent acute, up two rows with accent circumflex. This leaves, for the whole of Latin 9, just 4 vowel pairs: æ ½, ã õ, å ø, ý ÿ. By arranging all a-o pairs down the middle and the y’s in the corner, we have a single, easily memorizable block that takes care of the entire vowel set of Latin 9. Next, we just need to map some other consonants to the most obvious places: ñ maps onto n; ç maps onto c; ß maps onto s, with § on top of that; µ maps onto m; ð and þ are mapped to d and t (also logical). Remaining useful symbols are grouped together and attached to some of the remaining keys, like the em-dash and en-dash that are mapped over the hyphen.

Optimally, each person will in future have a keymap that they have personally tailored to their own needs, and on whatever computer they are on, they can just load it up from some URL. Each person would presumably put that portion of the Unicode character set on their keyboard that suited their needs. As long as everyone learns a well structured keymapping it becomes easy to remember the location of all keys on the keyboard, and it is then trivial to change the keymap through software, without having to use a special keyboard. Positioning the vowels all in the one place is really the key here, because variations on the Latin characters are by a very large majority inflections on vowels, even in cases like Romanized Japanese and Chinese.

5. Other Languages

Dvorak is optimized for English but English has significant similarities to most of the other languages that use a Latin character set. And a keymap optimized for some language will generally do a better job that a keymap optimized for no language. The goal should ultimately be to make a keymap optimized for each language, based on Dvorak principles. Consider the following aspects of Dvorak optimization:

1 Most-Used Letters are on the Middle Row: Optimizations made for English letter frequency will carry over to other languages insofar as these are similar to English. Since English is a kind of a cross between a Germanic and a Romance language, it shows reasonably high correlation to other Western European languages. But statistical analysis would need to be done to determine how to fill the middle keyboard row in a way that would be absolutely optimal for each language: q and z, the least frequent English letters, are both well used in French and German respectively. That the 5 vowels are common enough to deserve to be home keys is true for all languages that use a Latin script.

2 All 5 Vowels on the Home Keys of the Left Hand: Human languages alternate vowels with consonants; this is how they build syllables. A keyboard with all the vowels on one side will thus help to spread the typing evenly over both sides of the keyboard and ensure that the hands work in a roughly alternating manner. This should be a central aspect of keymap design for all languages in which vowels are actually written (not, of course, for languages like Arabic and Hebrew which omit them). Someone would just need to decide on optimal way to deal with the extra vowels, i.e. Umlauts and accents.

3 Letters Arranged to Produce Correct Hand Movement: This is probably the area that would require the greatest effort in internationalization. Once again, many letter combinations that occur in English are likely to occur elsewhere, because of either a direct relation between the languages (as with the languages of Western Europe) or because of borrowing of a European style writing system (as when the Chinese and Japanese romanizations adopt digraphs like sh and ch). Probably Dvorak doesn’t do a bad job for other languages (probably still much better than QWERTY) but this is the area where a great deal of work can be done to make a keymap fit the language extremely well.

Benjamin Waters | 2007-10-16