Don’t Make Me Think

Outside of my job at FamilySearch.org, I have my fair share of web development work that I do on the side. An area that I’ve always struggled, especially when the concepts of the new site are entirely original, is user interface design.

I recently discovered a new Stack Exchange community built around User Interface design. I found a discussion thread about which books the community’s designers recommend to developers. The answer that by far had the most votes was Don’t Make Me Think.

I decided that I had to read this book. I bought the Kindle version of the book and read it on my Droid Incredible. This worked well, except there is no way to zoom in on the pictures, so it was a bit hard to get everything I needed to out of the tiny pictures on a small screen.

Don’t Make Me Think defines some simple design principles and why they are important. It teaches the Why, What, and How behind making good UI choices. I can now look at sites like Amazon.com and clearly see where they are following good UI principles, and then I look at some of my stuff, and think “Woah, I really missed the boat here.” Most of my stuff isn’t that bad though. I was surprised at how many of these things I have done right already. I now feel like I have a rulebook that I can go to when making tough design decisions.

Some of the principles I like most from the book include:

  • The Homepage needs to explain the purpose of the site.
  • Page hierarchy is important to make the sections of your site easily identifiable.
  • Page titles are needed on every single page.
  • Users muddle through sites and don’t necessarily learn how to use them properly. As an example, there is an astounding number of people that use Google and Yahoo! as their browser’s address bar. It isn’t the proper way to use it, but they manage to get to the sites they are looking for.
  • Clickable things should clearly appear to be clickable.
  • Your search bar should actually use the word “Search”
  • Usability testing with 1 user early on in the project is more important than testing 30 towards the end.

There are many more concepts that I don’t have time to write here, but if you do anything with web development or design, this book is really helpful.

Creating Software for End-Users

I just read this on Max M’s blog as I’ve been researching how to migrate a Plone 2.5 site to Plone 3. I thought this was way too good not to share.

“There is one thing I have learned through the years. Users do not do what they should. They do what they can. And if they can upload a 12 MB bmp image, they will. So I expect this to be a normal use case on many sites.”

This statement really supports the need for data validation and good UI design.