Dojo (HowTo)







  Easter Eggs




  Martial Arts

Menus: Shortcuts
Using the keyboard to make life easier.

By:David K. Every
©Copyright 1999

There have been many arguments (interface wars) fought over keyboard shortcuts. This is a hotbed of controversy. For now, you get my opinions on all this.

There are two types of usage. Entry (inputting information), and Hunting/Editing mode (where you are usually acting on, or editing the data that has already been entered). When in hunting mode, there is little question that the mouse is faster. In fact, your hand is already on the mouse, and you are issuing formatting commands, selecting text (or other objects), and doing lots of little switches (between keyboard and mouse). When in entry mode, you are usually just typing (or drawing) -- in which case, there are few shortcuts that are needed. So where is the keyboard faster? The 3rd mode -- for those that interleave both entry and editing. It is faster (for most people) to just enter everything, then switch mental contexts, and edit. But it is hard to teach this to users -- many are determined to format as they go, and for those people, keyboard shortcuts become a religious war (for the rest of us the mouse is faster, for all but a few shortcuts).

Starting up

When you are first learning a program (and exploring), you use the mouse -- it is far faster than the keyboard. Most people don't use individual programs enough to get past this phase -- they get the basics down, but that's it. If the average person uses 10 programs -- they will probably only really know one or two -- the majority of the programs they just use occasionally (and wander through) -- and for those apps, the Mouse is better (95% of the time).

But there is still the other Applications (the ones that users really use a lot) -- for those, the keyboard shortcuts become important. People think that the shortcuts make them faster (1) -- this is not always true, but users don't want the truth, they want validation and acceptance.

(1) People often think that the keyboard is faster, when it is not. What happens is this; when people are thinking about a keyboard shortcut, their brain blocks out a sense of time, they do a mental look up, remember the key, then press it. Sometimes seconds can go by, but the user THINKS everything was done instantaneously -- so they are sure that the keyboard was "fast". You can watch this phenomenon in users, and in fact a study at Apple (and a couple elsewhere) have shown that the mouse is faster, far more often than people think. The only way it is really faster is if the user really knows the keys well, and presses the key as a pure reflex.

