Reuters carried a story yesterday about David Platt's book, Why Software Sucks. Coincidentally, I'd just finished interviewing David for my Technometria podcast on IT Conversations. (The show with David won't appear until next week.)
The book is aimed at computer users and is a humorous look at a serious topic: usability. The problem, according to David, is that programmers design programs for themselves, not for users. He cites the fact that when he talks to programmers and asks them if they have a stick-shift car, a much larger proportion do when compared with the general population: programmers will trade off convenience for control any day.
When I talked to David, he offered five things programmers could do to design better software interfaces:
- Put a virgin on the design team
- Break with convention when needed
- Don't let edge cases complicate the mainstream
- Instrument your application and use the data -- avoid guessing
- When something can't "just work" pick the alternative that's closest.
An example of number three that David highlights on his Suckbusters blog is UPS. When you go to their site, you can't do anything (not even look at their annual report) until you tell them what country you're from. If you're from Sweden, it can take as many as 31 clicks to select you're country, for example. Google, on the other hand, just figures out where you're coming from and most of the time, they're right.
I've always been amazed what people are willing to put up with in software. That do you think?[poll id=32]