It seems that the sad story of the Windows Vista shutdown menu is emblematic of the Vista development process, and all that seems to be wrong these days with Windows UI design in general. In his blog entry Choices == Headaches, Joel Spolsky goes on a great rant about the new shutdown menu in Vista, and how it’s really a microcosm of all that is wrong with the Microsoft UI paradigm.
As a guy who most frequently uses Mac OSX and Linux (gnome and kde) as his desktop, the annoyances of working in Windows are glaringly clear and obvious. It’s obvious when you go to a hotel and the instructions for hooking up to the wireless network are 8 steps long for windows users, but only 3 steps for Mac users. It’s obvious when the in-laws come over with their hopelessly borked windows installation default from the manufacturer loaded with all sorts of messy memory-leaking tray applications that serve no real purpose and hijack system settings and file associations. And it’s obvious when you look at the shutdown menu in Windows Vista:
Every time you pull up that menu to leave your computer you have to choose between all of those options. Plus, of course, there’s still the “lock” and “power button” buttons on the start menu itself. Couple this with the prevalence of sleep and shutdown buttons already present on your keyboard or your laptop and it’s a classic windows crapfest.
The back-and-forth of the windows shutdown menu continues though, with a response from someone who actually worked on the darn thing. Some choice quotes:
So that nets us an estimate — to pull a number out of the air — of 24 people involved in this feature. Also each team was separated by 6 layers of management from the leads, so let’s add them in too, giving us 24 + (6 * 3) + 1 (the shared manager) 43 total people with a voice in this feature. Twenty-four of them were connected sorta closely to the code, and of those twenty four there were exactly zero with final say in how the feature worked. Somewhere in those other 19 was somebody who did have final say but who that was I have no idea since when I left the team — after a year — there was still no decision about exactly how this feature would work.
In Windows, the node I was working on was 4 levels removed from the root. The periodicity of integration decayed exponentially and unpredictably as you approached the root so it ended up that it took between 1 and 3 months for my code to get to the root node, and some multiple of that for it to reach the other nodes. It should be noted too that the only common ancestor that my team, the shell team, and the kernel team shared was the root.
Good stuff, huh? Next up — my experience installing and (trying to) use Vista on my relatively nice, not-too-terribly old Sony Vaio laptop. A hint: it didn’t end well.