Book: Don't Make Me Think

At RubyConf 2007 Ryan Davis said that we, as developers, should be reading one book a month about software development, etc. Additionally, while reading Jeff Atwood’s blog I only reaffirmed the habit. Although I haven’t exactly hit a rate of one technical book per month yet (I read some fiction and other books in there too), I have enjoyed continuing my education, especially beyond school and reading blogs. I’ve read quite a few books this year, but this is the first pseudo review that I’ve ever written. Actually, it’s much less review and much more “things that I really enjoyed” and want to remember.

Don’t Make Me Think by Steve Krug is an excellent book. The second edition was published in 2006, which although may seem ancient by technology standards, is still quite up-to-date on everything critical for a website. Yes, I’m sure there are plenty of things in the book that I should be changing on this site, but at the moment, I rather like this theme (Hemingway). Anyway, on with the book.

First off, I really like the concept of the book. Using the web is not about thinking. It’s about lack of thought and clicking on what sparks my interest, whether I thought about it or not.

Chapter 5: Omit needless words was the first major instruction that I hadn’t heard before. In fact, I’m sure this blog post is full of needless words, but I’m sure it’s going to stay that way. But for a pure business-type/selling something website I can see how important this may be. I love the point Steve makes about removing Happy talk and Instructions must die.

Chapter 6: Street Signs and Breadcrumbs, I never thought about the total various “utility” links that I site may have and I found his list rather helpful. I’ve never driven in LA or in Boston, but I really enjoyed Steve using the street signs in those places as an example of what to do and what not to do.

Chapter 7: The Home Page is Beyond Your Control was rather informative in regards to pull-down/drop-down menus. I’ve worked on and used many applications that utilized drop-down menus and some have worked well and some haven’t. For example, I’m not too fond of the Facebook dropdown for the friends section (more), especially after reading Steve’s book:

Facebook Drop-Down

Sorry about the crappy picture: first Ubuntu screenshot ever, no photo editing skills with GiMP /excuse

Chapter 9: Usability Testing on 10 Cents A Day was an excellent chapter as well. Over the last couple of years, I’ve really enjoyed Unit testing my code, specifically with BDD-type testing (rSpec is my current favorite in the Rails world), but I haven’t done much with usability testing. Generally, I would just go do the usability testing of “can my wife use it?” If she can, then I generally feel alright. If not, then there’s more work to be done. Anyway, I liked what Steve had to say about testing with just a few people, iteratively.

Chapter 10: Usability as a Common Courtesy introduced several things that can diminish goodwill with the customer. Specifically, a few that I really liked were:

  • Punishing me for not doing things your way
  • Asking me for information you don’t really need

To me, I can’t stand it when a site kicks back an error message for how I put my phone number into their textfield. Personally, I like to do XXX.XXX.XXXX. Much more common is (XXX) XXX-XXXX. Also common is XXX-XXX-XXXX. I generally use the periods and I think it’s rather amateurish when I website can’t accept any of the common formats. I’ve worked on many business applications where specific instructions were to not accept other formats. Reasoning? None other than, because I’m the boss, or because it’s too much code. It’s really not, but that’s besides the point.

Asking for too much information is another peave of mine. I especially hate when you’re signing up for a website and it’s asking for way too much… generally, for about 90% of the websites out there, all you need to ask for is username, password, and e-mail. Even then, you may only need e-mail to “confirm” the user, or to send them a reset password and it may not be required at all. This was all stated in Chapter 12: Help! My boss wants me to ____.

Overall, I thought the book was excellent and I’d highly recommend to anyone doing anything on the web. Building straight html? E-commerce sites? Business intranets? Social networking sites? Something else? No matter what it is, reading this book will help you to understand the usability a little bit better.