Don’t make me think vs don’t think about it

I believe it was five years ago when I was sitting in a plane with a printed version of Don’t make me think. This book from Steve Krug from 2000 can be considered as kind of benchmark.


When I read something about it I was impressed by two things:

  1. This guy does exactly what nobody else has time for: He asks people from the street taking a seat to use an unknown website. He does eye tracking, mouse tracking, and analysis. Then get back to the creator of the web site and tell him what is going wrong.
  2. It is short. You can read it on a two hours flight. I love short books that tell you everything.

Then I did exactly that: I read it on the flight. And was much more clever afterwards. Okay, I believed I learned something :-). And I really did. When you don’t think different about the creation process of web sites and user interfaces then you should just read it again. When that doesn’t help… mmmh. Let me know about it, I am curious.

This term “Don’t make me think” comes to my mind every time I see an user interface or web site that makes me search, that doesn’t give me the possibility to act, to solve the issue, find the action I want to take.

I get the feeling they don’t think about it. This is really quite the opposite of what Steve tries to tell everybody. When the programmer doesn’t think about it will hit the user. Not only him. It will hit also the programmer. Up to now I’ve never seen a bad user interface with brilliant code behind it.

Whenever I fix things in legacy code, it hits me. Every single missing abstraction comes up and moves screws you never knew that they were there.

Come on guys. Stop don’t thinking about it.

Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live. And imagine what the users would do, if they knew.

Don’t make anybody think. Make your life easy. Think about it.