55 comments

[ 2.5 ms ] story [ 112 ms ] thread
Great article, ¿What are you using to measure your WPM in colemak?
Hey there!

I'm basically using Amphetype... it's OSS written in Python.

You can feed it with text (like your favorite public domain novels in .txt, Sherlock Holmes is one of my favorites) and then it extracts lessons based on difficulty level.

Cheers & glad you liked it!

Switching does have its benefits but I'm afraid it'll be a pain to deal with it switching the vim keys around.
I was thinking about covering that topic. It's not that painful, I didn't have any problems on using Vim with colemak with only one alteration:

inoremap lh <Esc>

Before I used k-j, but the position of those in Colemak is 'e-n'... so it's totally unusable.

I mean if you're typing 'entropy' it leaves insert mode, and you get mad :)

Didn't take me more than a week to get used to 'e-n'.

I'm a dvorak user, and I've never had a problem with vim navigation. I just use the regular keys for it, and it seems to work out fine.
Same here in Colemak, I saw a lot of people taking the wrong approach and designing complicated .vimrcs. I think that's not great, specially if you have to do some pair programming with QWERTY users.
I never felt pained on switching layouts. If this makes any sense: learning the muscle memory for Colemak almost seems to be on a lower "level" than vim (to me), so I kept hitting 'i' and 'a' and so on without even noticing.
Makes sense to me, I felt the exact same way.

I think that it's better to let the muscle memory of Colemak to develop and you will eventually get used to vim.

When I use vim I'm constantly thinking about words, like 'ci' (change in) 'ya' (yank around) etc.

So when you get your Colemak right vim is not a big hassle.

I do the same thing with Vim short cuts, think about their "meanings". I found it helped a lot!

I'm curious about h, j, k, and l. Same story?

When I switched to Dvorak, I adapted pretty quickly to vim. hjkl are effectively exploded across the keyboard, and I had to adjust to that, but adapting to the new locations for other commands was easier if I thought about the semantic meaning of the commands, and the keys themselves as abbreviations.
I just realized I tend to do the same thing, when I edit in vim I read the "phrases" I am typing, like ci" etc.
I don't find using the Colemak-shuffled hjkl comfortable, so I have `:set langmap=li,ko,hn,je,nh,ej,ik,ol,LI,KO,JE,EJ,IK,OL` in my .vimrc to make Vim usable for me on Colemak. Besides restoring the home row navigation, it moves the keys one key right into the qwerty jkl;, which is the neutral home row position. The problem with this is that langmap is a somewhat advanced option, and isn't supported by every Vim-like product, such as the Visual Studio Vim plugin.

Shai Coleman had a really extensive Vim remapping setup, but he has since stopped using Vim: http://colemak.com/pub/vim/colemak.vim

Very well written article; can you gauge the convenience on switching to colemak instead of dvorak?
Great question,

Dvorak is awesome, but the 'great' thing about Colemak is that the symbols and numbers are unchanged (in contrast of Dvorak). So basically the learning curve from QWERTY, should be shorter, and simpler.

Another personal thought, is that at least most of programming languages where made with QWERTY in mind, so the symbol usage ([], {}, ; etc) in programming languages is influenced by that too. A symptom of that is many foreign guys using the American QWERTY layout to code.

Cheers :D

I've been typing exclusively on Dvorak for 12 years, since I was about 16.

Does colemak offer any significant advantages over dvorak that would make it worthwhile attempting to switch?

I would dare to say no, if you already know Dvorak then switching to Colemak doesn't offer a lot of advantage.

There are some reports that say that Colemak is marginally better but IMHO they where not conclusive.

Bottom line, both are well designed layouts (Dvorak by a human and Colemak by a computer) and substantially better than QWERTY.

It does, to a Qwerty typist, or to one who switches between for whatever reason. Quite a few keys in Colemak are preserved between it and Qwerty (like zxcv), making it both easier to learn and easier to jump back and forth.

Personally, when I play the occasional video game, I'll do so in Qwerty instead of redefining every key. For typing and programming (aka daily life), I use Colemak.

How long does it take to reach around 40 – 50 words per minute ?
I wasn't very clear about it because it does really vary a lot. I've read of people reaching 40-50 in a week, for me it took me about 15 days.

After that I went 'cold turkey' and dropped QWERTY, while doing that I think that in about a month and a half I reached ~70 WPM.

In my experience it took around 1-2 months to become fully "fluent" in Colemak.
It took me about 3 weeks to acclimate to Dvorak, but I actually used a copy of Mavis Beacon to help with the transition (no joke.) I mean 80wpm. It felt both faster and more comfortable after that.
(comment deleted)
(comment deleted)
Is there any quantified, credible (semi)scientific evidence that colemak or dvorak is actually faster/easier/better? I've seen lots of theoretical stuff, but mostly anecdote and/or poorly designed tests.

Thanks.

