That’s a great idea, it’s on the list


The great thing about the taskbar is that everybody and their pet dog have an idea for how it can be improved.

The bad thing about the taskbar is that everybody and their pet dog have an idea for how it can be improved. (And everybody and their pet dog also think that their feature suggestion is the important one that should be worked on next. Especially if it's "just a tiny little feature.")

For a few years, my office sat across the hall from the person responsible for the taskbar design and features. To help manage all the wonderful ideas that came in, my colleague maintained a spreadsheet of all suggestions that were submitted and deemed worthy of further investigation. And for each suggestion, there was a rough estimate of how much developer time it would take to implement that feature.

The total came out to over 200 days of idealized developer time.

In other words, under perfect conditions (for example, on the rosy assumptions that no earlier feature made a subsequent feature more complicated and that all the code will work the first time), it would take one person over 40 weeks of vacation-free full-time coding to implement all the little features people requested. Death by a thousand cuts. Or in this case, 200 cuts.

That calculation of course ignores the time spent designing the feature, developing a test plan, running it through usability tests, writing the automated testing, debugging all the issues that arise, doing the threat modeling, fixing the compatibility issues from applications that relied on the old behavior, and all the other things that you have to do to ship a feature beyond simply writing the code for it. (Indeed, the "write the code" step is one of the smallest steps in the product development cycle!)

Obviously, you can't implement everything on the list: You don't know what you do until you know what you don't do. (And imagine the size of the resulting taskbar configuration dialog!) But it also means that there are a lot of people with pet dogs who think you're an idiot.

Maintaining the list was a useful exercise for another reason: Whenever anybody stopped by and said, "Hey, why doesn't the taskbar...", my colleague could say, "That's a great idea. It's on the list."

When my colleague left the group, ownership of the list was transferred to the next person responsible for the taskbar design. For all I know, there's still a list sitting in a spreadsheet on a designer's computer somewhere.

Part of the hard job of product design is deciding which 20 features you have the resources to pursue and which 180 to leave for next time. If you choose the right 20, people will say you're the best new UI feature in Windows, or even the best Windows 7 feature, and they won't mind too much that you didn't get to the other 180.

Comments (38)
  1. WndSks says:

    And how many weeks did it take to turn the taskbar into a OS X dock? (My big fear is that the taskbar options that turns it back to the "normal" taskbar will go away over time (Like the classic startmenu))

  2. Anonymous says:

    I just got a Windows 7 laptop, and I spent half a day looking at "classic taskbar" hacks until I found one that gave me my classic start menu back. I must have spent a couple of full days, in all, getting rid of "improvements" that annoyed me, like the fat window borders.

    I got a really cool idea. Why don't you just open source the task bar and make it someone else's problem?

  3. Anonymous says:

    If I learned one thing about estimates, then it's that they don't add. Two features that each take 8 hours might together take 9 or 99 hours. Excel of course will happily assume that 8+8 = 16.

  4. Anonymous says:

    That's easy, just assign 200 programmers to it and it'll be done in a day.

  5. Anonymous says:

    @Anders: If the 200 programmers are women of reproduction age, they should also be able to produce a fully functional human baby in the same day.

  6. Anonymous says:

    Leo Petr

    And if each feature took 200 days, you'd be right. But each feature takes a smaller amount of time. What would need to be done is to have a framework to add extensions, and then work on a few at a time, and test interoperability. Of course, the features have to justify the cost, which is likely the major issue.

  7. Anonymous says:

    Brian Tkatch,

    You don't take the conflicts into account. Probably working on a feature will lock out any progress on most of the others.

  8. Anonymous says:

    40 weeks of full-time coding seems little in comparison to the time spent by millions of users working with the taskbar in a single day.

  9. Anonymous says:

    It took 10 years until you were able to re-order tasks in the taskbar (and now it still only applies to groups). That's everything I have to say regarding development of the Windows taskbar.

  10. Leo Davidson says:

    A top-end, "if we did every single thing," one man-year of development on such a visible, important and used component of the OS does not actually seem like a big deal for a company with the resources & user-base Microsoft has.

    Not that you should implement every idea people put forward — of course not — but there being a lot of ideas is no excuse to ignore almost all of them (at least until Windows 7 arrived and finally changed the taskbar in a big way).

    To be honest, I'm perplexed when I hear that Microsoft "don't have the resources," and I hear it a lot. Maybe the resources are being spread too thinly across too many products, or too many of the thousands of MS employees are not working on the actual products at all, but it seems odd to me. I guess if it doesn't affect the bottom-line then there's no business incentive to change things even if it is costing other companies money or simply meaning that using computers is more painful than it should be.

    (And no customer is going change OS just because of, for example, the myriad bugs in the common controls that programmers have to work around because MS will only fix them every three years, if ever, and never in the old OS versions that software still has to work on…)

  11. Anonymous says:

    And it was deemed more important to commit your (seemingly) limited development resources to, say, re-doing the UI in MSPaint or Calculator, than in the most visible and important interface that people use to interact with Windows?

  12. Anonymous says:

    @jon,

    Apparently different teams with different expertise do different things ! They have different priorities too ! Just because the MSPaint group deciding to dedicate resources to their UI doesn't mean that the Kernel (for e.g.) features were adversely affected. "What the hell is the janitor doing mopping all those floors every day for hours !!!? We're behind schedule on this project!!"

    Its probably a mistake to engage trolls, but oh well…

  13. Anonymous says:

    @Me

    40 weeks fulltime is what they call "enough time for just the coding, assuming miracles occur" and not the actual time required.

    And even if it was just 40 weeks of work for one person, the end result would be that the list of taskbar features would take three pages to print, the entire manual would take two people to lift, and someone just like you would be here howling and bitching that it was too complicated because there were too many features.

    So, great news! Someone actually did invent a time machine and went back to fix all the things that made you so upset. And this is how you repay them? Why the hell would they do it again, when you're just going to keep on complaining no matter what they do?

  14. Anonymous says:

    I recognise the scenario in this article and oh do I empathise.

    (That said, please try to avoid turns of phrases like: ‘Death by a thousand cuts. Or in this case, 200 cuts.’ Congratulations, you've sicked an anticlimax on your reader halfway through the article.)

  15. Anonymous says:

    @Peter da Silva:

    I feel your pain!  You have no idea how long it took me to find all sorts of opaque hacks and tricks to get Windows 7's Explorer to look like Win 3.1's Program Manager!  Why does Microsoft have to change things that already work perfectly!?

    Honestly, I'm not a huge fan of some of the changes, but at the same time I realize that either I get used to them or I switch operating systems (or waste my time finding "hacks" around the system which will break every time MS releases an update or the cat next door sneezes).

    Also how in any way would giving away the source for "the taskbar" be of any help at all?  Or was that a joke?  I really can't tell.

  16. Anonymous says:

    @Peter da Silva: Do you know how hard it is to write instructions on how to do something when *everyone has a different layout for everything*? The standardized layout and placement of the taskbar is one of the *good* things about developing on the Windows platform. I cringe to think about what would happen if everyone just decided to completely change the UI (i.e. what Ubuntu did in Lucid). Open sourcing that and having everyone break it would be a *horrible* idea,

  17. Anonymous says:

    @f00 I guess the question is why does Microsoft even have a "MSPaint group"? This "group" and "owner" concept of software development only serves to excuse the company as a whole from making bad design/development choices. Taskbar group doesn't have enough resources? Move some people from the MSPaint group over there, ffs.

  18. Anonymous says:

    The point is that everyone has their own area of expertise.  At a high level I suppose developers are more-or-less interchangeable, but it takes time to get accustomed to a new area of software; this is part of the hidden time-sink that Raymond is talking about.  MSPaint guy may have tangential knowledge of how the taskbar works, but he's the wrong guy to task with making substantial changes to it.

  19. As someday it may happen that a product must be shipped

    I've got a little list; I've got a little list,

    Of ideas that have been thought up by the people on the team

    And they'll none of them be missed; they'll none of them be missed!

  20. cfgauss says:

    I'm not sure I could even think of 200 different potential taskbar features.  I mean, I could think of a good dozen or so if I really tried, but hundreds?  What can people possibly be suggesting?  [Note: Rhetorical; not an invitation to tell me everything you think is wrong with Windows.]

  21. Anonymous says:

    So apparently Microsoft is organised into hundreds of completely separate teams who can't talk to each other, look at or work on each others source code, don't know anything about anything outside what they're personally working on, and it's impossible to move or hire people between teams.

    Obviously when Microsoft goes on about how innovative they are they really mean "as long as the guy on the innovation team is in at work that day".

    [I like how everybody thinks in absolutes. Development resources must be totally fluid or totally rigid. You might be surprised to learn that reality is somewhere in between. -Raymond]
  22. Anonymous says:

    And now we just need to shoot whoever decided that Windows Live Messenger should force itself onto the taskbar, even when closed.  I don't mind it sitting in the tray on XP/Vista, but having it take up a taskbar slot like it does on Win7 offends me to the point of immediate uninstall.

    (I know, that's a little off topic.  But still.)

  23. Anonymous says:

    Am I the only one that thinks it would be impossible to implement all 200 features?

    Surely there must be a few that conflict with each other. What do you do then? Make it a setting that few know about or find, and half the people complain about the default? Have a new user wizard run and ask a million questions?

  24. Anonymous says:

    Because the Paint team knows *exactly* how the taskbar code works and are intimately familiar with it.

    Remember kids, adding more people to a late project makes it even later.

  25. Anonymous says:

    I love these people who say 'just put more developers on it'. Try that. Try all working on one piece of UI at the same time. See what conflicts you get then. It just doesn't work that way. From what I've seen, project planning and assigning resources to the right bits at the right time is at least one step of difficulty above coding (most of the time).

  26. Anonymous says:

    Sorry to again sound like a troll (or a mosquito who MSDN bloggers have learnt to ignore) but did you plan to "improve the taskbar" and your speadsheet list also include removing and breaking existing features? (en.wikipedia.org/…/List_of_features_removed_in_Windows_7)

  27. Leo Davidson says:

    @James: If you have important parts of an operating system used by *millions* of paying customers, I think it'd be sensible to, you know, hire enough people to look after all the parts and take the time to train them up.

    (Obviously not every person trained on every part, but enough people on each that you can get done the work your customers want, and where losing a team member won't result in nobody left with knowledge of a component. And, yes, too many cooks spoil the broth but what we keep hearing is that there aren't enough people to fix/improve certain things *at all*.)

    It does not take years and years to get a programmer up to speed on a project, either. "We don't have enough developers with knowledge of that area" only really works for one release, at least if a company isn't struggling for money; after that they have to admit that they don't particularly care about improving that area. (Which may be entirely reasonable. Sometimes stuff is "good enough," but that's very different to not having resources, especially if you're one of the largest, richest companies in the world.)

    The way some people in this thread are talking, it's as if only the person who originally wrote the taskbar (or whatever) could ever understand it and when he or she is no longer part of that team it must be frozen forever because nobody could ever understand such a complex piece of code.

  28. Anonymuos says:

    Post XP, whatever component MS touches in Windows has had a history of broken features. Windows Explorer, Start menu, Taskbar, WMP…

  29. Anonymous says:

    hi, 你能写些中文吗?

    陈先生,希望每篇博客有中文注解.

  30. Anonymous says:

    @anon If you ONLY keep adding features, then all you will have is a mess. Successful design and product iteration involves not only knowing which features to add, but which to remove.

  31. chelsea leigh says:

    i agree with rangoric he has a point

  32. RobertWrayUK says:

    @ragnoric .. Good point. I think it was Raymond who wrote an entry regarding usability numbers sky-rocketing when the text "Start" was added to the Start menu button in Win95 development. That usability "feature" is one that's no longer needed some 15 years later…

  33. Anonymous says:

    I am not sure why why one would want to make the windows 7 tart menu work like windows 95. The search box effectively functions like a command line and is instantly accessible with a touch of the windows key. The ability to reorder programs on the task bar brought a little tear to my eye. And the fact that the Explorer tells me what program is locking the file it can't move/delete/etc has nothing to do with the task bar, but was long overdue.        

  34. Anonymous says:

    Mmmm….  The tart menu.   Sounds good!  I'll have a cherry one, and a peach one.  Thanks.

  35. Anonymous says:

    @Rangoric, that is too generalistic. It really depends on how your product design and UI is. Subtracting features makes users stay on older platforms forever. Dumbing everything down under the false simplicity's sake is not the solution.

  36. > *everybody* thinks in absolutes

    Irony intentional?

  37. Anonymous says:

    @jon,

    It's not only about what you want, ffs.  Why is your request more important than mine or anyone else's?  Maybe I like the taskbar just fine. Maybe I use the hell out of MSPaint and Calculator and want developers working to improve them.  Maybe they get more requests for improvements to calculator than the task bar.

    It seems silly to complain because Microsoft doesn't prioritize their business around your personal tastes.

  38. Anonymous says:

    I've migrated from XP to 7, due to all ppl saying is better then Vista, much Vista bashing changes were imporeved in 7, bla bla bla…those reason…Well, for my work to be productive I have Quick Launch docked in left side of my screen, auto-hide and OnTop (just like the task bar). Imagine my disappointment when I found out that in 7 they "forget" the docking/floating facility of toolbars.

    Way to go Microsoft.

Comments are closed.