Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ditch QWERTY – Your Hands Need Colemak (chetansurpur.com)
34 points by chetan51 on Nov 9, 2012 | hide | past | favorite | 60 comments


As someone who types 100+WPM on plain-old QWERTY, I don't see the point - the limiting factor is obviously not the distance between keys or switching between hands. In any case, it's been beaten to death that in real work, you're never going to be typing at a volume where WPM matters anyway.

As for the ergonomic argument, it doesn't seem like the claims made (assuming they're true) have a huge effect on your health (again, you're almost never typing for a continued period of time). You might achieve 50% more key-hand alternation (is that metric even useful?), but when you're typing twenty words at a time, that doesn't come out to very many.

And in the end you have to deal with QWERTY anyway, every time you use a foreign computer.

That said, there's no real reason why QWERTY is intrinsically good either, other than that it's "good enough", and happens to be the standard.


I agree with your assessment that you seldom need to type at volume (and speed) in everyday situations where a change of layout would be significantly beneficial.

In addition to that, a strong pragmatic point for sticking with QWERTY is that most keyboard shortcuts in editors and other tools are designed with QWERTY in mind.


You could also sit in a steel fold-up chair while you program and probably get about the same amount done over the course of a day. Dvorak layout is like the Herman Miller office chair of layouts. (or maybe colemak is, but its not qwerty)

As a Dvorak user, I came to this thread happy to discuss the pros and cons (I usually chime in on these threads). But it bothers me that the top the thread is someone who is so close-minded. Plus its obvious that you have never learned dvorak, so it also bothers me that you got any upvotes at all.


Agreed. I also use Dvorak since a about five years and quite like it. I wanted to discuss interesting similarities to Dvorak, like the 'a' and 'm' keys are on the same place on all three layouts. (In an earlier assignment I created shell scripts with these names to switch the layouts). I think choice is great and I like mine, and it's not like anyone is forced to use an alternative layout. Op is just unnecessary negative without even knowing what he talks about. Way to go.


This is willful ignorance.

I typed on Sholes keyboards (and typewriters) since the 70s. My typing speed averaged between 135-170 words per minute in US English.

I attempted Dvorak for about a day but the layout is not good for a Unix user as some of the digraphs are pessimal.

When I switched to Colemak, I had a tremendous amount of difficulty undoing 35 years of various habits, good and bad. My first month, I probably averaged about 10wpm. I sent a lot of very short emails and was frequently frustrated.

Finally, my speed became "reasonable" and then I made an even more useful switch. Why bother with changing around the keys on keycaps that are still arranged as if they are driving levers through an inked ribbon onto paper? I looked for "matrix" keyboards and bought a Truly Ergonomic.[1] Aligning the keys with my fingers, wrists, and forearms makes a lot more sense than continuing to follow old design constraints that are harmful for a large number of people.

Now I'm back to typing at a speed where I don't have to wait for words to appear on the page (any more than usual). It's much more comfortable and it's comfortable for a much longer period of time.

As for going to foreign computers, a) it's optimizing for the uncommon case, and b) Colemak is supported by almost every major OS and takes less than a minute to switch on Arch, Windows, or OS X. I do miss it on the iPhone or iPad on-screen keyboard, but it's supported on external keyboards.

[1] I'm not sure I'd buy it again as even the "silent" model is too loud for me. In addition, some of the punctuation keys are in annoyingly odd places and need to be remapped. A number of even more extreme ergo keyboards drop the staggered key layout as well.


For me, the primary reason I switched to dvorak was to force myself to touch-type. It worked, but I generally agree that there it doesn't make a substantive difference for most day-to-day tasks.

That said, I really do prefer typing in dvorak. You can feel the difference in number of off-home key presses -- it shows up in your wrists. The difference isn't subtle. "This is a test sentence" has 1 off-home keypress in dvorak and 13 in qwerty. This effect is pronounced enough that passwords, names with foreign spellings, and other types of entropic text are noticeably more awkward to type in dvorak (versus in qwerty, where all text "feels" roughly the same to type). Again, dvorak may not make much of an objective difference as far as health or WPM are concerned, but the feel is enough to make the inconvenience worth it to me.

