Monday, November 27, 2006

Joel Spolsky overreacts to Vista shutdown usability issues


It doesn't happen very often that I strongly disagree with Joel Spolsky, the web's most prominent author on software, but I find his piece on Windows Vista's too many choices for "leaving your computer" flawed in several ways.

When you finish your work and leave your computer, you want to shut it down, put it to sleep, or something like that. Joel counts nine such options in Windows Vista, "two icons and seven menu items." The menu items are Switch User, Log Off, Lock, Restart, Sleep, Hibernate and Shut Down. The two icons are for Lock and possibly Shut Down (he isn't sure about the latter, the icon looks like a power button).

Then Joel goes on to count FN+Key combinations, the actual power button and closing the lid of a laptop, and arrives at a total of 15 choices to make whenever you leave your PC.

He then explains why that's wrong (emphasis added):

The more choices you give people, the harder it is for them to choose, and the unhappier they'll feel. See, for example, Barry Schwartz's book, The Paradox of Choice. […] “Schwartz […] shows that a bewildering array of choices floods our exhausted brains, ultimately restricting instead of freeing us. We normally assume in America that more options ('easy fit' or 'relaxed fit'?) will make us happier, but Schwartz shows the opposite is true, arguing that having all these choices actually goes so far as to erode our psychological well-being.”

The fact that you have to choose between nine different ways of turning off your computer every time just on the start menu, not to mention the choice of hitting the physical on/off button or closing the laptop lid, produces just a little bit of unhappiness every time.
Of course. Nobody would argue that it's acceptable to force you to make 15 choices each time you want to leave your PC.

But I have problems with the way Joel counts these choices.

Choices vs. redundancies

First, there are seven different choices for the operation to perform, and it's conceptually wrong to confuse these seven options with the different methods available for making your choice.

I can imagine in theory a novice user freaking out, "Should I choose sleep? Hibernate? Shut Down? Switch User? What the hell is Lock? Aaaargh, whatever, I don't care, can I just go away? Why so many choices?!"

Okay, maybe not exactly like that. But my point is that yes, Joel may be right, this can qualify as a problem of the "easy fit or relaxed fit?" variety (for some users at least): being presented with an unexpected or superfluous choice when you would like to just move on without making any further decisions.

But how can you count in here the different methods for making these seven choices? A user can close the lid, push the power button, use a keystroke, or click on an icon in order to activate any of these seven "leave computer" sequences. He'll choose one he prefers, and may not even know about the others. This is a very different kind of choice: it's a redundancy, an important element in user interface design.

Does it ever confuse anyone, or cause any unhappiness that you can select "Copy" from the Edit menu, from a contextual menu, or by pressing CTRL-C (or Command-C on a Mac)? It's not like you want to "Copy" and you have to make up your mind about how you want to do it. Probably, if you're near the menu bar, you'll choose the Edit menu. If you're using your mouse, you'll select the contextual menu. And if you've got your hands on the keyboard, you'll hit the keystroke. Or perhaps you're not even aware of all these options, and you use the one(s) that you like. Arguing against this kind of redundancy isn't something I'd expect from a great usability expert like Joel, and yet this is what he's doing here.

The elimination round

I'm not buying into Joe's creative accounting here, so like I said, we're down to seven choices.

Joel goes on to eliminate each of them, arriving at a single "b'bye" button that he thinks should suffice for everyone. It's an interesting idea and a good read, though it only survives on a couple of questionable premises, namely that RAM can be written out to flash memory, and that sleep/hibernation conserves as much energy as a shutdown.

But what's so wrong with these seven choices? True, having to choose between Sleep and Hibernate may be a bit unnecessary and geeky. But don't tell me that anyone's ever had a hard time choosing between Restart and any of the other six commands: when you want to restart, you won't be distracted by the other choices. You've made up your mind before going into that menu, and you won't start wondering whether you should maybe select Sleep or Switch User instead.

Similarly, when you want to switch to another user, you won't be bothered by the availability of a Hibernate option. The problem, if any, is simply that these choices live in one menu with perhaps too many (loosely related) items.

So I think Joel's argument breaks down here a bit as well: if you've already made your choice before going into a menu, why worry about other items that happen to coexist in that menu? By that logic, if you go into the Edit menu in order to select "Cut," does it bother you that you also have "Copy," "Paste," and even "Delete" right there, in the same menu? Should we eliminate them all, and arrive at a generic "Edit" command that somehow substitutes cutting, copying, pasting and deletion? I don't think so.

Joel also adds this comment:
Inevitably, you are going to think of a long list of intelligent, defensible reasons why each of these [shutdown] options is absolutely, positively essential. Don't bother. I know. Each additional choice makes complete sense until you find yourself explaining to your uncle that he has to choose between 15 different ways to turn off a laptop.
Not these fifteen ways again! The last time I checked, we were down to seven. Since Restart isn't really a choice for leaving your PC (it just happens to be loosely related and therefore in the same menu), now we're at six.

And here Joel is right: Windows should really let another user log in when the system is locked. I mean, what were they thinking when disallowing that?! If that were implemented, Lock could become a safe option in any multiuser environment for walking away from your screen, protecting your privacy, but without locking out all other users. In this context, Switch User would become less of a way to leave your PC and maybe letting others use it, and more of a choice for an occasion when the other user goes up to you and asks you nicely to let him work in for a sec.

So that would leave us down to five choices. Sleep/Hibernate should definitely be merged (as Joel suggests), and that would leave us at four: Sleep, Shut Down, Lock and Log Off.

I think these four are manageable, and perhaps if there had been just these four options around, Joel would never have written his piece.

A (not so) theoretical alternative

What if we organize these menu items a bit better? Let's put Sleep, Restart, Shut Down and Log Off in the same menu (maybe adding the user name to the latter, signifying to Joel's uncle that we're only logging him out). Restart, like I said, arguably belongs there, but isn't easily confused with the rest, so it can stay.

Lock can maybe become a screen saver thing or a general security option: when you activate the screen saver or put the computer to sleep, it will get locked, and you can either unlock it with the current user's password, or a second user can log in. Moving Lock out of the menu may not be the best solution possible, but at least, you're making that menu less cluttered.

And finally, since Lock now lets others log in, switching users no longer belongs among power-off options or among ways to leave your computer after work, so Switch User could really be moved somewhere completely different.

How about this? Still too many choices? Or is this a acceptable now, having found a balance between having all the necessary options without confusing novice users?

In any case, the alternative I've just described happens to be the way Mac OS X handles all of this.

Conclusion

Joel's article closes with these comments:
This highlights a style of software design shared by Microsoft and the open source movement, in both cases driven by a desire for consensus and for "Making Everybody Happy," but it's based on the misconceived notion that lots of choices make people happy, which we really need to rethink.
True. But the complete lack of choices Joel recommends (while admitting that those choices make perfect sense) would throw the baby out with the bath water. Logging off is not the same as quitting your all applications and switching to another user, especially not manually. Restarting is not the same as shutting down and starting up again, manually. Especially if "Shut Down" were also eliminated – for the sake of a sleep mode where it would be somehow safe to (manually) power off. So I think Joel might have overreacted a bit to Vista's design flaws.

No comments: