Friday, June 18, 2004

Whither Keybindings?

If I knew JoeN personally, here's what I would say to him:

Is there any science in this? Or just your idea of what makes sense? I don't ask to be accusatory - I have a real reason. :)

A few years ago, I was teaching a short .NET class at the University of Waterloo. I used emacs for something in front of the class, and one of the professors mentioned that a grad student of his had researched the impact of key bindings on productivity. He studied the emacs key bindings, a carefully designed set of bindings, and (as a sort of control) a completely random set of bindings. What was interesting was that users were able to learn even the random key bindings in fairly short order. What was more interesting however, was that the emacs bindings tied the random key bindings for usability! Both of them were significantly worse than the carefully designed set.

The point to all of this, of course, is that there isn't really an easy way to gauge how “good” a set of key bindings is. If you're really interested in helping developers, please actually do some research and see what works. Maybe you've already done this (kudos if so), but from your post it doesn't look this way. And at a company that actually does usability studies, I suspect you have the people in-house who could help you do it right.

Ultimately, it probably doesn't matter to me personally. Based on watching hundreds of students and dozens of colleagues work, I know I'm an atypical user when it comes to keyboard/mouse usage patterns. So even if you do come up with something that's optimized for your typical customer, I'll likely hate it. :)

Update: Joe responds that he did indeed work with a usability team to come up with the new keybindings. Very good! Apologies for any aspersions that were inferred - this is the sort of careful work that should be congratulated, whether or not you agree with the decision to change things.


  1. I also think it has to deal with the type of people your dealing with, i.e. having people in a development environment vs. a user environment. When my wife asks me how to do something across our two desks, I'll usually answer in some cryptic (she says) combination of Control-Meta-tap-dance-hokey-pokey when she is looking for "click here. then here. then here." When teaching our interns how to use subversion / dreamweaver / whatever I find myself getting frustrated because they're taking so long using the mouse to get around.

    Look at Mac kids, some of them are key binding wizards, but 99.9% of them know Cmd-Q because it benefits them directly.

    Although Apple's move to put emacs key bindings in XCode (Project Builder) was one hell of a coup.

    I'm in your camp. Just it sucks when you change them on people. Imagine if emacs changed their bindings, you'd have an enormous amount of gripes, but like any change in the software world, people will get over it.

  2. the emacs keybindings in xcode are a standard cocoa thing (try them in TextEdit, for example), that've been around for years -- apparently someone at NeXT was a big emacs fan (and as a vim guy myself, it pisses me off immensely...)

  3. Do you have a link to this research on keybinding productivity?

  4. Unfortunately, I do not. Some googling a while back failed to turn it up, but maybe you'll have more luck: it was a student at the University of Waterloo in Canada.