EDIT: I see the post below me mentions keyboard shortcuts. They were the biggest sticking point for me and they remain the largest compatibility hassle when I have to use a qwerty computer. I would rate the frustration of having to think about shortcuts just slightly below the frustration of having to work with UIs that don't support emacs editing shortcuts, FWIW.


If typing speed doesn't matter, why do you type at 100WPM?

I've known two people who repeatedly claimed typing speed doesn't matter - and they put their money where their mouths are! I'd be surprised if either could do even 50WPM.


A while ago I wrote a small program[0], that measures effort to type a passage with different keyboard layouts.

It accounts for reach and alternation. I just added Colemak in response to this discussion, and from the texts I include in the distribution (some public domain from archive.org), it looks like Colemak is better on reach, Dvorak is better on alternation, and they both spank QWERTY for substantive texts[1].

It's just a quick experiment, I'd love to hear input on methodology.

[0] https://github.com/bak/keyboard_battle

[1]

  texts/alice_underground.txt:
    colemak:
      alternation_effort: 29962
      reach_effort: 29403
      raw_score: 59365
    dvorak:
      alternation_effort: 24476
      reach_effort: 30312
      raw_score: 54788
    qwerty:
      alternation_effort: 32118
      reach_effort: 51842
      raw_score: 83960
  texts/declaration_of_independence.txt:
    colemak:
      alternation_effort: 2725
      reach_effort: 2469
      raw_score: 5194
    dvorak:
      alternation_effort: 2237
      reach_effort: 2693
      raw_score: 4930
    qwerty:
      alternation_effort: 3049
      reach_effort: 5129
      raw_score: 8178
  texts/gullivers.txt:
    colemak:
      alternation_effort: 100074
      reach_effort: 97327
      raw_score: 197401
    dvorak:
      alternation_effort: 81836
      reach_effort: 103371
      raw_score: 185207
    qwerty:
      alternation_effort: 110812
      reach_effort: 181778
      raw_score: 292590
  texts/qbf.txt ("the quick brown fox..."):
    colemak:
      alternation_effort: 9
      reach_effort: 22
      raw_score: 31
    dvorak:
      alternation_effort: 13
      reach_effort: 21
      raw_score: 34
    qwerty:
      alternation_effort: 11
      reach_effort: 30
      raw_score: 41


Nice! I was curious how it looks for actual code, so I added a few random code examples (HTML5 Boilerplate index.html, JQuery grunt.js) and reran it:

  texts/index.html:
  colemak:
    alternation_effort: 799
    reach_effort: 1100
    raw_score: 1899
  dvorak:
    alternation_effort: 695
    reach_effort: 1166
    raw_score: 1861
  qwerty:
    alternation_effort: 779
    reach_effort: 1490
    raw_score: 2269

  texts/grunt.js:
  colemak:
    alternation_effort: 4243
    reach_effort: 5588
    raw_score: 9831
  dvorak:
    alternation_effort: 3510
    reach_effort: 6226
    raw_score: 9736
  qwerty:
    alternation_effort: 4577
    reach_effort: 7373
    raw_score: 11950
Sent you a pull request with the minor changes, in case you're interested.


So is it "lower is better" for all scores? In the raw_score a combination of the two previous scores? By that measure, dvorak is better on all nontrivial texts (so excluding the quick brown fox).


The scores are a measure of effort. For reach, it accumulates the effort of reaching away from the home row. For alternation, it accumulates subsequent keystrokes with the same hand. Raw is the sum of both.

So yes, lower numbers are better, however I do not have the research to be able to say that a lower raw number is always better. It's entirely possible that alternation matters much, much more than reach---or vice versa---such that a truly meaningful "aggregate score" would involve a multiplier instead of just summing the two.

The best we can say is that, assuming less reach and more alternation are good, Colemak is better on reach, and Dvorak is better on alternation.


> Colemak is easier to learn, since it’s designed to be as similar to QWERTY as possible without compromising on efficiency.

I actually suspect that's a fallacy. When you learn & use something new, it's actually confusing when it's similar to something else. I have no issue with typing either Qwerty or Dvorak, but Azerty, where only a few keys are different from Qwerty, drives me nuts.


I haven't used colemak, but I suspect this isn't really a problem if you're going to do a full-transition and not use qwerty at all.

But if you have to switch between two layouts regularly then you definitely want something completely-distinct rather than something close-but-not-quite.

