Notes about the Don't make me think
This is not my kind of book. I usually read books about programming. But the beginning of the book was quite funny. Steve Krug dedicated the book to the woman who laughed so hard while reading this book that milk came out of her nose.
Introduction - Read me first
Krug wrote this book for people who cannot afford to have an usability expert in their team. The book is short on purpose - it is more likely it will be used. Krug's definition of usability is: An average person can figure out how to use the thing to accomplish something without it being more trouble than it's worth. This is quite similar to how readability is important when programming.
Chapter 1 - Don't make me think
This is the first Krug's law of usability. The things we create should be self-evident, so the average people could immediately tell 'Oh, that's a ____'. If you can't make something self-evident, you should at least make it self-explanatory. This reminds me of a Screaming Architecture from the Clean Coders blog.
Typical things that make us think are cute or clever names, marketing-induced names, company-specific names, and unfamiliar technical names. This advice can be also applied to naming variables, method, classes, etc. during programming.
Chapter 2 - How do we really use a Web
Users usually glance at a page, scan some of the text and click of the first thing that catches their interest or vaguely resembles what they are looking for. If our audience is acting like we are designing billboards, then we should design great billboards.
Chapter 3 - Billboard Design 101
We should rely on conventions most of the time. We should only invent something new if we know for sure it is better than the convention. But clarity trumps consistency. If we can make something clearer with a little inconsistency, we should. This all applies to programming as well.
There are couple of rules for visual hierarchies. The more important something is the more prominent it should be. Things that are related logically are related visually. Things are "nested" visually to show what is part of what. It is important to divide pages into sections so that users can safely ignore what does not interest them. These rules seems also relevant in programming.
When editing a page, we should assume that everything is a noise unless proven useful.
To support text scanning, we should use plenty of headings, keep paragraphs short, use bulleted lists and highlight key terms.
Chapter 4 - Animal, Vegetable or Mineral?
Krug's 2nd law of usability: It doesn't matter how many times I have to click as long as each click is a mindless unambiguous choice. Three mindless unambiguous clicks are equal to one click that requires thought.
Sometimes we need to guide users. The guidance then should be brief, timely and unavoidable.
Chapter 5 - Avoid
Chapter 6 - Street signs and Breadcrumbs
- Print a random page of the site.
- Squint so you cannot really study it closely.
- As quickly as possible try to find: Site ID, Page name, Primary and Secondary navigation, You are here indicators and Search.
Chapter 7 - The Big Bang Theory of Web Design
Chapter 8 - The Farmer and Cowman should be Friends
Chapter 9 - Usability Testing on 10 Cents a Day
- Welcome (4 minutes).
- The questions (2 minutes).
- Home page tour (3 minutes).
- The tasks (35 minutes).
- Probing (5 minutes) about the tasks.
- Wrapping up (5 minutes).