A few weeks ago I decided to depart from my usual QWERTY use and try an alternate keyboard layout. Rather than go the moderately rare Dvorak layout, I decided to go full-hipster and try Colemak. This post describes the ensuing hilarity and (mis)adventure.
Why not QWERTY?
I type reasonably well with QWERTY: normally between 90 - 110 wpm. I started doing some practice to try and improve my accuracy and technique and noticed a few things. First, my right hand tended to drift all over the keyboard (away from the home position), which would result in me sometimes getting lost and making a mistake. A mistake at 110 wpm means typing around 10 characters in the second it takes you to realise it. Backing out those characters, correcting the mistake, correcting your positioning, and continuing gives your typing speed a pretty big hit and is quite frustrating.
Second, my hands had to do all sorts of gymnastics while typing. Common English character combinations like ‘st’, ‘ion’, ‘ce’, ‘ed’ require some big shifts that take you away from the home position (slow and error prone), or require using the same finger for consecutive characters (slow and encourages shortcuts which shift your position).
Third, QWERTY is left-hand biased (at least for English). This can become quite fatiguing. There are also words like ‘minimum’ and the frequently-typed ‘sweaterdresses’ (pointed out on the Colemak site) that rely on a single hand; again, quite fatiguing.
I started to wonder if improving my QWERTY was worthwhile. Maybe I should try an alternate keyboard layout like Dvorak, which was meant to address many of these comfort and accuracy issues (my main goal), and also improve overall speed (a distant second goal).
It was around this time I saw @TheColonial mention something about the Colemak layout. I’d never heard of it, but in trying to research what it was I found some promising signs. Colemak was designed to be efficient and ergonomic by keeping commonly used keys on the home row and on the strongest fingers (check out the heatmaps for Colemak et al.), as well as being easy to learn by not deviating too far from QWERTY (the entire bottom left hand is unchanged from QWERTY, which means common shortcuts like Ctrl+Z/X/C/V are unchanged).
If you’ve ever experienced programmer hands, you’ll appreciate why it is important to look after yourself and avoid RSI. I happened across PAT or JK’s keyboard layout analyser, plugged in a few pieces of code and blog posts, and found that, had I typed these using Colemak instead of QWERTY, my fingers would have moved in the order of 50% less to type the same text. Figures like 192m for QWERTY, 97m for Colemak were not uncommon. It also tended to beat out Dvorak. How could anyone interested in efficiency not try that out?
Three weeks with Colemak
I started out doing Colemak exercises with aTypeTrainerForMac. Largely due to its commonalities with QWERTY, the layout itself was quite easy to learn. I had the key positions memorised by the end of the first day, but using it effectively was another matter entirely.
No matter how well I knew the individual keys, I found my brain wanted to think about typing a whole word or pattern at a time. I could start typing the first few characters in Colemak, get to a familiar pattern like ‘ion’, and my brain would leap ahead and get me to complete the word (incorrectly) in QWERTY. Getting my reason to fight these reflexes was very uncomfortable, but at the same time a fascinating insight into how the brain works.
After 1 week of fairly intense practice, I could type steadily at 20 wpm with Colemak, but my QWERTY had dropped a bit to 80.
Shortly after that (with the help of autocomplete) I was able to use Colemak pretty effectively. After three weeks of almost exclusive use I could type between 40-50 wpm and it felt very comfortable. My technique and accuracy were improving.
It was then I found my QWERTY was down to 15 wpm. That is not a typo; a measly 15 wpm. I was completely unable to use a standard keyboard.
Return of the QWERTY
I was a few days away from attending a Code Retreat in Brisbane, and was really concerned about being able to pair with people when I couldn’t type properly. I decided to jump back into QWERTY full time. It took a solid day, but after being completely useless for an hour or so the reflexes started to come back. By the end of the day I was back to 90 wpm (provided I didn’t think too hard about it :)). Surprisingly I could still type ~30 wpm on Colemak.
One thing that really surprised me is how clumsy QWERTY felt to me. I could feel the added strain on my fingers, wrists and shoulders due to the increased movement. Accuracy seemed to come much easier with Colemak, although that could have been a product of how I had trained myself up on all the characters, rather than on real text. I also really started to notice the bad touch typing habits I had formed with QWERTY, like leaving the home row and using wrong fingers to hit keys due to the key positions of many words.
I’m really undecided on how to proceed from here. One one hand Colemak really seems a lot more comfortable, and I’m pretty confident I could get up to comparable levels of speed with it.
On the other hand, almost every other keyboard in the English-speaking world uses QWERTY. It’s obviously going to take me a bit of work to maintain proficiency with both QWERTY and Colemak. The alternative, being unable to use most other computers effectively, is very unappealing. If I was only ever going to use my own computer I’d almost definitely stick with Colemak, but as I do a lot of pair programming it really comes down to exactly how much effort it’s going to take to be bi-typal.
If we end up getting QIDO for Colemak it may help for pair programming, but I’m still concerned about being stuck at some random computer and being unable to use it.
My other concern is that my perceived increase in comfort with Colemak is at half the speed of my QWERTY typing. I’m not sure whether Colemak would still be comfortable once I hit 100 wpm, or whether I would get the same discomfort as I do with QWERTY.
So there you have it; a bit of a non-conclusion. Colemak seems to have a lot of things going for it, but it’s hard to recommend it in the face of the ubiquity of QWERTY and with only anecdotal evidence of it’s ergonomic benefits (and there’s some counter-anecdotes too). It’s definitely an interesting experiment to try, just for some insight in to how your brain works with typing, but unless you only use your own hardware I’d suggest keeping up speed on QWERTY as well.
As for me, I think I’ll try and develop both QWERTY and Colemak in parallel for a while and see what happens.