There is some more serious research, the Colemak FAQ, refers to Carpalx (http://mkweb.bcgsc.ca/carpalx/?colemak), there you can actually take a look at the several Dvorak layouts and QWERTY.

I actually saw more discussions about this in the Colemak forum, but that was a long time ago.

I'm interested in what you consider "theoretical stuff" or "poorly designed tests." If metrics like number of words possible from the home row alone or total finger travel given some body of text do not satisfy you, then I doubt anything will.

I will say one of the biggest misconceptions is that the Dvorak layout is for speed. I've known people who type 80+ WPM with two fingers on QWERTY. You can be fast on any layout, but Dvorak is way more comfortable. Once you can type faster than you can think of what to type, it doesn't really matter.

I totally agree here, when you are programming it doesn't really matter if you type at 150 WPM... it's all about ergonomics and movement economy (IMHO).
Metrics like: % of users getting RSI per year adjusted for age and number of characters typed in a year on controlled hardware. Characters per minute of typists who've used both layouts for a year plus.

Words typeable from the home row is what I'd consider a theoretical metric. It should help with efficiency and health, but it is a leap of logic to say that it definitely will.

"It's more comfortable" is what I'd consider to be a valid anecdotal data point, but one that I fear has response bias as people who try dvorak and find it less comfortable silently switch back to qwerty.

Absent well designed tests, qwerty/dvorak/coleman is a religious argument.

They are definitely better, but not for the reason you might expect. The best part about having a non-qwerty keyboard layout is the frustration on peoples faces when they try to use your computer. Especially if it's a repeat performance as it is not the first time you've frustrated them with your keyboard layout!
I was hoping someone would bring this up. Having my machine with a Colemak layout is one of the best security measures out there.
Yep, I agree. When I invite people home and leave my MacBook playing my music, there's always someone who want's to go to Youtube and switch my music... Colemak totally avoids that from happening.
I've tried switching to Colemak three times, and I just can't do it. Here's why:

I can currently type 110-125 WPM on QWERTY, which I've projected would take upwards of a year to re-achieve on Colemak, which is a total no-brainer if I could reasonably expect positive long-term gains.

However, from what I've read (and heard from friends on Colemak), switching back to QWERTY is painful, so my typing speed on anyone else's computer (which I realized, after trying to switch, I do fairly frequently) would go down to 30 at best.

The primary argument for Colemak is that it reduces finger travel distance from the home row. But my fingers don't naturally fall precisely in a line: my left middle finger naturally drifts between the space of E and D, my middle and ring finger on my right hand drift up closer to I and O.

Culturally, being on Colemak means the world is suddenly against you. It's like choosing to be a left-handed person in a right-handed world: vim keybindings don't make sense, applications and flash pages ignore your custom keyboard layout and switch you back to QWERTY, and every single keyboard|laptop|smartphone you buy for the rest of your life will require a certain amount of tweaking before it's maximally usable (think iPhone autocorrect).

Keyboard layout hacking in general, however, is fantastic. Here's a few tweaks I've accumulated that have immediate benefits for little of the above downsides:

1. remap `caps lock` to `ESC`: goes without saying for vim, but extremely useful in other situations too (like playing starcraft and de-selecting units)

2. remap 1234567890 to !@#$%^&*(): as a programmer, I use these symbols far more often than I use the numbers. Switching to shift to numbers with symbols as default makes all the sense in the world. It no longer takes finger gymnastics to surround something in () or negate a term with !.

3. (optional) shift doubletap for caps lock: I missed caps lock after a while, so I brought it back with a double-tap of shift.

> 1. remap `caps lock` to `ESC`: goes without saying for vim, but extremely useful in other situations too (like playing starcraft and de-selecting units)

Or to Control, if you're an Emacs user. I've even seen some people remap a tap on it to ESC, and holding it down to Control, to cater to both needs.

vim user here. I map mine to Control because ESC is a simple C-] away and Ctrl is so much more useful outside of just vim.
> from what I've read (and heard from friends on Colemak), switching back to QWERTY is painful

That hasn't been my experience on Dvorak, QWERTY comes back almost instantly. It was harder when I had just learned Dvorak but since I, like you, have to use QWERTY keyboards often the situation quickly improved (in much less time than it took to learn Dvorak).

> The primary argument for Colemak is that it reduces finger travel distance from the home row. But my fingers don't naturally fall precisely in a line

Travel distance looks more like E[||key1 position - key2 position||] not E[||key position - resting position||] when you're writing a big chunk of text, so the resting position of your fingers is not very important for the purposes of minimizing wrist strain. Anecdotally, the difference in wrist strain isn't remotely subtle between the two layouts. Of course, I don't usually type enough to get sore, but I can certainly feel the tendons move through my wrist, and they move a great deal more when I'm using QWERTY.

"This is a test sentence" leaves the home row once on Dvorak and 13 times on QWERTY, but the Dvorak advantage for this sentence would be just as good if you permuted the key rows so that 18/19 of the keypresses landed on, say, the top row.

I prefer mapping caps lock to ctrl since it makes both vim and emacs easy (I use ctrl-C in place of esc in vim, so for it has worked for everything but block replacement).

