Colemak Mod-DH

A Colemak mod for more comfortable typing.

(rev 2)

Colemak Mod-DH - How easy to learn?

On this page is a consideration of how relatively easy or difficult various keyboard layouts are to learn, assuming a starting point of Qwerty. A commonly used simple measure is to count how many keys change position. But it would be useful to have an overall measure of how difficult to learn (i.e. how different) a layout is, which would take into account various relevant factors, to produce a well-defined Switching Difficulty Index.

Presented here is one such proposal. See the explanation below for a more detailed discussion of the model used to produce these results.

The Switching Difficulty Index

I propose the following scheme which would be used to measure how "different" two layouts are - or to put it another way, how difficult it would be to learn one from the starting point of another (usually Qwerty!).

When comparing the two layouts, consider each key, and give it a movement score (m), ranging from 0 to 1 to reflect the degree of difficulty in learning the new position from the old one, depending on whether it moves to key typed with the same finger and/or hand (see below). The sum of these m values for all keys gives a basic measure of overall layout difference the "Keys Moved Index", which is independent of how frequently the keys are typed.

The model also takes into account the typing frequency of the each key that is moved. To achieve this, an approach based on Experience Curves (see below) is used to obtain the frequency-related cost of relearning a key with frequency f (Cf).

Summing both the movement score and frequency cost over all the keys, this gives a formula for the overall "Switching Difficulty Index" (d).

d  =   (m × Cf)

For the purposes of this analysis I am considering only the 30 keys in the main section of the keyboard. Calculating the Switching Difficulty Index for a selection of keyboard layouts gives these results:

Results

Keys
Moved
Finger
Keys
Moved
Total
Keys Moved
Index
Σ m
Switching
Difficulty
Index (d)
Qwerty (base) 0 0 0.00 0
Minimak-8key 3 8 3.50 15
Qwpr 2 11 4.25 18
Asset 6 15 6.25 20
Norman 4 15 5.75 21
Colemak 12 17 8.00 31
Mod-DH 12 19 8.80 33
Workman 13 21 10.00 36
qgmlwyfub 17 20 12.25 45
MTGAP 21 28 18.50 60
Dvorak 26 28 22.25 61
Comparison of switching difficulty for various layouts, assuming Qwerty as the starting point.

As you might expect, the less optimized layouts such as Minimak, Asset and Qwpr are the easiest to learn. Of the fully optimized layouts, Colemak is easiest, with Mod-DH slightly more difficult (primarily due to its relocated H), but according to these results is still easier to learn than Workman. Predictably, the more radically changed layouts Dvorak and MTGAP are the most difficult to learn.

Although the results pretty much confirm what you might expect from glancing at the various layouts, I think it is useful to have a well-defined measure for layout designers. Perhaps also you might find this measure useful if you are deciding which layout to learn and want to consider the learning difficulty in addition to the benefit gained.

For an assessment of the effectiveness of the various layouts, see this comparison.

Explanation of model

There are many possible factors one may want to include in a model of switching difficulty. Some examples are:
- the number of keys that move;
- the number of keys that switch to a new finger
- the number of keys that switch to the other hand
- whether a key moves to an easier or more difficult position
- the frequency with which a particular key occurs

Key Movement Score

It may be presumed that a key that moves but remains typed with the same finger, might be easier to relearn compared to one that moves to an adjacent finger, due to the reduced impact on muscle memory. Likewise, a key that switches to a new finger on the other hand, would be significantly more disruptive. The model assigns a key movement value (m) based as follows:

0 = not moved.
0.10 = angle mod only.
0.25 = moved but typed with same finger.
0.50 = moved to new finger on same hand.
0.75 = moved to equivalent finger on other hand.
1.00 = moved to other finger on other hand.

Key Frequency

We might also want consider the frequency of the key in question. Consider if you were to move the E key on your keyboard. Because E is so common, it would be extremely disruptive and might take a long time to be able to type efficiently again with it in a new location, whereas moving J might have a minimal impact since it's so rarely typed. On the other hand, it might be argued that a more frequent key can be learned faster precisely because it is so frequently typed, so the disruption might be initially severe but less long-lasting. Hence the level of impact of key frequency on the ease of learning is a matter of debate!

In the model used here, the effect of key frequency is assumed to be non-linear, so that while a more frequent key is harder to learn than an infrequent one, but it is recognised that the difficulty decreases as that key is practised more. This is based on the well-known idea of Experience Curves, in which experience of previous production (P1) reduces the cost of future production (Px), the strength of the effect determined by the parameter b.

Px  =  P1 xlog2(b)

In particular, by drawing an analogy with key frequency, we can express the cost of incrementally "learning a key" at a given point (Pf) based on experience gained so far. In this model, I am using a value of b=0.8, which gives:

Pf  =  f -0.322

To get the complete learning cost for this key, we can integrate this function over f:

Cf  =   Pf  =  f 0.678 / 0.678
This produces a non-linear learning effort for a given key with an associated frequency. More frequent keys require more effort overall, but the effort required increases and slower rate to reflect learned experience. Here is a table to illustrate some example values:
Key Frequency, fWeighted Learning Effort, Cf
1%1.47
2%2.36
5%4.39
10%7.03

The overall Switching Difficulty Index is defined as a combination of these two factors, summed over all keys:

d  =   (m × Cf)

See the results of applying this formula to a variety of keyboard layouts.