Thursday, January 3, 2008

Choose Your RSI

With his usual insight, Gruber discusses Bruce Tognazzini's classic analysis of keyboard shortcuts vs. mouse usage:
The main point here is that according to Apple’s late-80s user testing, it takes longer to use keyboard shortcuts than to use the mouse for most tasks, but it feels like the opposite is true, because for some reason people don’t notice the (significant) time that it takes to recall just which keys to press to invoke a keyboard shortcut.
I've seen Tog's analysis before (although possibly not all of it) and, while I agree that shortcut users tend to over-emphasize the gains - even to the extent of requiring keyboard shortcuts to every damn action no matter how many keystrokes it takes to eventualize the shortcut - I also took exception to the idea that the mouse is faster in all instances.

In addition to the exceptions that Tog and Gruber point out (two-handed input and repetitive actions), I would suggest another win for keyboard shortcuts: learned reactions.

Sure, when you first start using an application or operating system, it takes you time to remember the keyboard shortcuts, probably longer than hunting for it with the mouse. But after a while, you tend to learn the shortcuts for the actions you use most, and for those actions, the shortcut is probably going to be faster than using the mouse.

I do this all the time. When I first started learning to edit video in iMovie, I had to use the menus for just about everything. Eventually, I learned how to split a clip (Cmd-T), add a chapter marker (Cmd-Shift-M) and save the frame as a stillshot (Cmd-F), among others. These were actions I used a lot. Maybe other editors used different actions frequently, and so learned different shortcuts.

With regards to Gruber's last paragraph:
It’s obvious that commands that are used frequently should get shortcuts, but so too should commands that, even if they’re used infrequently, are likely to be invoked several times in short order when they are used.
It comes back to the fact that different commands are going to be common for different people. This is why Mac applications tend to be better than Windows applications: Apple developers spend time figuring out which commands will be common for most people and give them shortcuts. They may not get all of them for everybody, but they do a good job of getting most of them for most people.

