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)
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.