Some of the studies were done in the 70's or 80's. Some people argue that the times are changing, and that larger screens and longer mouse moves are "slowing down" the mouse menus. This is true, but then contextual menus and chicklet buttons may be compensating for that (once again making the mouse faster than the keyboard). So in the end, I think the mouse will still win over the keyboard, at least far more often than most people think (especially what DOS or Windows users -- but then these are often the same people that didn't want to give up their command lines).

So the only people that need a lot of shortcuts are Power-Users, and then it is only on the minority of their applications, but those people want shortcuts for EVERY menu item. (Actually, they only want them for the menu items that Applications don't have shortcuts for, but this works out to be the same thing).

The war is this -- do you cater to these 5% of users (and the 1% of applications that they are really power-users on), or do you tailor your app for the other 95%?!?! (Engineering is about trade-offs). Do you make keyboard shortcuts for Every key, thus burdening the user, confusing them, making their lookups longer, and playing into their misperceptions that the keyboard is faster? (Like Windows). Or do you instead, recommend that App developers only make shortcuts for the functions that people are likely to do often (and that aren't going to require mouse intervention)? (Like the Mac).

Why the either/or?

People ask, "Why can't you cater to both"? For the same reason you can't make a car that is both a great sports car, and a good SUV (4WD Sport-Utility Vehicle) -- the goals are diametrically opposed. The more shortcuts you offer, the more shortcuts you force (intimidate) the user into trying to learn. Then the more complex your program will seem (to users), and the more shortcuts the user will forget. Furthermore the more menus that you create keys for, the less sensible the keys will become (example: command-R for "Document Settings", why? Because that was the only key that wasn't already used). The more shortcuts you offer, the slower most people will be on your program. Think about that -- users will have to do longer mental "lookups" ("What shortcut is that?") when they are trying to remember the right key for THIS application -- this slows all but the top few % down.

Mac -- Apple decided that the better approach was to make keyboard shortcuts for ONLY the most frequently used keys, and to define standards as much as possible. Apple decided to have each shortcut letter clearly displayed to the right of the Menu (with the Command Symbol and the key to press). Many features (like preferences) don't need shortcut keys, because the user is not frequently doing those actions. If users are using a menu command often (and it isn't going to require mouse interaction), then there should be a shortcut made. In other words the Application should be adapted to the way the users work, not force the user to adapt to the way an engineer thinks.

Certain sets of keys are pre-defined by Apple. Undo, Cut, Copy, Paste are Command Z,X,C,V respectively -- with command-B sometimes used as clear. This makes the keys on the bottom left of the QWERTY keyboard follow each of the "Edit" menu items (z-is the first item in edit, x- the second, and so on). It also means that while editing and moving things with the mouse (in the right hand), it is easy to select these keyboard shortcuts (with the left). Other letters are specifically reserved as well - Q for Quit, S for Save, P for Print, and more. On the Macintosh shift, option, and control keys have been added as modifiers for command keys shortcuts, allowing more combinations, and logical groupings (command shift I, B, T for bold, italic, and normal). But Apple, hasn't done enough to keep up and force programmers to standardize even more keys. The Mac is the best, but it could be far far better (starting with for more keys being standardized by Apple) -- SCORE: 4

Windows -- Microsoft decided rather than making the tough decisions, and giving some UI guidelines -- they would just make every menu item have a keyboard shortcut. While apple didn't create enough standards for various keys, Microsoft solved their dilemma by creating none (but requiring far more). Fortunately, some standardization was done from the grass roots (by developers) -- but it is still not as good as the Mac way. In order to accomidate the "every item must have a shortcut", Microsoft created two distinct ways of doing shortcuts.

ALT - In order for every menu item to have a keyboard shortcut, the process requires two steps (instead of the Macs one). You first press the shortcut for the menu (alt-F, for the file menu ) then select the item shortcut (alt-C for close). By having every item require a keyboard shortcut, developers have to use every key in for their menu items (sometimes twice) -- this means that keyboard shortcuts are harder to remember (because there is more of them, and they are two keys instead of one), and far less likely to be consistent across Applications. Of course, there are always multiple ways to do things in windows (to keep users confused), so you can use the arrow keys (after first selecting a menu shortcut) to go back and forth across menus as well (never mind that it is far slower than the mouse). So in Windows you can substitute 24 key-presses (to search for a menu item) to save one command-key shortcut or one simple mouse drag.

CTRL - The ALT method is too slow (and a multi-step process), so they had to create another way that was more Mac-like. So Microsoft copied the Apple's shortcut method as well by using the control key (and the shortcut) (2). Because the ALT-Shortcuts exists, the CTRL-Shortcuts are used far less often, and are far less standardized than on the Mac.

(2) I think Microsoft used the CTRL key, to do their direct shortcuts, because the ALT-key was in the same place as the Macs' command-key. This means that people trained on a Mac would now have to retrain their reflexes for Windows (and visa-versa) -- which would prevent people from "switching" from Windows as much. (Remember, Apple did it first, so everything Microsoft did different after that, was a way to be intentionally different). The CTRL-key is also a longer reach, making shortcuts harder, while reducing productivity and increasing strain.

Because of all the keys, there are two ways to display shortcuts. You have little underlines (that denote ALT-shortcut), and CTRL-Letter on the right side of a menu, like the Mac. But people put ALT-shortcuts to the right of the menu as well (just to keep things confusing). Sometimes, there are shortcuts by just using keys (like insert, delete, or function keys).

Even something as simple as copying and pasting text on Windows is not so easy. Some Applications use the Macs cut-copy-paste method (with ctrl-X, ctrl-C, ctrl-V), while others use alt-delete and alt-insert or sometimes ctrl-Insert and ctrl-delete (as cut and paste), still others use both, and some use neither. It is pretty complex in the windows world, and there are no real standards. The result of this anarchy is that the user has to retrain himself for each and every application, or that ONE application will behave differently from all the others (causing mistakes, confusion and unneeded complexity).

NOTE: The first rule of engineering: there are no free features! Every feature you add, will cost lost of money to test and debug. The more complex the system gets, the worse it gets for companies and users. Microsofts shortcuts have cost Microsoft, and other companies thousands, if not millions of dollars in testing -- and cost users hours of lost productivity.

It is far harder to explain how Windows shortcuts work, because there are far more possibilities and it is more complex. Despite some protests to the contrary, I've watched both Mac and Windows users use shortcuts, and Mac users are often far better. I've even done a little play study, where I raced power users, asking them to do functions, and watching which was faster. The Mac users almost always win, by a large margin -- despite being more willing to use the mouse.

Despite all this, Windows does have the functionality of having more shortcuts -- and users want them, even when it slows them down, makes the system more complex, introduces errors, and caters to a fallacy. So I am scoring Windows the same as the Mac -- SCORE: 4

NeXT - NeXT has menu shortcuts that basically behave the same as the Mac (there are a lot of things about NeXT that I like -- and they seemed able to understand what was "right" the way it was) -- SCORE: 4

BeOS - in general, be behaves a little like the Mac, and a little like windows. There is nothing there that is truly original or unique. Be had the opportunity to define standards far better than the others (because they came to the game later) -- but I have seen nothing to indicate that they are going to do so. In fact, Be wants to cater to programmers (not necessarily to users) -- and as such, they are not nearly as draconian as they should be about interface. The results being, that instead of turning their "newness", and the lack of Apps (numbers) into an advantage (by enforcing more standards), they are just as bad as the rest -- SCORE: 4

Others -Unix and the others don't really value consistancy of interface, (like BeOS) they are instead catering to programmers (and not users). The results are predictable -- a lack of standards and consistancy, often far worse than Be or Windows. SCORE: 2


So in case you didn't notice, I dodged this whole issue, by just scoring them a draw. Personally, I prefer the Mac way -- and in watching users, I generally have seen that Mac users are better (overall) at using shortcuts -- but there are enough power users (on particular apps) in the Windows world, that I can't be too sweeping in my condemnation of bad interface -- many people like bad interface and, ultimately, I have to put up with it.

[return to Menus]

Created: 12/21/97
Updated: 11/09/02

Top of page

Top of Section