Commentary on a "Joel on Software" post


Joel Spolsky wrote in "Choices = Headaches" in which he ranted (quite validly) for a while about the Windows Vista shutdown button.

The problem is he went a bit far in his solution, and it's a common "bit too far". In fact, it's exactly what Apple keeps doing as a conscious effort.

In the pursuit of getting choices out of your face, he makes it impossible to make choices.

Let's look at two examples:

The Inadequate Feature

If you've spoken to a non-geek recently, you may have noticed that they have no idea what the difference is between "sleep" and "hibernate." They could be trivially merged. One option down.

Why do you want the power off? If you're concerned about power usage, let the power management software worry about that. It's smarter than you are.

This is a great example of where the user is forced to make a choice because of system inadequatacies. What's the inadequatacy? That the battery doesn't last forever.

He's right on....almost. I have a laptop that can "sleep" for an entire weekend -- in normal cases I'd be quite happy for it to silently convert to "hibernate" after, say, 30 minutes.

Except if I'm in one of those all day conferences. Then I quite happily put my computer to sleep and want it to stay there for hours . You see, the problem is I want it to wake up immediately and hibernation is a bit slow.

Once again, another inadequacy -- the system doesn't come back from hibernate quickly. Fix all that and I won't care.

And while most geeks don't know the difference, ask any salesman who gives presentation on their laptop and I'll be they do .

The Uncommon User

Restart can be eliminated. 95% of the time you need this it's because of an installation which prompted you to restart, anyway. For the other cases, you can just turn the power off and then turn it on again. Another option goes away. Less choice, less pain.

This is an example of a fundamental choice rather than a system inadequacy.

He's got a good point: most users don't need to restart.

I, on the other hand, rarely actually shut off my computer so as far as I'm concerned I don't need "Shutdown", just "Restart" would be quite fine.

In fact, for that computer I used to manage remotely that was on the other side of the building and behind a locked door to which I didn't even have they key, not having "restart" would be a ROYAL PAIN IN THE...

(Ever noticed that many things Windows are like this? Perhaps that's because their history is a Desktop, not a server, and their mental model is that reaching the power button is "no big deal".)

So, the problem is that one users annoying choice is another users required feature. This isn't a matter of "Making Everybody Happy" -- it's a matter of making it usable for everybody. You can take away choices and some users will never notice, for the vast majority it's overall better even though they could actually use those choices but for a few it's a Really Big Deal. The problem is that Really Big Deal features aren't confined to one small set -- they're different for everyone.

The Linux operating system tends to handle this these days by having different "distros" -- basically, you can get a different version of Linux optimized for what you want to do with it. Microsoft, being a closed source shop, really can't deal with that method.

Surely there's way to keep people from having to make choices they consider needless while allowing others to make choices they consider necessary.


(last updated 2007-03-05 21:22 GMT )