Monday, February 13, 2006

The Design of Laptop "fn" Keys

On every PC laptop made in the past 5+ (10+ ?) years, many of the “F1” (F2, F3, …) keys, and sometimes some of the other keys (the arrow keys in particular) serve two purposes. When pressed normally, they act as their respective key — F1 acts as F1, etc. However, when pressed in conjunction with the “Fn” key, they perform a special function indicated by an icon on the key. Usually both the icon and the label on the Fn key will be blue (whereas the other key labels are white.) For instance:

Demonstration of Fn-modifiable keycaps

Today, one of my professors tried to hook up his laptop to the projector and was befuddled when it didn’t work. As soon as I saw him struggling, I knew that the problem was that he had to turn on the external video out. PC laptops typically have three display output modes: internal LCD only, external (VGA, or sometimes DVI these days) connector only, or both internal and external simultaneously. In order to change the mode, one typically has to either use the Fn function of one of the F keys (typically F5, F6, or F7.) Sometimes it can also be done through some buried option in the Display control panel.

The reason I knew that this was a problem is because almost every single professor who I’ve seen hook a laptop up to a projector has had to do this and had no idea what they had to do or how they were supposed to do it. The notion of hitting Fn in conjunction with some other key didn’t even seem to occur to them. Here’s something that’s a common thing to need to do, and laptop designers have tried to come up with a design that affords doing it (Fn is always next to Ctrl, so it should be natural to interpret it as a modifier key, and the color labels reinforce hitting Fn in conjunction with specific keys), but their design has failed, even after it’s been around for so many years and people have had a chance to get accustomed to it. Why doesn’t their design work? (And why do they keep using it?)

One problem with the “Fn+blue” design is that the labels on the keys are almost always terrible. Okay, the volume labels — often the Fn+arrow keys will control the volume or generate page up/page down/home/end — are pretty recognizable, but it’s easy enough to control that from within Windows, and a dark blue label on a black background doesn’t stand out (although some keyboards are much worse about this than others, I’ve seen ones where you need to really squint to see that there’s anything there at all), so that one doesn’t tend to get noticed or remembered. Also, many professors, the group of users who I’ve had the most opportunities to observe trying to hook up a laptop to a projector, don’t use sound on their laptops, so they’ve never needed to control the volume. The label for toggling the display mode is either a cryptic image (A keycap), a slightly less cryptic image (Another Fn keycap), or a confusing text label (Yet another Fn keycap — even those few users who know what a CRT is are unlikely to associate it with trying to use a projector, since a projector is not a CRT).

Another problem is that users don’t expect to have to turn on the VGA output. It doesn’t match any of their experiences with plugging things in (most of them haven’t plugged in digital audio cables to their sound cards or receivers), and it doesn’t even match their experiences in plugging in monitors to desktops. It also isn’t very consistent. Sometimes it does just work, because they happen to have been in “internal+external” mode, and then for no apparent reason, they’ll have gotten switched to internal-only the next day.

Finally, I don’t think that users conceptualize Ctrl, Alt, etc. as modifier keys; that is, keys which, when pressed in conjunction with another key, change the behavior of that key in a predictable way. I think they get conceptualized as chording keys, or parts of a two-key combination. Ctrl-S doesn’t get conceptualized as “like pressing S, but I’m also pressing Ctrl so it will behave differently than the way I normally press S.” Instead, Ctrl-S turns into “pressing these two keys together to act as a different key entirely.” Users are right. The change in behavior produced by modifier keys is so rarely systematic (what does it mean to “Ctrl” something? To “Alt” it?), and the behavior produced by the combination bears so little resemblance to the normal behavior of the base key (the act of saving has nothing whatsoever to do with the act of producing the letter ‘s’), that there’s no reason to expect people to think of Ctrl/Alt/Fn as modifiers. It’s even hard to say what “Ctrl” means as an independent concept. Ctrl (in Windows) means “do something”, which is pretty meaningless. Alt (again, in Windows) seems to mean “shortcut to menus”, but most users don’t know about that either. The consequence of this is that users don’t feel that the behavior of chording keys is something they can predict. If Foo-S has nothing to do with either Foo or S, but does something completely novel, why should one be able to intuit what Bar-S might do? Fn actually does have a meaning — manipulate system hardware functionality in the way stated by the blue labels on the key caps — but meaning is not something that users expect to find.

The way Apple does things is different in a revealing way. First, Apple doesn’t use color to differentiate between the Fn function of its keys and the standalone behavior, everything is the same shade of gray. They use position (unmodified behavior on the left side of the key cap, modified behavior on the right.) Second, the modified and unmodified behavior are the inverse of PCs. Color would probably be better. F4 by itself decreases the volume, and Fn+F4 produces F4. (The exception is the arrow keys, which are arrow keys unmodified and page up/page down/home/end in conjunction with Fn.) The only time I’ve ever had to use one of the F keys on a Mac is F5 to bring up autocomplete in Xcode, and F12 for Dashboard, so the fact that needing to press Fn+F4 to get F4 doesn’t leap out at a naiive user isn’t all that critical, the F keys get used a lot more in Windows (application menu items are often bound to F keys by default.) Third, it’s much easier to find the software display controls in Mac OS X — they’re obvious in the Displays system preferences panel, and if it’s something you do often, you can check a box in Displays to have it right in your menu bar. Finally, it’s much more likely to just work — automatically detect that you’ve plugged something in and start displaying to it — on a PowerBook than on any PC laptop I’ve seen. This is borne out by my experiences observing professors, PowerBook users are much less likely to need to do anything and much more likely to be able to figure out what to do when they do.

Powerbook function keycaps

Interestingly, many PC desktop keyboards are emulating the Mac model these days. The current generation of PC keyboards with “media” keys, e.g. a dedicated key to change to the next track in WMP or open Internet Explorer, typically make the F keys serve double-duty as the extended keys, and have a “Fn lock” which defaults to on and must be turned off to get the standard F behavior. Oddly, most of those keyboards don’t also have an Fn key, which makes them a pain in the butt.