Defensive Design

Recently I’ve been skimming through Defensive Design for the Web by 37signals and have found a few good tips for creating web forms, help and error messages. It’s not the best book that I’ve seen on web design, but it’s easy to read, and illustrates its common sense guidelines with good and bad examples from popular sites.
At the end of the book there’s a design test that you can use on your own web site, to see how it rates.

When Things Go Horribly Wrong

As a customer, my worst web site experience was with the Westin Hotel, while booking accommodations for a conference. I selected my arrival and departure dates, then clicked a button to view room information, so I could decide which type I wanted. I closed the room info window, completed the booking, and got my confirmation, which I quickly read, then filed.
About a week before the conference, I checked the confirmation, and realized that it was for only one night, instead of the four that I needed. A few frantic phone calls later, I had the four nights booked, although one night was a a different hotel, a few doors down from the Westin.
What went wrong? I went back to the site and tested. While booking, when I opened that room info window, it wiped out my departure date! Now that’s bad design. One of the book’s 40 guidelines suggests saving customer data in incomplete forms.

Other Applications

Some of the book’s ideas could also be applied to forms in Excel and Access. For example:

  • Highlight either required or optional fields.
  • If customers can’t choose it, don’t show it.
  • Make it fast, not cute.
  • Eliminate unnecessary navigation during multistep processes.