Funny posts on design by commitee and how to design the microdetails of a UI: Start with the sad, sad story of adding 7 menu items to a menu, continue with this criticism of the number of options, and end with some Apple perspectives over here. At debate is the number of options, i.e. the complexity, of the shutdown menu. I'm totally in favor of simplicity. What's even more interesting is that the designers clearly didn't think a lot about the user personas in play. You have a typical end user that just wants a light switch style shut down. On off. And they want this to mean "suspend" not "power off". Since the degradation from suspend to power off is not graceful, you probably need to go to two options. That was Joels conclusion as well. There's a different kind of user with other needs - people who manage software installs on a large number of machines for example. And picky hackers obviously. However, these kinds of users need system capability not UI, so they would be perfectly happy with command line control of the 5 additional ways to shut down. In fact something like restart is basically only necessary when its machined.
The Apple counterpoint is weak. We get a lit of halleluja about the way this feature has been working in XP for the last 5 years. Woohoo. If they had actually done something interesting in simplification the story would make more sense.
I think there's a flaw in Joel's criticism by the way, the choice in the UI costs on the experience account - but adding more vocabulary to deal with more possible types of shutdown hurts significantly less - if done right. Basically our graspable word space is infinite, so it's not a problem to know a lot of words, that's easy to do. What is a problem is construction long sentences and grasping complex lists (same thing). If you design a command line shut down vocabulary properly you're only taxing the word space, which is really hard to do, while leaving our much more limiited choice space free of options.
This is also a good way to understand why the "many simple tools" philosophy of UNIX works btw. It doesn't hurt me, when using grep, that ifconfig also exists. One of the things that suck in all current desktop UIs is the lack of scale variance in feature visualization. When I'm in the control panel I have this long list of 30 menu items. They are not that visually distinct, first of all, and they represent a gross simplification of the system, secondly. There's not one of them that corresponds to something I want to do. It would be so cool if the visual representation of these topics was actually built from visual microrepresentations of the tasks I actually want done.