Why Keyboard Shortcuts Don’t Matter

Photo taken by http://flickr.com/photos/cc511/So, my last post was all about how I’m trying to become more productive by learning a set of keyboard shortcuts that I can use for faster text/code editing. In this post, I’m going to argue against the premise that it could actually make you faster. The reasons I’ll outline include opportunity costs, lack of portability, anything else? Well, we’ll see, won’t we.

First, opportunity costs. Yes, the dirty little secret about using keyboard shortcuts is that it takes time to learn them. The same could be said of command line interfaces. The main reason that most users (i.e. non-power users, those poor souls) don’t use keyboard shortcuts, or command line interfaces, is because of the learning curve. And there is an obvious learning curve. I’ve spent too much of the last couple days working to remember the keyboard shortcuts and use them a lot so I can make them habits. “But wait!” you say, “It’s an investment!”. Sure, ok, I can buy that. Now let’s look at the numbers to see what the payoff on that investment is. This page seems to indicate that you could save 16 hours a year by using keyboard shortcuts. Two whole workdays. Um, that’s not much when you consider that it probably takes more than two full workdays to develop the muscle memory needed to really gain that much time savings. So you won’t really start to see a return until you’ve been doing it for a couple years. Of course, others state that the mouse really is faster, so I’m not sure why I even argued that point. Okey, I know, the point is that the mouse is faster for people who haven’t yet built up that muscle memory. But then again, maybe not.

Ok, now let’s talk about opportunity costs. What else could you do with the time invested in memorizing keyboard shortcuts and making their use habitual? Wisely invested, a few days each year could let you read lots of books, take training courses or attend seminars, develop personal productivity tools (more on this in a future post), start learning a new programming language, or listen to the 1000 songs that can fit on your iPod nano. Doh, I mean your Zune.
Anyway, the next challenge is portability. Sure, you might learn all the cool keyboard shortcuts for vim, or emacs, or Visual Studio, or whatever. But you can’t then use them in the others, or in Notepad, or a web browser, or a mail program, or whatever. Even the really basic navigation ones, much less the more interesting ones and potentially useful ones. This actually makes using other programs more difficult once you’ve mastered a lot of app specific shortcuts. Unless you want to go the route of the “Emacs As Operating System“, which may actually have benefits, but only for a very small subset of people.

Basically, those who would use Emacs As Operating System are people with a great memory. Those who can memorize, either in the head or in their muscles, thousands of useful commands. The rest of us are ok with a JIT use of commands. We find them and use them when we need them. Keyboard shortcuts are useful for commands we use more often then once an hour. That can actually include quite a lot of commands if you’re a developer who lives in a text editor of some type most of the day. But it probably doesn’t extend much beyond that. And trying to develop muscle memory of commands used less frequently will be very difficult.

Wow, I think I talked myself out of my latest project. Guess I’ll have to go find some other way to save 16 hours a year…

2 Responses to “Why Keyboard Shortcuts Don’t Matter”

  1. David Weiss Says:

    Showing the emacs roots of the NeXT team, every NSTextView in Cocoa responds to the emacs commands like ctl-a (beginning of line), ctl-e (end of line) etc. Just a tidbit. Oh, and NSTextViews are used everywhere in Cocoa apps.

  2. Rock Hymas Says:

    Hm, maybe I need to go buy a Mac after all… Just got to get past the WAF (wife acceptance factor)