Windows (and for that matter, all flavors of X-based UNIX) kind of throws its hands up and says, "We have no idea what you're going to do with this, so we'll give every single command in the menu system a shortcut. You just have to use Alt-(something) to do it, where (something) is some random letter contained in the name of the command." (And yes, I realize that Microsoft and other Windows developers do spend time figuring out which commands to attach Ctrl- shortcuts to, but in my experience, many Windows users get annoyed if you don't give every single command an Alt-based shortcut as well.)

Like many arguments, I think the whole "keyboard shortcut vs. mouse" argument is a false dichotomy. The best efficiency is achieved through an intelligent combination of both.

9 comments:

Anonymous said...

I'd put money on the idea that a room full of secretaries using WordPerfect 5.1 that had been using it for years and knew the keyboard shortcuts in muscle memory would type that pants off a room of secretaries presented with Word 6.0 back in the day.

The place where the Mac really shines in in consistency of keyboard shortcuts and menus. One only has to look at the clusterfuck that is office 2007 to realize that menu and tool-bar designs that change are worse then shortcuts and menus that are static across code revisions.

David Smith said...

WordPerfect is a great example. Even though it was a horrendous interface (especially by today's standards), people that used it enough could do Shift-F7-Alt-F1-slash-K-8-F9-Ctrl-P to print in a flash.

Eli said...

Here's where the argument loses me. Supposedly it takes two seconds to recall key shortcuts. Ok, supposing that's true, it takes me, on average, two seconds to move up, click, move, and select a menu option with a mouse. Where's the speed gain? I would argue that mousing could be even more disruptive because even if I'm familiar with the menus I have to move my focus, parse, acquire, parse the new options and acquire again. I then I have to refocus on the actual work and get back into the flow.

Unknown said...

I don't think that Tog is advocating exclusive use of mouse commands. He is commenting on actual research at a given point in time.

That the research pointed to a time misperception on the part of the keyboard command users, indicates that no amount of discussion, however well-reasoned, will counter the research quoted - only more actual research.

Anonymous said...

He is commenting on actual research at a given point in time.

And that's the critical point. Tog is talking about what the research showed, as opposed to what people perceive to be true. If we want to advance the discussion by doing more research, not saying "I'd put money.." or "In my case..."

Anecdotes are not data.

Chris Adams said...

Colin: I agree that this should be revisited - in particular the degree of computer fluency in the general population has risen dramatically and calls into question the validity of such old results.

That's not to say, however, that only research can address the question: given that the research-based claims are contradicted by just about everyone's real-world experience it's worth questioning whether what Tog measured is the same thing everyone else is talking about. I think it's pretty clear that they're talking about different things and that the mouse-centric model is only reasonable for the specific thing which they tested: casual users with unfamiliar software which has been designed where the hotkeys map directly to a single mouse action.

It's not unreasonable to say that we can't draw many comparisons between computer-illiterate users on primitive software 20 years ago and people who are far more comfortable with computers (most of whom grew up using them) and using software which has been significantly improved both in general usability and specifically interface consistency. This point has been made in other areas - Stephen Gould ran early 1900s IQ tests on his Harvard students in the late 70s and found a massive improvement not because they were uniformly brilliant compared to their predecessors but simply because anyone at an elite school by that point had literally grown up taking standardized tests and that facility translated into a higher score for reasons which had nothing to do with innate intelligence.

This is supported by e.g. the focus on keyboard navigation in pro-oriented apps (Apple's Aperture is a great example) and in commonly reported trends like the legal secretaries who resisted moving from WP5.1 for years because losing the keyboard shortcuts made them less productive in a job where every second counts. This also highlights the other reason why Tog's research isn't representative: the model assumes that one keystroke maps to one mouse action. When people use applications which have been designed around a hybrid approach (e.g. photoshop or aperture) or have completely different models (e.g. the Unix shell or LaunchBar/QuickSilver/etc.) this comparison breaks down because the equivalent to a couple of trained keystrokes is many mouse actions which require some cognitive activity.

For example, on my computer launching a program such as Microsoft's Remote Desktop Connection (which happens to be the last program I ran) requires one chorded-keystroke (option-space) and 2 letters; the equivalent mouse action requires 4 actions but that requires two complicated actions (selecting a folder which has variable screen position and scrolling through a list to select the program I want) which each take 2-3 times longer than the keyboard action and, importantly, cannot become rote actions because the onscreen position isn't consistent.

There are other cases where the mouse will be better (e.g. searching for image content) and most cases where a hybrid approach is the best (most image manipulation). None of this contradict's Tog's earlier research - it just demonstrates that what they measured isn't universally applicable.

shawn said...

I would also like to add that I think things can change as the complexity of a program increases. I spend the majority of most of my working hours in AutoCAD. For just about every command you could possibly think of there's at least one keyboard shortcut/macro, a toolbar icon somewhere, and a drop down menu. If I were to bring up the toolbars to cover all the functions I regularly use, I'd have a vast sea of tiny icons to go along with the vast sea of drop down menus that I already ignore. (Seriously, there are 22 different drop down menus.)

Now I'm certainly not going to argue that AutoCAD's interface is anything other than horrendous, but in reality it's such a complex and flexible program that it has to provide so many options to a user that I'm not sure there's any way to navigate it quickly with a mouse. After a few months, I didn't even have to look down to find most of the key commands, muscle memory took over.

I don't think it's anywhere near as simple as saying "the mouse is always faster than the keyboard" or vice versa. It's probably very task and application independent.

Jason Freidman said...

I'm an emacs user and use tons of keyboard shortcuts. Muscle memory plays a huge role, and I can type and browse documents far faster than any mouse user.

In terms of design, the emacs shortcuts are generally designed such that the most common ones have the fewest number of keystrokes -- this, like a form of huffman coding, allows the most used ones to be accessed quickly

75th Trombone said...

You've not only nailed the main advantage of keyboard shortcuts, but you've identified the probable flaw in the research Tog talks about.

Keyboard shortcuts are a net win only after days or weeks of usage. They require fluency to be faster than mousing.

I do not care how many dollars Apple invested in R&D on this problem; I am still skeptical that their user testing took people with weeks of consistent keyboard usage on tasks A, B, and C, and put them against people with weeks of consistent mouse usage on tasks A, B, and C.

I e-mailed Tog about this, and he couldn't give me specifics on the user testing scenarios he's citing. If I'm right — if Apple didn't do exactly what I described above — then that particular research is meaningless.