Colemak keyboard layout

At eden lately there has been a surge of interest in the Colemak keyboard layout and TypeMatrix keyboards.

Colemak is an alternative keyboard layout to Qwerty, which as legend has it put the keys in a non-optimal position to slow people down on old typewriters in order to reduce jamming.

The diagonal arrangement of keys on most keyboards also harks back to the typewriter era. TypeMatrix avoids this historical baggage by arranging the keys in columns, and providing a hardware switch to both Colemak and Dvorak layouts.

TypeMatrix 2030 Colemak layout

My typing history

I switched to Dvorak almost ten years ago because i wanted a keyboard layout which was designed to be more efficient and comfortable to use than Qwerty. I became pretty fast on Dvorak: my typeracer average score was 97 words per minute.

For a few years i have suspected that Colemak is even better than Dvorak, and i would have switched sooner had i known that my TypeMatrix keyboard supports Colemak. You see, for pair programming, it’s really useful to have a keyboard with your chosen keyboard layout built in, otherwise you have to constantly change the settings on the operating system.

At the end of January, Tom Brand found out that TypeMatrix also enables Colemak. For some reason, they don’t advertise this fact anywhere! For the record, you press Fn+F5 and hey presto you’re in Colemak mode!

The deciding factor for me was this keyboard layout analyzer which allows you to type in your own text and see all sorts of statistics for different layouts. I tried it out with emails i have written, code samples and tweets, and in every case Colemak was significantly better for me than Dvorak (and of course, far better than Qwerty).

Learning Colemak

 #colemak typing practice at lunchtime with @tom_b025 on our ... on Twitpic

So at the beginning of February i started learning Colemak. I have been using aTypeTrainer4Mac which has a horrible user interface, but actually works really well in encouraging you with your progress, moving up through the levels at an appropriate pace.

In the middle of February i had a holiday during which i did a lot of Colemak practice, and used Colemak almost exclusively, so that when i came back to eden i was ready to pair program with Colemak.

I am still quite slow going, and have to apologise for all my mistakes, but for the last two weeks i have been getting better all the time. It is starting to come more naturally to me now, patterns are getting stored in my brain, and it feels really comfortable.

Colemak compared to Dvorak

 my lovely new "colemak" keyboard skin! thanks to @... on Twitpic

Only now that i’ve switched to Colemak can i realise the flaws of Dvorak. The L was a strain, and i did not like the second finger stretches to Y and F. It turns out the G and J are much more sensible characters to put there.

It’s great to have the X, C and V back to where they were on Qwerty, as well as the comma and full stop, and all the symbol characters. Not that i need to look anyway: my new TypeMatrix skin has none of those keys marked!

My best typeracer Colemak speed so far has been 44 words per minute. Not a patch on my previous Dvorak speed, but i will keep practising and hope one day to break 100 words per minute.

On teaching kids Colemak

I was recently asked whether Colemak/TypeMatrix would be good for school children to learn. Whilst i hate to think that the baggage of the past continues to be passed on to another generation, the truth is that we still live in a Qwerty world.

TypeMatrix keyboards are expensive, and Colemak isn’t easily available on all computers (unlike Dvorak). TypeMatrix does not yet make a Colemak skin, and the skins they do make look cluttered because of the overlap with the function keys. I enormously prefer the blank layout, but i can’t imagine many kids getting on too well with that!

I don’t know what the answer is just yet. I’d like to see more people realise the benefits of Colemak as a superior keyboard layout and make the switch. I would also like to see more Colemak keyboards made that don’t require downloading any software or switching any settings.

Maybe as a society we can begin to wean ourselves off the hangups of obsolete 19th century typing equipment and get used to a 21st century solution!

Advertisements

