Adopting Colemak
Last year, I reflected that my typing accuracy was a source of frustration, especially when programming. I’d picked up typing decades prior and had developed an idiosyncratic technique. I was happy with my speed, but not my consistency, and had to make regular corrections. Furthermore, I used my right hand to press keys on the left side of the keyboard, which meant my hands were frequently moving side to side, which was tiring during long sessions.
To fix this, I decided to learn to type “properly”. This also provided an opportunity to change keyboard layout from QWERTY to something better, as I’d be relearning which finger to use to press each key anyway. I’d been aware of alternative layouts to QWERTY, which can make typing more comfortable and efficient by reducing finger travel and awkward movements, and decided to adopt one whilst learning again.
Choosing a layout
The two most common alternatives to QWERTY are Dvorak and Colemak. Dvorak is the older and more common of the two (though still rare compared to QWERTY), originating in 1936. Dvorak is designed to put the most common letters in English prose on the home row (the middle row of keys on which your fingers rest whilst not typing). The vowels are placed under the left hand, and the most common consonants under the right hand. Dvorak moves many of the non-alphanumeric keys away from their positions in QWERTY, as shown below.
Colemak is more recent, having been developed in 2006. It takes QWERTY as a base and maintains the position of most non-alphanumeric keys and the keys used in shortcuts for common operations such as undo, copy, and paste, as shown below. This provides a reduced learning curve compared to Dvorak, especially as a programmer who types non-alphanumeric characters such as delimiters and punctuation regularly. The remaining alphanumeric keys are distributed so that common letters in English prose are placed on the home row, and frequent letter combinations are typed with alternating hands. It minimises the number of bigrams that require pressing consecutive keys with the same finger, which is slow.
Whilst Dvorak and Colemak are the most common alternative keyboard layouts, there’s a long tail of other choices such as Workman and Norman. Although these claim advantages over Dvorak and Colemak, the main benefits of an alternative layout come from having a purposely designed layout that isn’t QWERTY. The efficiency improvements from these other layouts are marginal, and there are other tradeoffs – only Dvorak and Colemak are supported by the desktop operating systems I use regularly (Linux and macOS) without installing additional software or requiring administrator privileges.
From these two options, I chose Colemak for its closer similarity to QWERTY and statistical advantages over Dvorak – according to the typing effort model developed by the Carpalx project, Colemak requires less effort than Dvorak, whilst making greater use of the home row and balancing keypresses more evenly between your left and right hands.
The learning process
I got proficient with Colemak over a couple of months by spending 30 minutes a day practising. I continued using QWERTY outside these practice sessions, so as not to hinder myself at work whilst getting to an adequate speed and accuracy with Colemak.
As mentioned above, my primary goal in changing from QWERTY wasn’t to become a faster typist, but to improve my consistency and reduce fatigue, using all ten fingers and dropping the idiosyncratic habits I’d picked up. To achieve this, I decided to be intentional in how I learned Colemak and did it in three stages.
At first, I learnt the key placements and finger assignments. I practised key placements and finger assignment using Colemak Club, learning from a reference diagram from the Colemak website. Colemak Club breaks learning the key placements into seven levels, where the first level introduces the eight keys under the fingers on the home row, and once these are learnt, more columns and rows are introduced in each consecutive level until by the final level you’ve learnt the position of every alphabetic key.
Once I’d learnt key placements and which finger to press each key with, I focused on developing consistency in hitting the correct keys, practising on keybr.com. Keybr.com generates random words to type, initially using only a small subset of the alphabet. Once you’re proficient in typing these keys, additional letters are introduced. Per-key statistics such as accuracy and time to type are calculated, and based on this, new words are generated that oversample the keys that you’re able to type less quickly or accurately. This provides targeted practice to spend more time on the keys you’re least proficient with.
Once you’ve reached a threshold speed and accuracy on every letter, the icons in keybr.com will all be coloured green. I got to this point around one month after starting to learn Colemak. At that point, I dropped Qwerty and switched to Colemak full-time, being fast and accurate enough for tasks such as taking notes during meetings.
I continued 30 minutes of intentional practice each day, alongside using Colemak the rest of the time. At this point, I wanted to practise typing real English words, to train myself on common n-grams and not just individual letters. For this, I used Monkeytype, which allows setting a minimum accuracy level, below which the session will be marked as failed and have to be repeated. I used this to improve accuracy without falling prey to achieving faster speed at the expense of accuracy. After a month of this practice alongside using Colemak full-time, I was happy with where I’d got to and stopped the practice sessions.
Reflections
Looking back a year after I made the switch, I’m happy to have surpassed all the initial goals. Through continued daily use after the initial two months of deliberate practice, I’ve exceeded both the accuracy and consistency with which I could type in QWERTY, and as a side effect, I’m also significantly faster, being able to surpass 140 words per minute. I use all 10 fingers, have dropped the bad habits developed when I originally learned to type, and my hands move less from side to side.
Overall, I’m happy I invested the time in learning and adopting Colemak, and if you’re a programmer who spends a lot of time typing but isn’t satisfied with your accuracy and comfort, I hope this post encourages you to try it out.