Fair point on travel distance. I suppose I need to be experiencing some kind of tendinitis for the switch to become worthwhile.

Forgot part 4 of my keyboard remapping: caps lock + another key is interpreted as control, but just tapping caps lock is escape.

All I really need now is a shorter space bar so I can more comfortably hit ctrl/cmd with my thumbs and I'll be in keyboard nirvana. Total missed opportunity by Atwood with his CODE keyboard.

In my case, I was experiencing pre-tendinitis symptoms (know them well as a piano player). All of those where gone after switching to Colemak. My advice, is to switch before you start experiencing those symptoms.

Cheers!

Anecdotally, Android 4.2 and up comes with a Colemak layout that works with all of the bells & whistles, including swiping and autocorrect.
Yes, this is right (on 4.3 at least). You can choose between QWERTY, QWERTZ, AZERTY, Dvorak and Colemak.
Wow, so it does! (Along with the other more common keyboard layouts.) You have to dig under the "advanced" settings but it's there. Neat!
That's really cool, I should file a radar (not that it matters) in Apple's radar so that they make Colemak available on iOS.
> But my fingers don't naturally fall precisely in a line

Switching to a Kinesis solved this one for me. All the columns are perfectly vertical.

I have been typing in Colemak for several years now and I don't really have any issues going back to QWERTY, with the caveat that, like the author, I have to look at the keyboard to do so reasonably well. It's a little bit hard to compare speed with online tests because of this, as it is necessarily slower than touch typing when reading canned text off the screen (but not a real penalty if you are typing things you are thinking), but I just did an online test and was 69 WPM in Colemak vs. 44 WPM in QWERTY. Obviously I'm much slower than you in either case (assuming the tests are comparable), but the penalty doesn't seem to be as large as you are suggesting, and this is with only extremely rarely needing to use QWERTY and never actually practicing. I also find in my life that when I need to type on other people's computers or on my HTPC, that I'm not often drafting large blocks of text, but your mileage may vary.

I also don't have any problems with keybindings in vim or emacs. Most keybindings are semantic rather than locational, with the major exception being hjkl in vim. The inconvenience of applications ignoring the input has only affected me for games, so I have to remember which games I need to switch to QWERTY before playing (on Mac you can switch layouts with a key command, so it's very easy for me). Technically with games you usually DO want to have the keyboard layout ignored, and the vast majority do, but probably 1 out of 10 or 15 doesn't in my experience. I would say that the annoyance of using Colemak comes up less than 1/100th as frequently as the annoyance of using NoScript, which I also use.

With respect to the iPhone, I just leave it on QWERTY and it isn't an issue. Using your thumbs to type is sufficiently different that I don't think it affects your ability with the keyboard. Mac and Ubuntu at least come with Colemak pre-installed, but Windows requires an installation, I guess.

I'm intrigued by the possibility of remapping my number keys though. I may consider doing that.

In my experience switching back to QWERTY is not terrible, it's actually quite simple if I can look at the keyboard (can't really do touch typing on it). My speed is much faster than 30 though, I'm guessing I'm around 70-80.

Colemak made me more disciplined in applying technique to my typing, on QWERTY I developed my own style, but when switching to Colemak I learned 'the right way'.

You should give it a try!

I didn't find Colemak all that comfortable, but I experimented with carpalX and I found it very pleasant. Even if you are not curious about trying new keyboard layouts, the website is packed with very interesting theory and research: http://mkweb.bcgsc.ca/carpalx/
I see now that MrGando posted that link already, I hadn't read all the comments before making mine. I second that recommendation anyhow
One great feature of Colemak is the idea of mapping capslock (useless as it is) to backspace. Eg. it allows for quickly deleting last word with ctrl + capslock combo - one hand instead of both.
No mention of Carpalx?

http://mkweb.bcgsc.ca/carpalx/?full_optimization

If you're going to learn a new keyboard layout, why not make it the best?

I'm in the process of learning Colemak now. I'd love to use QGMLWB, but I liked that I was able to use Colemak on my Macbook, Windows box and Android devices without having to install anything extra. I figured that the few extra efficiency points I lost by sticking with Colemak would be offset by its comparatively broad availability.
I did mention Carpalx, but not your exact link in another comment.
Most of the keyboard layouts - alternative to QWERTY - are optimized for English. (QWERTY itself is not optimized for any human language in existence). It would be very interesting to see how well they work for other languages. Or to try developing a "compromise" layout, optimized for two (or more) different langauges at once and see whether it is at all possible to gain a significant advantage over QWERTY in those several languages at once...
It's likely that Colemak would be at least somewhat better for any European language if only because all of the vowels are under the home row (except U, which is under QWERTY's "I").
Another interesting link: http://www.andong.co.uk/dvorak/ (an online analysis tool you can use to compare the efficiency of different layouts - including Colemak)
I've been using Colemak cold turkey for 6 months now and I still can't type properly to save my life. I barely make a proper sentence these days. I never had this problem when I was trying to learn Dvorak. It seem the hand alteration makes it easier and you more accurate.