11 comments on “Colemak keyboard layout

  1. Hi Aimee, interesting article. I have not thinked about the impact of the keyboard layout in the programmer productivity, but your post made me think about it.
    I understand that the best layout depends on the language you are writing so I started to wonder if there are studies about what are the best keyboards layouts depending on the programming language you use.

    Personally I’m a slow typewriter but I’m not so sure if typing fast is good or bad for a programmer. Obviously the slower you type the less code you write in the same amount of time. But sometimes I think coding not too fast allows me to think better about what I’m coding. What do you think?

  2. Hello!!

    I’ve been a lot of time thinking about changing my keyboard layout, but I didn’t decided yet. I use Spanish QUERTY layout currently.

    After reading your post, I found this address: http://goo.gl/Oltv :D
    It is very funny, and… well, QUERTY is always the worst option.

    So… Do you really recomend me to change to Colemak layout? Didn’t you find a lot of troubles with the change? I mean: when you go other place and nobody has your layout, and so on, I didn’t mean to learn it.

    Thank you!!!

  3. Just to confirm, all the layout switching is done within the keyboard itself, so no drivers or configurations need to be changed when you plug it in to different computers, right?
    Thanks!

  4. This is for Enrique:

    IMHO, keyboard layout is not only the speed you type; it is the speed of your shortcuts and the time you are editing a wrong made document when you make a mistake.

    Personally, I prefer to spend less time writing and correcting typing errors and think when I’m not typing. And I prefer to know good sortcuts to minimize the time I need to translate my ideas into a written program.

    :D

  5. Doug, yes, the layout switch is done by the TypeMatrix. It sends the appropriate keycodes to the computer, so the computer doesn’t need any configuring. It doesn’t actually know that you’re not using Qwerty.

    Miguel, yes there can be problems, both when other people type on your machine, and when you type on others. You forget Qwerty surprisingly quickly! But you’ll always find a Qwerty keyboard so it’s no big deal just to look at the keys for a brief period of typing.

    Enrique, i know the saying “Typing is not the bottleneck” but it kind of sounds like an excuse to me. If typing is something we spend a significant portion of time doing, it makes sense to become as effective at it as we can. I spend a lot of time thinking, but when i know what i wish to write, i like to type it out quickly and accurately to get back to thinking again.

    To see which layout works best for you type some sample code into http://patorjk.com/keyboard-layout-analyzer/ and examine the results.

  6. Nice post, aimee. I’ve wanted to switch from QWERTY for a while but have held off for three reasons:

    1) Lack of availability of non-qwerty options outside of ‘home base’.

    While this isn’t insurmountable, without cool hardware like the Typematrix it can make for a frustrating experience when not at my own machine.

    2) Productivity dent while re-training.

    I can type fairly quickly, even though I don’t touch-type properly, and wonder how much of a performance boost that I’ll achieve (will check out the tool you mention)

    Oh, and it’d totally knacker my Vim muscle memory, I think, how’ve you found that aspect of it?

    I’m definitely not saying that trying/using Dvorak/Colemak is a bad thing (indeed I admire that you’re so committed to optimising your flow!) but I’d perhaps argue that this is more of a micro-optimisation for competent typists where that time might be better invested in learning their tools better.

    If Colemak had a keyboard that could disable any mice attached to the computer,
    then I’d be first to buy everyone one ;)

    Thanks for the post, look forward to you pasting me at typeracer, Colemak style :)

  7. Thanks Paul! :)

    Yes, lack of availability can be annoying, but really the worst that can happen is you have to look at the keys.

    I have had about four weeks of Colemak and i’m about at the point where i’m able to type without any frustration, though i’m still having to concentrate hard and i’m making many more mistakes than i’d like.

    Vim is actually of little concern to me, having switched from Dvorak to Colemak. Since it works with pnemonics, i remember things like Change A Paragraph and it just transfers to cap on whichever layout i’m on.

    I think i meant mnemonics, got the wrong silent letter, but it’s funny so i’ll leave it! Stupid silent letters being hard to spell! ;)

  8. Thanks, I’ve ordered a blank one with the generic skin!

    As to the speed of typing question… I think it depends.
    For coding, yes, maybe speed of typing isn’t the limiting factor.
    But for writing (documentation, email, etc.) I often find my fingers still aren’t fast enough. Looking forward to the speedup once my keyboard arrives.

  9. Hey Doug, that’s awesome you’re getting a TypeMatrix! :) I’ve bought two myself, and five people i know have bought one, plus two more considering it. They should put me on some sort of commission! ;)

  10. I’ve used the Dvorak layout since 2005, and don’t usually use ^XCV to cut/copy/paste (middle click on Linux etc). And possibly I have bigger hands than you, as I’ve never thought of the YFL keys being a problem. So, I don’t see any point leaving ZXVC where they are on Qwerty.

    But I’ve analysed what I type, and Dvorak and Colemak have very similar scores. Looking at the Colemak layout, do you think it’s lost some of the ‘strumming’ designed into Dvorak? Common digraphs on Dvorak lead towards the middle, so they’re easier to type (e.g. TH, NT, SN, ND, SC; OU).

    grep -i –only-matching ‘[a-z][a-z]’ FILE | sort | uniq -c | sort -n

  11. I’m looking into switching keyboard layouts. Did you purchase a new keyboard or get stickers? Do you know how or have any links for how the keyboard translator is switched on Windows and Linux?

    Thanks.
    cmn

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s