It seems like colemak is in the awkward position where you wouldn't even consider it unless you're already comfortable with qwerty, but you're also in a position to stop using qwerty entirely and switch all your keyboard layouts.


Maybe it's the case that YMMV. I didn't touch-type QWERTY, so I learned Colemak just fine. On the other hand, my friend who touch-typed QWERTY at 90 WPM also had no problem switching to Colemak. In addition, the official Colemak website states:

"Easy to learn – Allows easy transition from QWERTY. Only 2 keys move between hands. Many common shortcuts (including Ctrl+Z/X/C/V) remain the same. Typing lessons available."


What if I told you that you could get these same benefits with only a 10-20% drop in WPM? And that you could be faster on the newer layout in two weeks?

Believe it. Go to carpalx's key swaps page ( http://mkweb.bcgsc.ca/carpalx/?partial_optimization ). Make the first change on their list - swap K and E - and use the new layout until your brain gets used to the swap. Once you're comfortable, make the next swap.

Once you've made about 7 swaps you're on a layout that's on par with both Dvorak and Colemak, and you never had to waste a single hour in typing trainers.

Each swap takes me about five hours of typing over about 3 days to get used to. I imagine if your job has you typing all the time, your day-count will be lower. I have currently swapped E/K and O/J, and this post has reminded me to swap F/T as well.

There are plenty of keyboard remappers available for windows and osx, and it's not difficult to do yourself in linux either.


I switched to Dvorak back in the summer of 2005 and I've never looked back. Colemak may have been a better choice for certain metrics on certain keyboards, but one that cannot be stated enough for Dvorak is the way your hands alternate keys so much more than they do on QWERTY. I'm not sure if that has been studied for Colemak.

Thoughts on changing keyboard layouts:

1) If you're gonna do it, I agree with this article, touch typing = #1 priority. You're not going to see a colemak keyboard, most likely.

2) QWERTY actually seems to work pretty well for big thumbs on a small screen. I don't use tablets, so I don't know the state of affairs on Android or iOS keyboard layouts. This has notably not been a problem for me, even though I was initially concerned about using BlackBerrys (oh 2005 me..)

3) IRC/Instant Messaging are a massive way to learn how to type because you'll prioritize learning words that you type often, and natural patterns for you.

4) Buy a better keyboard if you're gonna go to this effort for your hands. I swear by my Kinesis Advantage Pro.

This process is frustratingly slow, but after ~3 weeks of going cold turkey, I have not once switched back. I was even a sysadmin for 1000's of desktops in labs, and it took 2 seconds to switch them to dvorak and back.

Finally, while we're at it, if your company offers ergonomic consulting, DO IT! You'll be amazed how much more comfortable your typing is when you've fixed how you sit, your monitor height, and your keyboard tray.


> your hands alternate keys so much more than they do on QWERTY. I'm not sure if that has been studied for Colemak.

From TFA:

    The keys in Colemak are scientifically arranged with the following goals in mind:
    ...
    Typing should alternate between the hands for greater speed and comfort


Right, I saw that it was a goal, but when I clicked on the source it was just a link to the colemak advocacy wiki, which seems about as biased as I am towards Dvorak :)

I did find this page[1] on the wiki, and it appears that Colemak does way better than QWERTY, and worse than Dvorak. However, this was a test devised by a Dvorak advocate.. so it may be biased as well.

[1]: http://colemak.com/wiki/index.php?title=Hand_alternation


I switched to Dvorak (actually programmers Dvorak) about 8 months ago and I have to say that the jury is still out for me regarding the letter placements, but man o' man are the first layer symbols really nice (of course typing numbers is a pain in the butt now). There is actually a lot of interesting things you should consider that I doubt Dvorak actually thought of when designing his layout:

One thing people say is that Dvorak is supposed to reduce errors, but having all of the vowels right next to each other and all of the most common letters in the most common places actually means that it is fairly common for me to write a different real word than a clear misspelling, which plays havoc with auto-correct and spell checkers. And yes, Android can be set up with a Dvorak keyboard using Anysoft keyboard and the alternative us layout extension.

I will never get over the fact that 'ls' are both letters for your right pinky, very annoying for you Unixers.


> and your keyboard tray

