Monday, May 7, 2007

Why Software Sucks...and What You Can Do About It

I finished David Platt's Why Software Sucks...and What You Can Do About It. Software does indeed suck, but this book doesn't do a great deal to help solve the problem.

The main thesis of the book is that software developers are not their users and look at interface design from a completely different perspective. "You are not your user!" Platt implores repeatedly.

Unfortunately for Platt he, as authour, is not the reader of his book. The book fails because Platt seems to be confused about whom he is writing for.

On the one hand, for software developers, Platt provides little guidance for better design. "Think about what your users want" and "choose sensible defaults" seems to sum it up.

Platt could defend himself by saying that this book is targeted at end users. He fails as well though. He repeatedly says that users aren't interested in the software, they just want to get their task done. By his analogy: people aren't interested in drills, they want to put holes in things. Why would he think that a book on "Why drills suck" would be of interest?

Ultimately, I think that Platt's book is a trojan horse designed to lure software users into reading it. In between the early chapters on "why software sucks" and the final chapter of "what you can do about it" he dumps a lot of computer nerd information on to his users. Things "ever user should know" about security, privacy, geek culture and Microsoft. For the computer professional this information is too basic. For the computer user it's too boring. "Know your user/book reader" indeed.

Oh, and the final chapter that tells the end user what they can do about bad software? Well you can complain! Despite giving examples of how hard it is to find feedback forms on the web, this is what Platt encourages users to do. Then, despite a chapter explaining why Microsoft rules the software world, he advises people to look at (admittedly inferior) alternatives. Why would users care?