This Blog has moved!

This Blog now lives at Comments on this page are disabled and it is only kept because of my general aversion to broken links. Please update your feed readers to

Wednesday, March 14, 2007

The Macintosh Keyboard

I've just noticed that I've been writing this blog for a few months now, and I've never posted a proper tech rant. A "tech rant" is when a blogger gets up on a metaphorical podium with a decent piece of design or technology that millions of people use everyday without hassle, and tell those millions of people what a stinkin' piece of crap they've been unknowingly stuck with all this time. It's fun.

Our subject of the day will be: the Macintosh keyboard. I know, it won a gazillion prizes for industrial design, it's the main human-interaction device for the most user-friendly OS in existence, it has a wonderful soft-touch feel, and it's on display in the San Francisco Museum of Modern Art.

Well, it stinks.

First, there's a bunch of symbols missing. I can empathize with the designer's wish for a clean and pure layout, and it looks awesome in photographs, but googling "mac special characters" when you forget that ~ on an AZERTY keyboard is ⌥-n-space gets old real quick. Of course everybody knows that tilde is mostly used in spanish for the letter 'ñ', so that makes the ⌥-n-space shortcut really intuitive.

Speaking of intuitiveness, what kind of sick deranged mind ever came up with the idea of Glyph Notation ? In case you don't know, glyph notation is the amusing practice of referring to special keys (in menus, documentation, even help files) not by the key's name (conveniently written on the key itself) but with symbols that have absolutely no relation whatsoever with the key's name/shape/form/usage/history. For example, esc is ⎋, ctrl is ⌃, the option key (you know, the key with "alt" written on it) is ⌥ and the command key is ⌘, which surprisingly is drawn on the key, along with a hollow apple that doesn't appear anywhere else. (In case you're wondering: no, "command" isn't written anywhere on the keyboard.) Even though I get a real kick out of having a key with a hollow apple drawn on it, because it's cute and reminds me of the Apple IIc that introduced me to computing twenty years ago, I must admit that it doesn't make any kind of sense.

And don't get me started on "enter" (⌅) and "return" (↩). There's a key with "enter" written on it, and another one with both "return" and "enter". (I believe that if I were to forget about the existence of the "enter" key I could get the same effect with fn-return, but it might be the other way around.) According to legends, old folk tales and post-it notes some guy claims to have seen on Steve Jobs' desktop, both keys have subtly different effects. I sure hope so, because they're taking up valuable keyboard real estate on my PowerBook G4, which is so small and optimized that it doesn't even have "insert" or "delete" keys. Very sad, considering "insert" has the outstanding quality that at least I know what the hell it's for.

Despite all those non-sensical gotchas in what I'll call (for lack of a better word), the "design" of the Mac Keyboard, Mac fans seem to love it. Self-described power users even brag about how much more powerful their keyboard shortcuts are because there's four modifier keys on a Mac.

People who don't use both platforms regularly might not be aware of the subtle differences between them, so allow me to explain. Disclaimer: reading the following paragraph might cause your brain to give up on you and move to Ecuador in search of better climate and a less life-deprived body. You've been warned.

PCs don't have the ctrl (⌃) key. I mean, yeah, they have the Ctrl key, (note the capital "C") but their Ctrl key is really the equivalent of the command (⌘) key, not ctrl (⌃). So Windows PCs have three modifier keys (Ctrl, Alt, Shift) and Macs have four (cmd, alt, ctrl, shift). Now I know some of you annoying smart asses are going to tell me that PCs have the AltGr key — which Macs don't have — but this doesn't really count, because AltGr is really Ctrl+Alt, so it's not an independent key. [Update: Windows developer Deadly Smurf points out that it's possible for an application to distinguish between AltGr and Ctrl+Alt, although very few ever do, and having different behaviour in the two cases is generally considered bad design.] There's also the Windows key, but this is reserved for the OS (or seems to be. I've never seen it used by a client application) and is a joke anyway, the product of an underused mind somewhere at Microsoft, who one day looked at the space between "Ctrl" and "Alt" and thought "What a waste. Let's replace this useless empty space with a useless key, and make it do vaguely useful things in Windows 95". He brought it up to marketing, who immediately loved it, thinking that if by some off-chance the Briefcase failed to cause mass-adoption of the new OS, this "Windows key" certainly would. Last but not least, if anyone comes up with how the Mac's ctrl (⌃) is not needed on the PC because PC mouses have more than one button — on a Mac ctrl-clic gets you a right-click. Confused yet ? — I'll just have to take him outside and shoot him, because ctrl (⌃) is used in keyboard shortcuts, so it is a full-fledged modifier key.

Now where was I ? Oh, yes. Mac power users. (Am I the only one who thinks of "power users" as "people who spend so much time customizing their computer and optimizing their settings and tweaking their applications and whatever that they never use their computer to actually do anything" ? Just wondering.) So, they're bragging about those four modifier keys. As if that was obviously a good thing. As if there really was such a dire need for more key combinations.

Have you ever computed how many combinations you could get with three modifier keys ? I'm not very good at combinatorial arithmetics, but three keys should have as many states as a three bit register, which is, I think, eight. In any context where you're inputing text, using either no modifier key or Shift alone will simply input the corresponding character. And Alt is the menu key in Windows, so we're left with "only" five usable combinations for keyboard shortcuts.

The vast majority of Windows programs use Ctrl for the really obvious stuff (Save / Close / etc.) and Ctrl+Shift for the slightly less obvious stuff (Save As...), leaving three other combinations for obscure functionalities and user-defined shortcuts. As a rule, most programs don't use Alt-Shift nor Ctrl-Alt-Shift, so this means that whenever you think a function is worthy of a keyboard shortcut but Ctrl- is already taken, there's a good chance that Ctrl-Shift- or Ctrl-Alt- will be it. This is good. It means that most windows programs have very predictable keyboard shortcuts, and ease of use is all about predictability.

Now on the Mac, not only do you have four modifiers but there's no designated menu key. (It's ctrl-F2. Which means ctrl-fn-F2 on laptops. Apple obviously thinks Mac OS' menu bar's mouse implementation is so fast that there's no reason to ever use the keyboard. Amazingly this is mostly true.) This gives you fourteen possible combinations for every key on the keyboard. Which is very impressive until you realize that you effectively have zero chance of ever guessing a keyboard shortcut you've not seen before.

What compounds the problem is that beyond the really obvious (New/Open/Save/Close/Quit and clipboard ops) there's almost no convention for keyboard shortcuts across applications. Even really basic stuff like "move caret to beginning of current line" (the "caret" is the blinking vertical line that shows where you currently are in a document) can be either home or ⌘←. Move to next window/tab is either ⌘˜ (on US keyboards), ⌘> (on many other keyboards), ⌘→, ⌥⇥, ⌘⌥→
or nothing (which means either use the mouse or ⌃F2, W, ↑, something).

Things don't have to be this way: application developers could just follow best practices and standardize on something sensible. "Sensible" doesn't mean "the best design possible in a world where no other application exists", but "the design which will make our application easiest to use for our target audience, given what programs they've used in the past and the habits they've acquired in so doing."

Until this becomes widespread practice, user interface on the Mac will be a far cry from the total perfection described by fans.

1 comment:

Rolando said...

There's also the Windows key, but this is reserved for the OS (or seems to be. I've never seen it used by a client application) and is a joke anyway ---> pro tools ;)