i have an kinesis advantage pro too, hence i am wondering why you are using a keyboard tray and which one?

maybe you could answer two problems i can see with dvorak: a) home row changes. isn't this a big problem in vim, as in, you have to re-map basically every shortcut (otherwise you are basically de-dvoraking) b) wouldn't you need different dvorak layouts for different tasks? ruby needs different keys on the homerow than java, which is different to plain english which is then different to plain german etc

thank you


> i have an kinesis advantage pro too, hence i am wondering why you are using a keyboard tray and which one?

I don't remember which one, it's a huge flat thing that just looks like a big surfboard. I can try to find out later.

Why I use it is simple: when sitting with correct posture, the distance between my eyes and my resting hands is further than just using my desk allowed. The keyboard tray lowers the keyboard further without having to lower the entire desk and raising the monitor to a comical height.

> a) home row changes. isn't this a big problem in vim, as in, you have to re-map basically every shortcut (otherwise you are basically de-dvoraking)

I found an easy solution for this, see the bottom of my vimrc: https://github.com/codemac/config/blob/master/vimrc

    noremap d h
    noremap h j
    noremap t k
    noremap n l
    noremap k d
    noremap l n
    noremap j t
    noremap ^Wd ^Wh
    noremap ^Wh ^Wj
    noremap ^Wt ^Wk
    noremap ^Wn ^Wl
    inoremap ^] ^[A
    inoremap ð ^N
Keep in mind I mostly use emacs these days, which is an entirely different set of ergonomic challenges :) However, those changes seemed to have worked well for me.

> b) wouldn't you need different dvorak layouts for different tasks? ruby needs different keys on the homerow than java, which is different to plain english which is then different to plain german etc

You must answer the question for yourself: How much english vs. ruby vs. java do I type?

For me? most of my variables are English based, and all my symbols ()[]@$& etc.. are all in different places on a Kinesis keyboard anyways.

There may be a case for specialized layouts, but I think the amount of English that is keyed far outweighs any specialization.


I use vim and dvorak, and haven't remapped the keys. It's still usable since J and K are next to each other and H happens to be left of L.


Thanks for the great tips! I'll copy them over and quote you in the comments on the post.


I appreciate the fact that there may be technically better layouts than QWERTY (Dvorak, Colemak, whatever), I'm still unable to understand how this is going to help me as someone who can has been able to touch-type in the 100-120wpm range since middle school (that was over 20 years ago). How much faster do I need to type? By all personal measures, QWERTY is good enough and the fact that it is the standard means that I can sit down at any English keyboard and be able to type at my peak efficiency without having to switch my brain back and forth between two layouts. My fingers can already keep up with my ability to form coherent sentences and in programming/sysadmin work, typing speed is not very important once you get past a certain point. I literally never had the thought, "If only I could type faster, I could get this done more quickly..."

On top of this, as a heavy vi user, the main navigation keys are no longer on the home row for either Colemak or Dvorak, which means I either need to make my editing far less efficient, or remap nearly every key.

I have had many very intelligent people attempt to explain the switch to Dvorak to me, and never heard a good reason to invest the time. I am curious if folks invested the same amount of concentrated time improving their QWERTY skills (relative to the amount of time folks spend learning a new layout) if there would be a similar speed improvement.


