Building Products? Stop Making Your Users Think

7 min read
#product#usability#ux#engineering

Finally got around to reading Steve Krug's Don't Make Me Think. Truly a classic read on the art and science of user experience design.

Here are my takeaways:

Every Bad UX Choice Once Sounded Like a Good Idea in a Meeting

That's the uncomfortable truth. No one sets out to create confusing interfaces. Every odd label, every hidden button, every convoluted flow made sense to someone at some point.

The problem is that what makes sense in a meeting rarely survives contact with real users. Internal logic isn't user logic. The only way to close that gap is to test.

Build for the 10 Year Olds and the 80 Year Olds

Krug's definition of usability stuck with me: a person of average (or even below average) ability and experience can figure out how to use the thing to accomplish something without it being more trouble than it's worth.

That's the bar. Not "power users will love this." Not "it makes sense once you learn it." Can someone with no context figure it out without frustration?

A good rule of thumb: if a 10 year old and an 80 year old can both use it, everyone in between will figure it out.

I've Been Overestimating How Much Users Read

I think most of us who build products imagine users engaging thoughtfully with what we create. Reading the copy. Considering the options. Making deliberate choices.

Krug's point hit me: users scan, they don't read. They're looking for something that seems like it might work, and they click it. They're not weighing options. They're satisficing.

This reframed how I think about interfaces. If I'm spending time crafting the perfect explanatory text, I'm probably wasting effort. Most people won't read it. What matters more is whether the right action is visually obvious and instantly recognizable.

Conventions Aren't Boring. They're a Gift.

I used to think following conventions was uninspired. Shouldn't we try to do something new?

But conventions are cognitive shortcuts. When something looks and behaves the way users expect, they don't have to think. They can just act.

Breaking conventions has a cost. If you deviate, whatever you replace it with needs to be either immediately self-evident or valuable enough to justify the friction.

I've started asking myself: Am I breaking this convention because I have a better idea, or just because I want to be different? Usually it's the latter, and that's not a good enough reason.

The "Average User" Doesn't Exist

Design discussions often turn into debates about what "users" want. Everyone projects their own preferences and assumes most people agree.

The thing is, there is no average user. People use products in wildly different ways based on their context, goals, experience, and mood. Trying to resolve debates by reasoning about what hypothetical users prefer is mostly a waste of time.

The only way to actually know is to watch real people use the thing. Not surveys, not focus groups. Just observation. And you don't need many. Three users will reveal problems you never anticipated.

I haven't been doing this enough. I've been guessing and debating when I should have been testing.

Usability Testing Doesn't Have to Be a Big Deal

I always thought usability testing was a formal, expensive process. Recruit perfect participants, rent a lab, hire experts, produce a report.

Krug's approach is different: test with three people, one morning a month, and fix the worst problems before the next round. That's it.

The bar is low. Grab anyone who roughly fits your user profile. Watch them try to accomplish a task. Note where they struggle. You'll learn something every single time.

I want to make this a habit, not an event.

Every Moment of Confusion Is a Failure

The book's title is a design principle: if users have to think about how to use something, you've failed.

Every question mark that pops into someone's head ("Is this clickable?", "Where do I go next?", "What does this mean?") is friction. Individually they seem small. But they accumulate, and they erode trust.

I've started noticing these micro-confusions more in things I use and things I build. The goal isn't "mostly clear." It's zero question marks.

Clarity Over Consistency

"Be consistent" gets thrown around a lot in design discussions, sometimes as a trump card to shut down alternatives.

But Krug makes a good distinction: if being slightly inconsistent makes something significantly clearer, choose clarity. Consistency is a means, not an end. The end is understanding.

What This Means When You’re Building Products

Watch users more. Stop debating what people want and start observing what they actually do. Even informal, scrappy testing beats guessing. Three users trying to complete a task will reveal more than weeks of internal discussion.

Design for scanning. Assume no one reads. Make the important stuff visually unmissable. Use clear headings, bold key phrases, and visual hierarchy to guide attention. If someone glances at your screen for two seconds, they should know what to do next.

Respect conventions. Only break them when you have a genuinely better idea, not just a different one. Conventions let users act without thinking. Every deviation forces them to relearn. That cost needs to be worth it.

Hunt for question marks. Look at your work and ask: where would someone hesitate? Where would they have to think? Fix those spots. Every moment of confusion, no matter how small, erodes trust and adds friction.

What Changes When You Build AI Products

AI adds new sources of confusion. Users are already wondering, “Is this clickable?” Now they’re also wondering, “Did the AI understand me?”, “Can I trust this output?”, and “What will it do next?” Every layer of uncertainty compounds. Traditional interfaces have one layer of confusion to manage. AI interfaces have several.

Explainability is usability. When an AI takes an action or gives a recommendation, users shouldn't have to guess why. Showing reasoning, sources, or confidence levels reduces question marks. If users can't understand what happened, they can't trust it. And if they can't trust it, they won't use it.

Conventions are still forming. Chat interfaces, agent workflows, copilots. We're all figuring out what patterns work. Follow emerging conventions where they exist. Users are already overwhelmed by the novelty of AI. Don't add unnecessary friction by reinventing basic interactions.

Make status obvious. Users shouldn’t wonder “Is it working?”, “Is it stuck?”, or “How long will this take?” Visibility reduces anxiety and builds trust. Progress indicators, status messages, and activity signals help users feel in control even when they're waiting.

Make scope clear. Users should understand what the agent can and can't do without experimenting. Unclear boundaries lead to frustration when expectations don't match reality. Be upfront about limitations. It's better to set accurate expectations than to disappoint.

Make intervention easy. Stop, correct, override should be obvious and accessible. If users feel trapped or out of control, trust erodes fast. The ability to intervene should never be hidden.

Make failures understandable. When an agent fails or produces bad output, users shouldn't have to guess what went wrong. Clear error states and recovery paths matter even more when behavior is non-deterministic. Tell them what happened, why it might have happened, and what they can do next.

Make handoffs seamless and obvious. When agents hand off to humans or other agents, the transition should be clear. Users shouldn't wonder who or what is responding now. Ambiguity about who's in control creates confusion and erodes trust.

Design for partial success. AI outputs are often "80% right." Let users salvage the good parts without accepting the bad. Editable outputs, selective acceptance, and easy correction matter more than getting it perfect on the first try.

Be careful with auto-actions. The more an AI does automatically, the more users need to trust it. Don't auto-execute consequential actions without clear confirmation. Whether AI feels helpful or scary depends on whether users feel in control.

Conclusion

The world is already full of distractions and noise. Don't build products that add to it.

Every confusing interface, every unclear label, every moment of “wait, what do I do now?” is noise you're putting into someone's day. They came to accomplish something. Your job is to help them do it and get out of the way.

Don’t make users think. Simple to say. Hard to do well.