What I think of as the Microsoft approach to product development is to cram as many features as possible into each product. Interface is an afterthought: All those features exist primarily for the benefit of the feature list, not the user, so who cares if the feature is buried three menu levels deep? If users complain enough we’ll just add another cryptic icon to a button bar. No room on the button bar? We’ll add another button bar, piling up shortcuts to the most popular features until the interface threatens to overwhelm the app. Maybe users don’t want so many buttons? Give them the option to remove whatever buttons they want. (Another feature!) Hey, we’re giving you features! Why are you complaining? All you have to do is go to Tools > Options > Customize and you can make the interface look just the way you want!
Somewhere along the line this became the default mode for software development. Open source development works exactly the same way. Somebody wants a feature? Great, let’s just add it. Stick it on to a menu (or its equivalent in web applications, a console page) and move on to the next item on the checklist.
I see this in a microcosm surveying the world of mailing list managers (for use on my haiku site, of course). Mailman, PHPlist, Majordomo, Dada Mail aka Mojo Mail … they’re all powerful, capable programs in their way. And their all fantastically complicated to use, because they have so many options. The thought given to interface is minimal, because the focus is on features.
What I want is something like the iPod Shuffle of mailing list managers. I want a simple signup process, preferably with a confirm step thats compatible with SMS. I want to be able to send list members just the content I specify, nothing more or less. And I want an easy console that doesn’t take a week to master. Is that so much to ask?
Hypothesis: In web software as in appliances, the autocratic, top-down approach produces much more usable products than a bottom-up, consensus-based approach. Somebody’s got to get in there and start saying “No” to the engineers. It takes a Jobs to make an iPod. It takes a Blake Ross and Dave Hyatt to make a Firefox.