As a Dvorak typing sysadmin who used to use QWERTY, the vi navigation keys work just fine on Dvorak. As it turns out, once you're used to Dvorak, you see that having the keys next to each other on the keyboard and on the home row doesn't count for anything in any regard, either memorability or efficiency. I had that reservation about Dvorak too, but ... nope. It's just not confusing or a slow down. It's far less of an issue that the sort of kludgy moded editing and reaching for escape. (I'm an Emacs user at heart. I gave both years of usage, and organically ended up using vi for quick edits, emacs for long editing sessions.)

It's sort of like the much-talked-about switch to reverse scrolling in OS X. You may think it's a big deal, but your brain makes the adjustment, and it just doesn't matter. Your vi editing efficiency should be pretty nearly unaffected. It might be very fractionally slower, since the navigation keys aren't on the home row, but .. I never notice it at all. It's definitely not far less efficient.

Not arguing that you should switch, incidentally. I could also touch type 100+ wpm on QWERTY. I never regained my original speed after switching. That's very common for very fast typists. If you don't put systematic effort into speed training, you'll lose some speed for switching. Not that it's that big of a deal.


The first thing I did when upgrading to Lion was to turn off "natural" scrolling. While arguably more natural when using a touchpad (and definitely when using a touchscreen) is entirely unnatural when using a mouse or trackball. It is counter to how every other OS on the planet has worked for 30 years and doesn't provide any efficiency gain.


Most people can't type that fast. But read the article again; it also talks about comfort and ergonomics.

I literally never had the thought, "If only I could type faster, I could get this done more quickly..."

I think few slow typists would have had that literal thought either. I know I never did as I approached up to my ceiling of about 70wpm.

If you're a heavy vi user, it's probably not worth it, but if you weren't and you did a lot of typing it might be worth it to see if it helps with comfort. Also, what's wrong with the fun of trying new things?


>I'm still unable to understand how this is going to help me

I sometimes consider changing layouts but it all comes back to that one simple statement. I don't touch type and I still hit the 120 WPM sweetspot on QWERTY - but I feel that any benefit of Dvorak/Colemak would be wasted if I didn't also learn to touch type.

I fear it would be a lot of work for no discernible benefit other than geek cred.


"I don't touch type" and "I still hit the 120 WPM sweetspot" does not compute.


One side benefit is that no one can shoulder surf your password.


Security through obscurity is not the best of strategies. If someone notices your shoulder surfed password doesn't work with qwerty, it's a trivial step to try it on dvorak/colemak.


If they know to try that, they deserve access to my gmail account. :-)


I just made the switch from QWERTY to Colemak this summer. Basically I started with only using it at home doing typing tutors and using it as my system default. Once I was up to ~30-40wpm after a week or two I switched my work computer's default over too. I'm now ~10wpm faster then I was on qwerty.

I mainly program and email at work, and Colemak was my recommended keyboard by the analyzer listed in here. Loving the layout, feels easier on the hands, and a big plus for me is my most used keyboard shortcuts remain the same seeing as the bottom row is almost identical.

Negatives is I find it hard to switch back to qwerty on demand on foreign computers where colemak isn't set. Have to resort to hunt/peck, but hey at least any keyboard you come across will be labeled correctly.

I'm planning on going back to qwerty for a week sometime and then keep using it occasionally to keep in fresh to try to get around the issue of using other computers.

My recommendation? Start with it at home with the basics where productivity won't matter much, once you have the basics down where you know where each key is you just are slow/inconsistent to it switch work over. I then saw a rapid increase by using it so much. The layout is great! :) And if you might run into other computers try to keep QWERTY up with using it occasionally.

Oh, and it will piss off others who use your computer, so make sure you have separate profiles set up at home so it's not a language bar war. Wife and I used to just both use the one account.


I've used colemak for ~3 years and love it. I have it set on a programmable keyboard, with matrix layout, that I built myself. So I can take it with me if I have to switch computers. When I'm on a laptop, my body knows it's qwerty time, and I see no slow-down.

I had a burst of ergonomic problems that made me switch. I have had zero problems since, and I work just as many hours.

I can recommend colemak.

I learned it by typing a novel from an author I wanted to learn writing style from (Murakami, pinball 1973). Took me maybe a month.


[deleted]


Colemak is a tradeoff between ultimate optimality, and shortcut / punctuation positioning for those switching from QWERTY. I agree, if you're learning a layout from scratch (if you're a young child who can't type yet, for example), then learn the best you can get. But if you're switching from QWERTY, the compatibility Colemak offers is indispensable (see the "Other layouts" section of the post).


Also, Colemak is more supported and available than any of those other layouts.


On both Windows and Mac you need to download a new keyboard layout for Colemak. It's not that much more work to go for a fully optimized carpalx layout.


This is not true. Colemak is available OOTB, even on iOS.


I've been cutting-and-pasting the type of code I write into the Keyboard Layout Analyzer http://patorjk.com/keyboard-layout-analyzer/

Now I want to switch to Colemak :/


Do it!


To those of you trying to learn a new layout, I've found a good way to practice and increase speed is to compete with others online in a typing race game like:

http://www.typeracer.com


I'm interested. But the article and the main site (colmak.com) fail to provide a full layout - or at least I gave up after being unable to check where my keys would go.

