Saturday, January 27, 2007

Book Review: Why Software Sucks

I recently read programmer-turned-consultant David S. Platt's latest book, Why Software Sucks . . . and What You Can Do About It. (Upper Saddle River, NJ: Addison-Wesley, 2007.) It's written in the least technical language possible, so it would be easily understood by laypeople (non-geeks). Filled with scathing descriptions of poorly designed software and clunky websites, contrasted with examples of good software and sites, the book is at times very funny, but at times a little obnoxious. It's the kind of book you'll either really have fun with, or decide is a complete waste of time. Although I think it's worth reading just for the tale of the "fork hole," a very geekly experiment he and a friend of his did with dinner forks at a restaurant.

After a brief overview of what types of things are actually difficult to program verses what kinds of things are "simply a boneheaded design decision," he goes on to demonstrate that most of the most frustrating, annoying "features" have no good reason behind them other than the designer's basic assumption that everyone will like what they like. They add features that users don't care about and make the things the user does care about unnecessarily difficult. (I'm thinking of some software I use at work that makes me change my print settings every single time I log in. Why the heck can't retain my settings?) The point Platt stresses is "your user is not you." Where the designer might value a high degree of control, the user would prefer something easier to use. For example, Google (held up as a good example) senses the user's geographic location based on their IP address and automatically supplies the correct language home page. The minority of users who need a different language can then go to the effort of changing it. By contrast, UPS (lambasted and ridiculed as a bad example) gives everyone the same home page and, before they can do anything else, makes them select a country before they can do whatever they came to the site to do. This is only two clicks if you're in the U.S., but it's ludicrous if you're anywhere else.

As one of the judges from Microsoft's 2003 Imagine Cup programming contest, Platt described the kinds of good, bad, and ugly applications that were written by the competitors. Of interest to those of you here in Omaha, the winner of the contest (whose software solution Platt endorsed as an example of something done right, for the right reasons, to solve the right problem) was Tu Nguyen, a young man who designed an order translation system for his father's restaurant. And although Platt does not name the restaurant for which Nguyen developed this technology, I know it because I've eaten there and seen it in action: Saigon on West Center Street. It's pretty nifty. Since bilingual Vietnamese-English waitstaff are rare in these here parts, the staff at Saigon have PDAs into which they enter customers' orders. The orders then go immediately to the kitchen without the staff having to walk back there, and they are translated into Vietnamese, complete with all the various "hold the ___" and "a little extra ___" things the customer may request. No more misunderstood orders. (If you live in Omaha, go to Saigon and check it out. Technology aside, their food is wonderful. Especially the catfish hot pot.)

Back to Platt's book, after teaching the reader how to recognize poor design, he encourages us, among other suggestions, to buy good software (and, by extension, not buy bad software), to tell manufacturers of software you use what you like and don't like about it, and to ridicule the heck out of bad software and websites on "Hall of Shame" sites in order to embarrass them into fixing their suckware. Overall, his book isn't exactly world-shaking, but it is a fun and informative read.

1 comment:

David S Platt said...

Hello, Anj, and thank you for reviewing my book. I'm glad to see that you found it a worthwhile read. You are quite correct that readers either love it or hate it. That's because I call 'em as I see 'em. Can I ask how you first heard of it?

Every reader has her own favorite anecdote, and I'm glad to see that you liked the "fork hole" story. Hey, I'm a geek and so is my partner on that trip, what can I say ;-)

I never knew Tu Nguyen's restaurant, but I'm glad to hear that the food there is good. I'd like to eat there some day, but I haven't been to Omaha since the fall of 2000. I did some business then with a mutual insurance company that I'm not allowed to name. I had an excellent steak at Piccolo Pete's.

It actually takes three clicks on the UPS web site to select US as your country -- click once to open the selection box, click the first entry in the list, then click the forward arrow to actually use it. And then if you don't take the trouble to check the "Remember this location" box, you have to do it again, every single time. If they're too lazy to detect it automatically the way Google does, then since 90% of UPS's packages are sent within the US (according to the company's web site), they could simply default to US English and 90% of their users would be better off, and the rest no worse. You can see my blog for an example of how Google does a better job tracking UPS packages than does UPS's own web site.

Again, thank you for reviewing my book. If any book club or computer user group, in Omaha or elsewhere, would like to discuss it at one of their meetings, I'd be happy to participate via remote link. You can use the contact form at the book's web site to contact me. There's a free sample chapter there as well.

Best regards,

David S Platt