This is from a German that runs everything with a qwerty US english layout, because Germany uses a crappy qwertz layout where really every interesting character for programmers leads to pain and suffering to compose. What I get ~reasonably~ fine from US qwerty:

@{}[]~`/\|;':"

That's my measurement for any keyboard layout I'd be willing to try: If these letters are hard to type I cannot be bothered to switch, even if I certainly do type more prose than the chars above.


from the image at the bottom of http://colemak.com/wiki/index.php?title=Images it seems all those stay the same as us qwerty.


I really want to move to a better typing style but I'm nervous that I'll end up losing my current ability to type very fast and spend months typing very slow for no real long term gain. Has anyone tried re-learning typing after they've been typing 16 hours a day for half a decade? I can type at 120 WPM with 2 fingers (QWERTY) and don't want to end up typing at 60 WPM for 6 months while I learn to type with all my fingers in COLEMAK (or DVORAK) to find that I'm back at 120 WPM... I have no pain from typing 16 hours consecutively at the moment, so the only advantage would be speed.


Regardless of what you use, touchtyping is better than hunt'n'peck because it allows you to multitask. You can write what you want while looking at other things and evaluating them - there's an increased continuity between what you're writing and what you're thinking.


I have hard time seeing how it may be worth my effort. Switching layouts will probably be very painful and result in productivity drop - and then if I do it, it would be only working on the computers I specifically configure for that purpose. I wouldn't be able to use it on anybody else's computer or on any mobile device. If I were professional typist, the speed increase might be worth it, but otherwise I'd stick with the devil I know and everybody else does too.


I switched to colemak years ago, and it's really not that bad. It's a little bit mind bending to learn a new layout, but after about a week or two of practice, your mind sort of "clicks" into it, and it's like you've been typing that way your whole life.

During that transition period you do not have to use Colemak exclusively. You're practicing a new motor skill, and the returns on such practice diminish rapidly after an hour or so per day.

Once you've learned Colemak, you will have to use QWERTY for just a short time each day to make sure you keep those neural pathways from decaying. I did not do this, and I regret it. I do alright on a QWERTY keyboard though; it just slows me down a bit. On a mobile device, it really doesn't make any difference, since the letters are in front of my eyes.


People seem to underrate their ability to retain their QWERTY speed. I have used dvorak for the past 11 years, and yet my QWERTY typing speed (as measured just now) is still 75wpm.


I find that I rarely ever use anybody else's computer on which I cannot use Colemak. And on mobile devices, touchscreen QWERTY is just fine, since it doesn't suffer from the same inefficiencies that the keyboard QWERTY suffers from.

Bottom line: I get to use Colemak all the time that I want, and I never have a problem with mobile devices. Win-win!


So, I've read in several places that QWERTY was designed to slow typists down. Therefore, there must have been an older layout that was actually faster. According to wikipedia this is not correct (http://en.wikipedia.org/wiki/Qwerty).

The first layout was a simple minded alphabetical layout which jammed, so QWERTY was designed to let typists go fast AND not have the mechanical stuff jam up.


It's designed to allow a person to type as fast as possible within a set of constraints that are no longer relevant to the vast majority of typists.


I used dvorak but stopped because a) I developed wrist problems for a while (despite using dvorak) and reverted to hunt & peck to minimize finger movement and b) ctrl-c/ctrl-v were almost impossible to remap on windows (at the time).

This is promising, mostly because unchanged x, c, v keys.


I don't think developers are often held back by typing speed. I certainly don't produce code at 75 WPM -- unless I am writing something trivial. Other times, I stop to think and consider what I am typing, so what is holding me back is my thought speed.


I spent a month with Colemak and got to about 40 wpm. The transition to a new keyboard layout is HARD and takes a lot of determination. I know some people find it to be worth the learning curve, but I migrated back to qwerty.


For people who are worried about being unable to use QWERTY after learning Colemak, have a look at the graph in this post: http://www.ryanheise.com/colemak/


Is it common to type 110-130 WPM on Colemak, and is it optimized for English or design for global usage?


Every keyboard layout is going to be optimised for a particular language.


*designed


I touch type at 125+ wpm using QWERTY. Don't see any reason to switch at this point.


Someone knows about other languages? For instance, what about french?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: