Testing & Iteration. Find out what is true, then change the product.
You built it, so you cannot see it the way a stranger does. This guide teaches you how to borrow other people's eyes cheaply (usability tests, quick prototype tests, interviews), how to sharpen your own (heuristic reviews, walkthroughs, self-critique), how to read what the numbers say without fooling yourself, and how to turn all of it into a steady loop of small, confident changes. Everything here is sized for one person with a day job's worth of hours.
Explain why your own judgment of your product is biased, and rank evidence by how much to trust it (understand)
Plan, recruit, run and synthesize a three-person usability test in one morning, alone (apply)
Write tasks and moderator prompts that do not lead the participant (apply)
Choose the right quick method for a question: first-click, five-second, tree test, card sort, preference test (analyse)
Run a heuristic evaluation and a cognitive walkthrough on your own product and rate severity (evaluate)
Critique your own screens with fresh-eyes techniques and a written objective (evaluate)
Define activation, retention and a North Star for a small app, and instrument it without spying on people (create)
Judge whether an A/B test is even possible at your traffic, and what to do instead (evaluate)
Keep an iteration log and decide to persevere, change or delete a feature on evidence (create)
Warm-up: what do you already believe?
Before reading, answer three questions from instinct. Do not look anything up. The point is to surface the beliefs you carry into testing, because the most common reason solo creators never test is a quiet assumption that it needs a lab, a budget or a team. Your answers will be revisited at the end of Part two.
Diagnostic 1
You ask a friend to try your note app. She says "Looks great, I'd totally use this." What have you learned?
Opinions, especially from people who like you, are the weakest evidence there is. She was not lying; she was being kind, and predicting her own future behavior, which humans do badly. You learn about usability by watching someone try to do a real task. Chapter 1 builds the evidence ladder that makes this obvious.
Diagnostic 2
Your app gets 300 sign-ups a month. You want to know whether a new onboarding screen raises activation from 30% to 33%. What is the honest answer?
Detecting a 30% to 33% change reliably needs thousands of users per variant. At 300 a month, that is years. Small products learn mostly from observation, interviews and large, obvious changes, with numbers as a sanity check. Chapter 14 has a calculator so you can feel this.
Diagnostic 3
A participant in your test hesitates for ten seconds on the settings screen, then finds the toggle. Afterwards she says the app was "really easy." Which do you write down as the finding?
People rate experiences generously after the fact, and they forget struggles that ended in success. The hesitation is the data. Chapter 6 shows how to log behavior so it does not get lost in the participant's polite summary.
How to study this guide
Read one Part per sitting. Do each chapter's exercise on your own product before moving on; the guide is designed so that by the end of Part two you have actually run a test. The checklists save in this browser, so you can return to them every month.
Part one
Why test at all
One chapter on the root problem: you are the worst-placed person on earth to judge whether your product is clear. Not because you lack taste, but because you know too much. Everything else in this guide is a way around that.
1
You are not your user
Taught by Jakob Nielsen, with Elizabeth Newton, Chip & Dan Heath, Erika Hall
The person who built a product cannot un-know how it works, so their sense of "obvious" is broken; the only cure is to watch people who do not share that knowledge, and to trust what they do over what anyone says.
In 1990 a Stanford graduate student, Elizabeth Newton, ran a simple experiment. One person tapped the rhythm of a well-known song like "Happy Birthday" on a table; another person listened and tried to name the song. Before the listeners guessed, the tappers predicted how often they would succeed: about half the time. The real figure was 3 songs out of 120, about 2.5%. The tappers could hear the melody in their heads while tapping. The listeners heard knocking. Chip and Dan Heath popularized the study in Made to Stick (2007) as the clearest picture of the curse of knowledge: once you know something, you cannot imagine not knowing it.
You are the tapper. You hear the melody of your product every time you look at it. You know that the small grey icon top-right opens sync settings because you drew it. You know that "Collections" means tagged groups because you named the database table. You know that swiping left archives because you wrote the gesture handler. A first-time user hears knocking.
Same pixels, different screens. The green notes exist only in your head. Every "?" on the right is a moment a newcomer has to guess, and each guess costs attention or ends the session.
Why your intuition fails in a specific way
The curse of knowledge does not make you wrong about everything. It makes you wrong in a predictable direction: you underestimate how hard discovery is, how ambiguous your labels are, and how much people skim. You tend to be right about what is technically possible and wrong about what is noticeable. That is useful, because it tells you where to point your tests: at discovery (can they find it?), comprehension (do they know what it means?), and expectation (does it do what they thought it would?).
There are three other biases stacked on top. Familiarity: you have seen each screen hundreds of times, so problems feel normal. Effort justification: you spent a week on a feature, so you want it to be good. Confirmation: you notice the one user who loves the feature and forget the six who never opened it. None of these go away with experience. Senior designers test because they know they have them too.
The evidence ladder: do > say
Not all evidence is equal. Jakob Nielsen's blunt 2001 article "First Rule of Usability? Don't Listen to Users" made the point: what people say they do, and what they say they want, is a poor predictor of what they actually do. People are not lying. They are reconstructing, guessing and being polite. The ladder below ranks evidence for a solo creator by how much it should move your decisions.
Climb as high as you cheaply can. Level 5 (watching someone do a task) is the sweet spot for a solo creator: it costs an hour and outranks every opinion. Level 6 is strongest but needs volume and time, and tells you what without why.
Two refinements make the ladder practical. First, combine levels: numbers (level 6) tell you where people drop off; a usability test (level 5) tells you why. Second, past beats future. "Tell me about the last time you exported a document" (level 4) is far more trustworthy than "Would you use an export feature?" (level 3), because one is a memory and the other is a prediction. Rob Fitzpatrick's The Mom Test (2013) is built entirely on this rule.
Don't
Opinion on demand. You show, explain and then ask. They have no task, already know how it works because you told them, and want to be kind.
Do
Behavior on a task. You give a goal, stay quiet, and write down what happens with timestamps. The surprise ("expected help, got sync") is a finding you could never get by asking.
Myth
"I'm my own target user, so I don't need to test." Being in the audience helps you pick the right problem (see Problems Worth Solving). It does not help you see your interface fresh. You are a user with perfect knowledge of the internals, which no one else will ever be.
Key idea
Your eyes are calibrated to the melody. Testing is how you hear the knocking.
Do
Treat every belief about clarity ("people will get this") as a hypothesis until someone outside your head has used it.
Ask about the past ("last time you…") instead of the future ("would you…").
Combine a number that shows where with an observation that shows why.
Write down your prediction before each test, so you can measure how wrong you were.
Don't
Demo the product and then ask for a reaction.
Count compliments as evidence.
Dismiss a confused user as "not the target audience" without checking.
Assume more experience will cure the bias. It only makes you faster at hiding it from yourself.
In the wild
Superhumanemail client, 2018 onward
Rahul Vohra described using Sean Ellis's question, "How would you feel if you could no longer use this product?", and treating the share of "very disappointed" answers (with 40% as the benchmark) as a product–market-fit signal, then interviewing the segments behind the numbers. Even a survey can be anchored to a concrete loss rather than a vague "do you like it".
Steve Krug's "Don't Make Me Think"book, 2000; 3rd ed. 2014
Krug built a whole philosophy on watching ordinary people use websites and noticing that they scan, satisfice and muddle through rather than read and choose. The only way to see muddling is to watch; nobody reports it.
Any app store review sectioniOS and Android
Read your one-star reviews next to your own feature list. The features you are proudest of rarely appear; the problems that hurt are usually ones you stopped noticing months ago. Strangers report the knocking you cannot hear.
For the solo creator
You have no colleague to say "I don't get it." That makes you more exposed to the curse than a team is, not less. The fix is not a research department; it is a small, regular habit: one hour a month watching someone use your product, plus a written prediction you check against what happened. Parts two to four show exactly how.
Common mistakes
Testing with your partner or best friend only
They are available and kind. But they have heard you talk about the product for months, so they carry part of your knowledge, and they want you to succeed.
Use friends-of-friends who have never seen it. If you must use close people, give them a task and stay silent, and weight their findings lower.
Explaining before observing
You want them to "get it," so you give a tour first. The tour destroys the test: you have just transferred your knowledge.
Give a goal, not a tour. Explanation is allowed only after the session, and anything you needed to explain is itself a finding.
Arguing with the result
A participant misses something obvious and you think, "they just weren't paying attention."
Real users don't pay attention either. If one person in three misses it, assume a third of your users miss it.
Check yourself
You're deciding whether to build tags or folders for a reading app. Which piece of evidence should weigh most?
Specific past behavior (level 4) beats stated preference (a poll, level 3), your own opinion (level 1), and imitation (no evidence at all about your users). The stories also reveal the real job, which might be "find it again" rather than "organize," pointing to search instead of either.
Exercise 1.1 30 minutes · on your own product
Map your curse of knowledge
Take a screenshot of the first three screens a new user sees in your product.
On each, circle every element whose meaning you know only because you built it: icons without labels, internal words, hidden gestures, order that depends on a mental model.
For each circle, write the question a stranger would ask ("What does this do?", "What's a Collection?").
Write three predictions: "In a test, X of 3 people will fail to find Y." Keep them; you will check them in Chapter 6.
You're done when: you have three annotated screenshots with at least 8 circled "knocking" points and three written, falsifiable predictions.
Beginner
Competent
Strong
Circles only obvious unlabeled icons.
Also circles vocabulary and hidden gestures; predictions are specific.
Also circles ordering and assumptions about prior steps; predictions include numbers and a reason.
Part two
Usability testing, alone
Five chapters that take you from "I should test" to a finished, synthesized round, all within one morning a month. The method is Steve Krug's, from Rocket Surgery Made Easy (2010), adapted for a person who is also the recruiter, moderator, note-taker and the one who fixes the bugs afterwards.
2
Small, often: the five-user idea and its limits
Taught by Jakob Nielsen & Thomas Landauer, with Steve Krug, Laura Faulkner, Jared Spool
A handful of people doing realistic tasks reveals most of the big, common problems in a design, so many tiny rounds with fixes in between beat one large study; but "five is enough" is a rule about common problems in one flow, not a law.
In 1993 Jakob Nielsen and Thomas Landauer modeled how usability problems are discovered. If each problem has a chance L of being hit by any one participant, then after n participants you have found a share of 1 − (1 − L)n. Across the projects they studied, the average L was about 31%. Plug that in and five users find roughly 84% of the problems. The curve rises steeply and then flattens: user six mostly repeats what users one to five already showed you.
Nielsen's 2000 article "Why You Only Need to Test with 5 Users" turned this into a recommendation: rather than spend your budget on 15 users at once, run three rounds of five, fixing the problems between rounds. The second round tests your fixes and finds the problems the first set was hiding (you cannot discover that step three is confusing while everyone is stuck on step one).
Lab: the problem-discovery curve
84%of problems found
5users to reach 85%
+5%what the next user adds
Try L = 31% (Nielsen and Landauer's average), then drop it to 10%, which is closer to a complex product with many rare paths. Notice how the "five is enough" promise collapses when problems are rare, and how little the 12th user adds when they are common.
The limits of five
The formula assumes every problem has the same L, and that your five people are similar and doing the same tasks. Reality breaks all three. Laura Faulkner (2003) ran a study with 60 participants and drew random sets of five from them: some sets found most of the known problems, while unlucky sets found barely over half. Jared Spool and Will Schroeder (2001) tested large e-commerce sites and found that five users came nowhere near most problems, because each person took different paths through a huge site. The honest reading:
Five finds the common problems in the flow you tested. Those are the ones that matter most, so it is a great deal.
Rare problems need more people or different methods (analytics, support tickets, long-term use).
Different audiences need their own five. Writers and editors, new and returning, phone and desktop: each group is a separate pool.
Five is for finding problems, not measuring them. "3 of 5 failed" means "this is a real problem", not "60% of users fail." For percentages you need far larger samples.
Spend users across time, not all at once. Each fix exposes the next layer of the onion. Krug's version is even smaller: three users, one morning a month.
Krug's monthly morning
Steve Krug's Rocket Surgery Made Easy turns this into a routine anyone can run: test with three people, one morning a month, debrief the same day, and fix the few most serious problems before the next round. He argues three is enough because you are looking for the problems that most people will hit, and because a fixed monthly date means testing actually happens. For a solo creator, the calendar is the method. A date on the calendar beats a plan to "test properly once the redesign is done."
Week before. Pick the flow to test (usually whatever you just changed or whatever support complains about). Write 3 to 5 tasks. Recruit 3 people.
Morning, 9:00 to 12:00. Three sessions of about 45 minutes, with 15-minute gaps to write notes while they're fresh.
Lunch, 12:30. Debrief yourself: list everything you saw, pick the top three problems.
Afternoon. Decide the smallest change that fixes each. Krug's advice is to tweak rather than redesign: the least you can do that solves it.
Next month. Test again, including the fixed flow.
Do
Book a recurring date (first Saturday of the month, say) before you have anything "ready."
Run small rounds and fix between them.
Test each distinct audience or platform separately.
Use "3 of 5 struggled" as a signal of a real problem.
Don't
Wait for a large, perfect study.
Report "60% task failure" from five people as if it were a measurement.
Expect five users to find rare, deep or edge-case problems.
Keep testing the same broken flow without fixing it in between.
In the wild
GOV.UKGovernment Digital Service, 2012 onward
GDS teams publicly documented frequent, small-sample usability testing as a routine part of building services, including with people who have low digital skills or access needs. Cadence and coverage of different audiences beat one big study.
Krug's demo test"Rocket Surgery Made Easy", 2010
Krug shows a complete recorded session to illustrate how much one 20-minute test reveals to people who have never watched one. The first session you watch changes how you design; the point is to start.
For the solo creator
Three people, two hours, one fix list, once a month: that is twelve rounds and thirty-six sessions a year, more than many funded startups manage. If even that is too much, do one session every two weeks. Consistency matters more than sample size.
Common mistakes
Treating five as a magic number
The rule is quoted without its assumptions.
Use five (or three) per audience per round, for finding common problems. Use other methods for rare issues and measurement.
Testing everything at once
You want to get your money's worth, so you write twelve tasks covering the whole app.
Focus each round on one or two flows. Depth on one flow reveals more than skimming ten.
Never retesting fixes
You fix the problem and assume it's solved.
Next round, include the fixed flow. Fixes often create new problems, or only half-work.
Check yourself
Your app has two very different audiences: students taking lecture notes and lawyers drafting documents. You have budget for six sessions this month. Best plan?
Different audiences hit different problems, so each needs its own small sample. Three per group finds each group's most common issues. Random mixing (a) risks five students and one lawyer. Waiting (d) produces nothing.
Exercise 2.1 20 minutes · planning
Put testing on the calendar
Choose a recurring morning each month for the next six months. Put all six in your calendar now.
For the first date, write which flow you will test and why (recent change, support complaints, or activation drop).
List the audiences your product has. Decide which one the first round is for.
You're done when: six calendar entries exist and the first one has a named flow and audience.
Beginner
Competent
Strong
One date, vague flow ("the app").
Six dates; first round has a specific flow and audience.
Also a rotation plan for which flows and audiences each month covers.
3
Recruiting cheaply
Taught by Steve Krug, with Erika Hall, Teresa Torres
You need people who can plausibly do the task and who do not know your product's internals; you rarely need perfect matches, so recruit loosely, screen for the few traits that change behavior, and build a standing list so next month is easy.
Krug's advice is to "recruit loosely and grade on a curve": unless your product requires specific domain knowledge, almost anyone who uses similar software will reveal the big problems, and you mentally adjust for people who are less experienced than your real users. What matters most is that participants are not you: not designers or developers who will critique instead of use, and not people who already know how the product works.
The traits worth screening for are the ones that change behavior: Do they do the job your product is for (take notes, track money, read long articles)? Which platform do they use daily? Have they used your product before (and do you want that)? Everything else, such as age or job title, matters far less than founders tend to think.
Start top-left. Existing users and communities give the best match for the least money. Paid panels buy speed and screening. Fellow designers and developers are a poor fit at any price for usability testing: they critique instead of using.
Channels, ranked for a solo creator
Channel
How
Good for
Watch for
Existing users
An opt-in line in your welcome email or settings ("Happy to try new features? Join the test list"). Recent sign-ups for onboarding tests.
Real tasks, real data, retention questions.
Fans over-represented; they already know the product, so they cannot test first-run.
Communities
A short, honest post in a forum or Discord you actually take part in. Offer a thank-you.
Matching the job (writers, students, developers).
Rules on self-promotion. Do not spam.
Friends of friends
Ask five friends to each forward one message.
First-run and general usability.
Politeness. Keep the session task-based.
Paid panels
Services such as User Interviews, Respondent (often professional and B2B audiences) or Prolific (fast, large pool, mostly for unmoderated tasks and surveys).
Specific audiences, quick turnaround.
"Professional testers" who are too practiced. Use a screener.
Hallway tests
Ask someone in a coworking space or café for five minutes, buy them a coffee.
Five-second and first-click questions, label checks.
Not for long tasks or private data.
A screener in five questions
A screener is a short form that filters participants. Write it so the "right" answer is not obvious, or people will tell you what you want to hear.
Don't
Do you take notes on your phone a lot?
○ Yes
○ No
Leading and binary. Everyone who wants the gift card answers "Yes." "A lot" means nothing.
Do
In the last 7 days, which of these did you do? (choose all)
☐ Wrote a shopping list
☐ Saved a link to read later
☐ Took notes in a meeting or class
☐ None of these
Past behavior, hidden target. Your real criterion (notes in meetings) sits among distractors, with a concrete time window.
Incentives and courtesy
Pay people, or give them something of real value. A gift card, a year of your product, or a donation in their name all work. Amounts vary by country and audience: a small voucher works for a 20-minute consumer session, while professionals (doctors, lawyers, engineers) expect considerably more. Paying is not only fair; it changes the relationship from a favor to a job, which makes people less polite and more honest. Send the thank-you within 24 hours.
For the solo creator
Build a test list once and you will never "recruit" again. Add one opt-in checkbox to sign-up or a line in your welcome email. Keep a simple sheet: name, contact, audience, platform, last tested date. Rest each person for at least three months so they do not become experts. Twenty names is enough for a year of monthly rounds.
Do
Screen on behavior in a recent time window.
Hide the target answer among distractors.
Pay or reward people promptly.
Keep a standing test list with "last tested" dates.
Don't
Use designers or developers for usability tests.
Over-specify demographics that do not change behavior.
Reuse the same three people every month.
Recruit only fans from your newsletter for first-run tests.
Torres recommends automating recruitment, for example with an in-product prompt that invites users to book a short call, so that talking to customers every week does not depend on a fresh recruiting effort each time. Automate the pipeline and the habit survives busy weeks.
Beta programsTestFlight on iOS
Many indie iOS apps keep a TestFlight beta group of engaged users who opted in. A beta group doubles as a recruiting list for tests of new features, though not for first-run tests.
Common mistakes
Recruiting from your own social feed
It's quick, but your followers are disproportionately designers, developers and fans.
Ask for forwards to people outside your circle, or use communities organized around the job, not the craft.
No-shows wreck the morning
Unpaid volunteers forget.
Send a reminder the day before and an hour before; recruit one extra person as a standby; pay or reward.
Screening too tightly
You want "the perfect user" and wait weeks.
Screen for the one or two behaviors that matter. Grade on a curve for the rest.
Check yourself
You're testing the first-run experience of a budgeting app. Who should you recruit?
First-run tests need people who do the job but have no knowledge of your product. Active users (a) already know it. Developers (c) critique. "Anyone" (d) risks people with no reason to budget, who will not behave like real users.
Exercise 3.1 45 minutes · on your own product
Build your test list
Write a five-question screener using past behavior and hidden targets.
Add an opt-in to your product or welcome email, or write a community post you would be comfortable publishing.
Create the tracking sheet (name, contact, audience, platform, last tested).
Message enough people to fill your first three slots plus one standby.
You're done when: three sessions and one standby are booked for your first test date.
Beginner
Competent
Strong
Booked friends without a screener.
Screener with hidden targets; three outside participants booked.
Also an automated opt-in that keeps adding people, and a reward plan.
4
Writing tasks that don't give the answer away
Taught by Steve Krug, with Jakob Nielsen, Erika Hall
A good task gives a realistic goal and the motivation behind it, in the user's words, and never names the button, label or path you want them to find; a bad task is an instruction in disguise.
The task is the most powerful lever in a usability test, and the easiest to ruin. If your task says "Use the Collections feature to group your notes," you have told the participant the feature exists, what it is called and roughly what it does. They will scan for the word "Collections," find it, and succeed. You will learn that people can match words. You will not learn whether anyone would ever think to group notes, or where they would look.
A good task is a scenario: a short story with a goal and a reason, like real life. "You're preparing for three exams next week and your notes for each subject are mixed together. Get them organized so you can revise one subject at a time." Now the participant has to translate a real need into your interface, which is exactly what real users do.
Four parts, no interface words. Context makes it real, the goal gives direction, the constraint creates the actual design question (offline), and the end state lets you judge success objectively.
Bad and good pairs
Instruction (bad)
Scenario (good)
What changed
Click "Add Expense" and enter ₹450 for lunch.
You just paid ₹450 for lunch with a colleague. Make sure it shows up in this month's spending.
Removed the button name and the path.
Go to Settings and turn on Dark Mode.
You read in bed at night and the screen feels too bright. Make it more comfortable.
Removed the location and the solution; the participant may also try brightness or a reading theme, which is useful to know.
Find the export feature.
Your editor wants your draft as a Word document by tonight. Send it to her.
Added a real end state with a format; reveals whether people find export at all, and the format choice.
Do you understand what Collections are?
(Show home screen.) What do you think you can do here? What would you try first?
A yes/no comprehension question becomes an open, observable one.
Try out the new search filters.
Last week you saved an article about sleep, but you can't remember the title. Find it.
"Try out" has no end state; the scenario has a specific target you plant in the test data.
Lab: does this task lead?
Judge each task wording. Score: 0 of 6.
Mark each wording as leads (gives the answer away or is not a real task) or fair (a scenario that lets you observe). Read the feedback even when you are right.
More rules for tasks
Plant the data. If the task is "find the article about sleep," make sure a test account contains it, among realistic decoys.
Order tasks like real life: sign up before you organize. But put a task you most care about early, in case time runs out.
Allow multiple right paths. Write down what counts as success before the session, not during.
Hand tasks over on paper or in chat so the wording is identical for each person and they can re-read it.
Let participants invent one task: "What would you normally do with an app like this? Show me." Their own task is often the most revealing.
Pilot the tasks on anyone (even a friend) before the real session, to catch ambiguous wording.
Do
Write a reason and an end state for every task.
Use the user's vocabulary, not your interface's.
Decide success criteria in advance.
Pilot once.
Don't
Name buttons, tabs, menus or features.
Ask "can you find…" or "try out…" with no goal.
Ask yes/no comprehension questions.
Write more tasks than fit in 30 minutes.
In the wild
Krug's sample test script"Rocket Surgery Made Easy", 2010
Krug provides a word-for-word script, including how to hand over tasks on separate slips so each participant hears exactly the same thing. Consistency across sessions is what lets you compare them.
Nielsen Norman Grouparticles on task writing
NN/g repeatedly warns against tasks that contain words from the UI, because participants "word-match" instead of thinking. Leaking a label turns a test of understanding into a test of reading.
Common mistakes
The label leak
You think in your interface's vocabulary, so it slips into tasks.
After writing, highlight every word that also appears in your UI. Replace each with the user's word for the goal.
Tasks with no end
"Explore the dashboard" feels open and friendly.
Every task needs a moment when the participant (and you) knows it is done.
Fantasy scenarios
"Imagine you're a CEO with 400 employees…" makes people role-play, badly.
Pick scenarios that fit the participant's real life; screen for it, or let them adapt details.
Check yourself
You want to know if people notice your new "Focus" mode that hides everything but the current paragraph. Best task?
(d) creates the real need without naming the feature or describing its mechanism. (c) still describes the solution ("hides distractions"), so it leaks. (a) leaks the name. (b) is an opinion question. With (d), if nobody finds Focus mode, you have learned something important about discoverability.
Exercise 4.1 40 minutes · on your own product
Write and de-leak five tasks
Write five tasks for the flow chosen in Exercise 2.1.
Highlight every word that appears in your interface. Rewrite each task to remove them.
Add context, goal, constraint and end state to each.
Write the success criteria for each task in a separate column, including alternative valid paths.
Pilot with one person and fix any wording that confused them.
You're done when: five scenario tasks with zero UI words, each with written success criteria, piloted once.
Beginner
Competent
Strong
Tasks still contain UI words or lack end states.
Clean scenarios with end states and success criteria.
Also planted test data, a participant-invented task slot, and an order that protects the most important task.
5
Moderating without leading
Taught by Steve Krug, with Clayton Lewis, Jakob Nielsen, Erika Hall
Your job in the session is to make the participant comfortable thinking out loud, then get out of the way: neutral prompts, no hints, no defending, and every question answered with a question.
Thinking aloud is the core technique: you ask participants to say what they are looking at, what they are trying to do and what they expect, as they go. It was brought into usability work at IBM by Clayton Lewis in the early 1980s, and Nielsen has called it the single most valuable usability engineering method. It works because it externalizes the participant's mental model at the moment of action: "I'd expect this to be under the menu… no… maybe this gear?" is pure gold, and you would never get it from a later interview.
Thinking aloud is unnatural, so you have to teach it gently at the start and prompt it during the session without steering. The hardest discipline for a solo creator is silence. You built this. When they struggle, every instinct says help. Don't. The struggle is the finding.
The session shape
Most of the time goes to tasks. The warm-up questions ("How do you take notes today?") relax people and give context. The debrief is where you may finally ask why, and explain things.
Phrases to use and to avoid
Situation
Avoid (leads or helps)
Use (neutral)
Participant goes quiet
"Are you looking for the export button?"
"What are you thinking right now?" or "What are you looking for?"
Participant asks "Should I click this?"
"Yes, go ahead."
"What would you do if I weren't here?"
Participant asks what something does
"That syncs your notes."
"What do you think it does?"
Participant completes the task
"Great job! Perfect!"
"Thanks. Let's move to the next one." (Praise only success and they'll fear failing.)
Participant fails or gives up
"Oh, it's actually right here."
"That's really useful, thank you. Where did you expect it to be?"
Participant blames themselves
"Don't worry, most people get it."
"You're helping us find where the app is unclear; that's exactly what we need."
Asking for opinion
"Isn't that easier than other apps?"
"How did that compare with what you expected?"
The same moment, two moderators
Hmm. I want to send this to my editor… I'm not sure where.
Did you see the share icon at the top?
Oh! Yes, there. OK, Word document. Done.
Great! That was pretty easy, right?
Yeah, really easy.
Hmm. I want to send this to my editor… I'm not sure where.
Where would you expect it to be?
Usually there's a File menu. I'll try the three dots… no, that's font stuff. Maybe I'd just copy and paste it into an email.
Go ahead and do whatever you'd normally do.
(Copies text into email; formatting lost.) That's… not what I wanted.
Leading: one hint and one loaded question produce a "really easy" success. You learn nothing, and your notes now say export is easy.
Neutral: two open prompts reveal the real mental model (File menu, three dots), the workaround (copy-paste) and its cost (lost formatting). Three findings in thirty seconds.
Remote, in person and unmoderated
How: a video call with screen share (any tool you and they already use). For phone apps, ask them to share their phone screen, or join from the phone while a laptop camera points at it.
Strengths: anyone, anywhere; they use their own device and setup, which is more realistic; easy to record. Weaknesses: you miss body language and off-screen behavior; connection problems eat time. For a solo creator this is the default.
How: sit beside and slightly behind them; they drive, you watch and take notes. Use their device if possible.
Strengths: richest signal (sighs, leaning in, glances at the phone); easier to build trust; best for physical context (a recipe app in a real kitchen). Weaknesses: travel and scheduling; you're more tempted to help when you're physically close.
How: a service such as Maze, Lyssna or UserTesting gives tasks to participants who record themselves, with no moderator present. You watch the recordings later.
Strengths: fast and parallel, no scheduling; good for simple, well-defined tasks and quick comparisons. Weaknesses: you cannot ask "what were you expecting?" at the key moment; task wording must be perfect; panel participants may rush. Use it to add volume after moderated sessions have shown you what to look for.
Recording and consent
Ask before you record, in writing and again on the call. Tell people exactly what you record (screen, voice, face), who will see it (you), how long you keep it, and that they can stop at any time and still get the thank-you. Never test with their real private data unless they offer; prepare a demo account instead. If you want to quote someone publicly, ask separately. Under laws like the EU's GDPR and India's Digital Personal Data Protection Act (2023), recordings of people are personal data, so keep them only as long as you need them and delete them on schedule. When in doubt, take notes instead of recording.
Don't
Surprise recording. It breaks trust and, in many places, the law. People who feel watched also behave less naturally.
Do
Plain, specific, reversible. Three facts, a real alternative, and recording starts only after a yes.
For the solo creator
You are moderator and note-taker at once, which is hard. Three tricks: record (with consent) so you can re-watch the moments you missed; keep notes to timestamps plus a few words ("12:40 tapped gear, expected help"); and leave 15 minutes between sessions to expand your notes while memory is fresh. Resist the urge to fix bugs between sessions in the same morning: keep the conditions identical.
Do
Say "we're testing the app, not you" at the start.
Answer questions with questions.
Count to ten silently before rescuing anyone.
Save your own explanations for the debrief.
Don't
Praise success or sigh at failure.
Defend or explain the design during tasks.
Ask "would you use this?"
Record without explicit consent.
In the wild
Krug's test script"Rocket Surgery Made Easy", 2010
The script opens by reassuring the participant that they can't do anything wrong and asking them to think out loud, and it is freely shared so anyone can reuse it. Borrow a proven script rather than improvising your welcome.
Nielsen Norman Group"Thinking Aloud: The #1 Usability Tool", 2012
The article argues thinking aloud is cheap, robust and flexible enough for any stage, and that even inexperienced facilitators get useful results. You do not need training to start; you need restraint.
Common mistakes
Rescuing too soon
Silence feels rude and you hate watching people struggle with your work.
Decide a rule in advance: rescue only after two minutes of being stuck, or if they're distressed. Then mark the task as failed, help, and move on.
Turning it into an interview
You're curious, so you ask "why?" after every click.
Keep "why" questions for the debrief; during tasks, only prompt them to keep talking.
Defending the design
Criticism of your product feels personal.
Respond to every criticism with "thank you, tell me more." Write it down. Decide later, calmly.
Check yourself
Mid-task, the participant says: "Is the tag thing the same as a folder?" What do you say?
Reflecting the question reveals their mental model, which is the finding. (a) teaches them, contaminating the rest of the session. (c) shuts them down. (d) reveals that others were confused, which is leading and slightly patronizing.
Exercise 5.1 60 minutes · practice
A practice session on someone else's product
Pick an app you don't make (a banking or travel app works well). Write two scenario tasks.
Run a 15-minute think-aloud session with a friend, recording audio with consent.
Listen back and tally every time you spoke during a task. Mark each as neutral or leading.
Rewrite each leading line as a neutral one using the table above.
You're done when: you have a tally of your interventions and a rewritten list of every leading line.
Beginner
Competent
Strong
More than five interventions, several leading.
Few interventions, mostly neutral prompts.
Near silence during tasks; every question reflected back; a rich debrief.
6
Notes, severity and synthesis
Taught by Jakob Nielsen, with Tomer Sharon, Steve Krug
A test is only worth what you write down and act on: capture behavior with timestamps, rate each problem by frequency, impact and persistence, lay the findings out so patterns jump out, and fix the few most serious ones with the smallest change that works.
Sessions produce a fog of impressions. By lunchtime you will remember the funniest moment and the participant who agreed with you, and forget the quiet hesitations that matter most. The cure is structure: one note format for every session, one rating scale for every problem, one sheet where all findings meet.
A note-taking template
Note what you saw and heard, separately from what you think it means. Mixing them is how bias creeps in.
Time
Task
Observed (did)
Said (quote)
My interpretation
04:10
T1 offline
Scrolled article, opened ⋯ menu, closed it
"I thought there'd be a download"
Download is not in the ⋯ menu where she expects it
05:30
T1 offline
Opened Settings, found "Sync", toggled it
"Maybe this?"
"Sync" read as "save to phone"; wrong model
07:02
T1 offline
Gave up
"I'd just screenshot it"
Task failed; workaround exists (screenshot)
Rating severity
Nielsen's severity scale, published in the mid-1990s alongside his heuristic evaluation work, combines three factors: frequency (how many users hit it), impact (how hard it is to overcome) and persistence (whether it bites once or every time). He also mentioned market impact, which for you means: does it touch your core promise?
Rating
Meaning
Example
0
Not a usability problem at all
One person disliked the font color
1
Cosmetic: fix if there's time
Inconsistent capitalization in menus
2
Minor: low priority
Users hesitate on an icon but figure it out
3
Major: important, high priority
Most users can't find offline download without help
4
Catastrophe: fix before release
Users lose their writing when the app is backgrounded
Lab: severity calculator
01234
A teaching heuristic, not an official formula: Nielsen's scale is a judgment call. The calculator shows how the factors trade off, so your judgment becomes consistent. Data or trust loss jumps straight to the top regardless of frequency.
Synthesis: the rainbow spreadsheet
Tomer Sharon, then a researcher at Google, described the rainbow spreadsheet in a 2013 Smashing Magazine article: one row per observation, one column per participant, a colored cell where that participant showed that behavior. It was designed for teams watching together, but it is just as useful alone, because it turns a pile of notes into a picture of patterns. Rows with many filled cells are your common problems; single cells are anecdotes worth watching.
Patterns become visible as color density. The top two rows are your fixes for next month. "Liked the font" is nice but changes nothing. A single "idea" cell goes in a parking lot, not on the roadmap.
Fixing the right things
Not every problem deserves a fix, and not every fix deserves a redesign. Krug's guidance: focus ruthlessly on the most serious problems, and prefer the smallest change that solves them (a label, a default, moving one control) over a rebuild, because tweaks are cheap to test again next month and rebuilds introduce new problems. Plot what you found on severity versus effort.
Top-left first, always. High severity and low effort is the best return on a solo week. High-severity, high-effort work goes into planning, but often a small change can relieve it in the meantime (rename "Sync" while you design real offline).
For the solo creator
Do the synthesis the same day, before you open your code editor. The temptation is to start fixing the first bug you saw at 9:15. Instead, fill the sheet, rate severity, pick the top three, write them as issues with the evidence attached ("3 of 3 looked in ⋯ menu, see 04:10"). Then fix. The evidence line will matter in three months when you wonder why you moved that button.
Checklist: test plan for one morning
A week before
Materials
On the day
After
Do
Separate observation from interpretation in your notes.
Rate severity on the same scale every round.
Synthesize the same day.
Fix the top few with the smallest change that works.
Don't
Rely on memory of "how it went."
Fix the most interesting problem instead of the most severe.
Turn every feature request into a backlog item.
Redesign a whole screen to solve one label problem.
Built so observers could fill it together during sessions and leave with shared conclusions, avoiding a slow report. Synthesis can be visual and fast; a report nobody reads is not the goal.
Krug's debrief"Rocket Surgery Made Easy", 2010
Krug recommends a short debrief over lunch where each observer names the most serious problems they saw, followed by agreement on what to fix before next month. Limit the fix list. Small lists get done.
Common mistakes
Counting quotes instead of behaviors
Quotes are memorable and easy to write down.
Make "Observed" the first column. A quote without matching behavior is weak evidence.
Severity inflation
Everything feels urgent right after watching people struggle.
Rate the next morning, with the scale in front of you. Only data or trust loss is automatically a 4.
The 40-item fix list
You want to fix everything you saw.
Pick three. The rest stay in the sheet; many will vanish once the top issues are fixed.
Check yourself
Two problems: (A) 1 of 5 participants lost an unsaved draft when switching apps; (B) 4 of 5 hesitated briefly at an ambiguous icon, then figured it out. Which do you fix first?
Frequency is only one factor. Losing someone's writing is a severity 4: it ends the relationship. The icon problem is a 2 (minor, recoverable). One occurrence of data loss in five sessions is plenty of evidence that the bug exists.
Connect the ideas · Part two recap
Look back at Diagnostic 3 in the warm-up. A participant hesitated ten seconds, then called the app "really easy." Using Part two, what is the complete right response?
Behavior first (Chapter 1's ladder), neutral probing saved for the debrief (Chapter 5), and pattern-checking across participants before severity (Chapter 6). Changing the product between sessions (d) breaks the comparison.
Exercise 6.1 One morning plus 90 minutes · on your own product
Run your first full round
Run three sessions using your tasks from Exercise 4.1 and the checklist above.
Within the same day, build a rainbow sheet: rows for observations, columns for participants.
Rate every row 0 to 4. Compare with your predictions from Exercise 1.1.
Plot the severity-3-and-up problems on severity versus effort. Pick three fixes.
Write each fix as an issue with the evidence line attached.
You're done when: three sessions are done, a rainbow sheet exists, three issues with evidence are in your tracker, and you've written one sentence on how your predictions compared.
Beginner
Competent
Strong
Sessions run; findings remembered, not recorded.
Rainbow sheet, severity ratings, three evidence-backed issues.
Also a prediction-accuracy note and a smallest-change fix for each issue, scheduled for retest.
Part three
Testing before it's built
The cheapest time to find a problem is before you write the code. Two chapters on testing sketches, prototypes and structure, and on the quick, narrow methods that answer one question each in an afternoon.
7
Prototype testing at every fidelity
Taught by Carolyn Snyder, with Bill Buxton, Jake Knapp
Match the fidelity of the prototype to the question you're asking: paper for structure and concept, clickable mockups for flow and labels, coded prototypes for feel, speed and real data; higher fidelity costs more and makes people critique polish instead of ideas.
Fidelity is not a ladder you must climb in order. It is a set of tools, each good at answering certain questions. Carolyn Snyder's Paper Prototyping (2003) showed that a hand-drawn interface, with a person playing "computer" by swapping paper screens, finds many of the same problems as a working product, at a fraction of the cost. Bill Buxton's Sketching User Experiences (2007) argued that sketches invite critique because they look unfinished: people feel free to say "this is wrong" to a drawing in a way they never will to a polished screen.
Fidelity is a choice of question. Paper answers "does this make sense?" Clickable answers "can they get through it?" Code answers "does it feel right with real content?"
What each level can and cannot tell you
Level
Tests well
Cannot test
Solo tip
Paper / sketch
Concept, what's on each screen, rough order, vocabulary
Draw on index cards; you play the computer. Works in a café in 15 minutes.
Clickable mockup (Figma, Keynote, HTML)
Flow, labels, navigation, first-click choices
Real data, performance, text input, errors
Wire only the "happy paths" for your tasks; dead links are fine if you say so.
Coded prototype
Feel, animation, speed, real content length, edge cases
Nothing is off-limits, but it is expensive to throw away
Prototype in a branch with fake data. Many solo creators design in code; that's fine if you test before polishing.
Live product (beta flag)
Real behavior over days, retention, habits
Why things happen (pair with interviews)
Ship behind a flag to your test list first.
Don't
Polish with fake content. Participants comment on the yellow, not the flow, and lorem ipsum hides the real comprehension problems your words will cause.
Do
Rough form, real words. Grey boxes invite honest critique; real titles and real labels test what matters: comprehension and flow.
For the solo creator
If you think in code, a "coded sketch" is fine: a throwaway HTML page with real words, no styling, wired with plain links, built in an hour. The rule is not "never code before testing," it is "never polish before testing." Keep prototypes in a separate folder so you're not tempted to ship them. For deeper prototyping practice see The Solo Practice.
Do
Pick the lowest fidelity that can answer your question.
Use real words and realistic content at every level.
Tell participants the prototype is rough and that's on purpose.
Throw prototypes away without guilt.
Don't
Polish visuals before the flow is tested.
Test gestures or performance on paper.
Use lorem ipsum in a usability test.
Ship a prototype's code because it's "almost done."
In the wild
Google Ventures design sprintJake Knapp, "Sprint", 2016
The sprint builds a realistic-looking "facade" prototype in one day (often in Keynote) and tests it with five customers on the last day. A prototype only needs to be real enough for the questions you're asking.
The Palm Pilot wooden blockJeff Hawkins, 1990s
Hawkins famously carried a block of wood the size of the planned device in his pocket, "using" it in meetings to test whether the form and core tasks fit daily life. The lowest fidelity can test the biggest question: does this fit into a life?
Common mistakes
Too high, too early
Polished tools make polish the default.
Start every new feature in grayscale with system fonts. Add visual design only after one round of testing.
Testing a prototype that can't fail
Only the correct path is wired, so every click "works."
Wire plausible wrong paths to a "not built yet, where did you expect to go?" screen and log them.
Check yourself
You're unsure whether a new swipe-between-chapters gesture in your reader feels natural. Which prototype?
Gestures, timing and feel are exactly what low fidelity cannot test. Paper and taps (b, c) fake the very thing in question. A survey (d) asks for a prediction.
Exercise 7.1 60 minutes · on your own product
Paper-test your next feature
Choose the next feature on your list. Write the one question you're least sure about.
Sketch the 3 to 5 screens on index cards with real words.
Run two 10-minute sessions playing "computer," with one scenario task.
Change the sketches between sessions if something clearly fails (allowed at this fidelity).
You're done when: you have tested sketches twice and written what changed and why, before writing code.
Beginner
Competent
Strong
Sketches shown and discussed, not tested with a task.
Two task-based sessions; sketches revised.
Also the open question answered with evidence and a decision on the next fidelity.
8
Quick methods: first-click, five-second, preference, tree tests, card sorts
Taught by Bob Bailey & Cari Wolfson, with Donna Spencer, Jared Spool
Each quick method answers one narrow question with less effort than a full usability test; pick by question: where do they click first, what do they remember, which do they understand, where would they look, how do they group things.
Full sessions are rich but slow. Quick methods trade richness for speed and numbers: many of them run unmoderated, with 20 to 50 participants, in a day. They are best used to settle a specific design question before or between usability rounds.
Five methods, five questions. Choose by the question you have, not by the tool you happen to subscribe to.
First-click testing
Show a screen and a task ("Where would you click to read this article offline?"), record only the first click. Research by Bob Bailey and Cari Wolfson found that when people's first click was correct, they went on to complete the task about 87% of the time, against about 46% when the first click was wrong. The first click predicts the rest. That makes first-click tests a cheap check on labels and layout, especially navigation and home screens.
Five-second tests
Show a screen for five seconds, hide it, ask: "What was this page for? What do you remember?" It tests whether the purpose and the main hierarchy come through at a glance, which is exactly what a landing page or an empty home screen must do. If people remember your decorative illustration and not what the product does, your hierarchy is upside down (see Visual Design). It cannot test usability; nobody uses anything in five seconds.
Preference tests (with caveats)
Show two or more designs and ask which people prefer and why. Useful for tone and aesthetic direction (two icon styles, two onboarding illustrations). Dangerous for anything about usability: people prefer what looks familiar and attractive, and their preference does not predict which one they can use. Always ask a comprehension question first ("What do you think this button does?"), then the preference, and treat the "why" answers as more valuable than the vote.
Don't
A vote on looks. "Better" is undefined. The winner may be the prettier one that nobody understands.
Do
Comprehension, then taste, then reasons. You can combine the clear icon from one with the calm look of the other.
Tree testing
Strip your navigation down to a text hierarchy (no visual design at all) and ask people where they would go to do a task. It isolates your information architecture from your layout. If people can't find "Offline reading" in a bare tree, no amount of icon polish will save it. Tools like Optimal Workshop's Treejack automate it; you can also do it with a nested list on paper. Watch two numbers: success (did they end in the right place?) and directness (did they get there without backtracking?).
Card sorting
Give people cards with your content or features on them and ask them to group the cards and name the groups. In an open sort they invent the groups, which reveals their mental model and vocabulary. In a closed sort you supply the group names and see whether your categories make sense. Donna Spencer's Card Sorting (2009) is the standard guide. Use open sorts early, when you're designing navigation; use tree tests afterwards to check the structure you built. For more on structure itself see Structure & Interaction.
Your question
Method
Sample
Will people find X from this screen?
First-click test
20 to 40
Does the page say what it's for?
Five-second test
20 to 30
Which visual direction feels right?
Preference test with reasons
25 to 50
Is my menu structure findable?
Tree test
30 to 50
How do people group my features?
Open card sort
15 to 30
Why do they fail?
Moderated usability test
3 to 5
For the solo creator
You can run a scrappy version of all five for free: post a screenshot in a community you belong to with "Where would you tap to…? Reply before reading others," or hand a printout to five people at a café. The answers will be noisier than a panel's but still decisive when the result is lopsided, which it usually is when something is truly unclear.
Do
Match the method to one specific question.
Ask comprehension before preference.
Use tree tests to check navigation without visual design.
Follow up surprising results with a moderated session.
Don't
Use preference votes to decide usability questions.
Use a five-second test to judge a workflow.
Treat quick-test percentages as precise with 20 people.
Run a card sort with your internal feature names.
In the wild
Lyssnaformerly UsabilityHub, renamed 2023
Offers five-second, first-click, preference and design-survey tests with an optional participant panel. These methods are commodities now; the skill is asking the right question.
Optimal WorkshopTreejack, OptimalSort
Popularized online tree testing and card sorting with success and directness metrics and similarity matrices. Test structure separately from screens.
Common mistakes
Asking "which do you like?" about usability
It's the easiest question to write.
Ask what something does, or where they'd click, before any preference.
Card-sorting with jargon
Cards use your feature names, so people sort words they don't understand.
Write cards as plain descriptions of content or tasks.
Treating quick tests as final
A clean number feels conclusive.
Use quick tests to narrow options; confirm the winner in a task-based session.
Check yourself
You're redesigning the settings of your app, which has grown to 40 options. You want a structure people can navigate. Best sequence?
The question is structural: how should 40 options be grouped and named? Card sorting reveals people's groupings and words; tree testing validates the resulting hierarchy before any visual design. The other methods test looks or a single screen.
Exercise 8.1 45 minutes · on your own product
A first-click test for your home screen
Write five scenario tasks that start from your home screen.
Run a first-click test with at least 10 people (a tool, or a printout and a pen).
Plot the clicks on a copy of the screen. Mark the correct target for each task.
For any task under 70% correct first clicks, write a hypothesis for why.
You're done when: you have a click map for five tasks and a hypothesis for each weak one.
Beginner
Competent
Strong
Fewer than 10 people; tasks leak labels.
10+ people, clean tasks, click map, hypotheses.
Also a revised screen re-tested with new people, showing improvement.
Part four
Expert eyes: reviewing your own work
Between test rounds you are alone with your product. These three chapters give you structured ways to see it critically without participants: Nielsen's ten heuristics, the cognitive walkthrough, and a set of self-critique habits that make your own eyes fresher. They complement user testing; they never replace it.
9
Nielsen's ten heuristics, in depth
Taught by Jakob Nielsen & Rolf Molich, with Don Norman
Ten broad rules of thumb, distilled from hundreds of real usability problems, let you inspect any interface and catch many common problems without users; each one is a lens that makes a category of failure visible.
Jakob Nielsen and Rolf Molich introduced heuristic evaluation in 1990. In 1994 Nielsen refined the list by analyzing 249 usability problems and finding the set of principles that explained them best. The ten have barely changed since (NN/g refreshed the wording in 2020), because they describe how people work, not how technology looks. They also echo Norman's principles from The Design of Everyday Things: feedback, mapping, constraints, conceptual models (see Foundations and The Human Mind).
Nielsen also found that a single evaluator catches only a fraction of the problems (around a third, in his studies), and that several evaluators working independently find far more, because different people notice different things. You are one evaluator. That's a reason to use the heuristics as a structured lens, do several passes, and still test with users.
1 · Visibility of system status
The system should always tell people what is going on, through timely feedback. Every action needs an answer: "I heard you," "I'm working," "Done," or "That failed." Silence makes people tap again, wait anxiously, or leave. Rough timing guide: under 0.1 s feels instant; up to about 1 s keeps flow without a spinner; beyond a few seconds needs progress (see Motion & Feel).
Don't
Did it work? No change after the tap. People tap again and upload twice, or leave mid-upload.
Do
Count, progress, reassurance. The person knows it's working, how long, and whether they can move on.
2 · Match between the system and the real world
Speak the user's language: words, concepts and order that are familiar to them, not to your database. Internal names (entity, sync conflict, workspace object) leak in because you see them every day in code. Order should follow the real-world task: a recipe app lists ingredients before steps.
Don't
Your database's language. True, precise, and meaningless to a person who just wants their note.
Do
Their world. Names the note, the devices and the choice in words they already use.
3 · User control and freedom
People act by mistake all the time. They need a clearly marked "emergency exit": undo, cancel, back, close, without a long process. Undo is better than confirmation dialogs, because people click through confirmations automatically but can always recover with undo (see Structure & Interaction).
Don't
No way back. A mis-selected bulk action destroys work, and the only button acknowledges the loss.
Do
Instant exit. The action happens without friction, and a one-tap undo covers mistakes; Trash covers late regrets.
4 · Consistency and standards
People should not wonder whether different words, positions or actions mean the same thing. Two kinds: internal consistency (your app agrees with itself) and external (it follows platform conventions, which Nielsen elsewhere calls Jakob's Law: users spend most of their time in other products). Follow the platform unless you have a strong reason not to (see Systems & Platforms).
Don't
Three answers to one question. Different words, places and styles for the same action force people to re-learn each screen.
Do
One word, one place, one style. After the first screen, people stop looking and just act.
5 · Error prevention
Better than a good error message is a design that prevents the error. Norman distinguishes slips (right goal, wrong action, like tapping Delete instead of Save) from mistakes (wrong goal from a wrong mental model). Prevent slips with spacing, constraints and good defaults; prevent mistakes with clear previews and explanations.
Don't
A slip waiting to happen. Destructive and primary actions are twins, four pixels apart.
Do
Distance and difference. Delete is far away, quieter, and colored for danger; the primary action is unmistakable.
6 · Recognition rather than recall
Minimize what people must remember. Show options, recent items and examples instead of expecting them to remember commands, codes or what was on the previous screen. Working memory is small (see The Human Mind); every "remember this" is a tax.
Don't
Recall required. Users must remember format codes from somewhere else.
Do
Recognition. Each option shows today's date in that format. Choosing is seeing.
7 · Flexibility and efficiency of use
Shortcuts, hidden from novices, speed up experts. The best designs let the same person grow: menus show keyboard shortcuts next to commands, so people learn them by using the menu. Command palettes (⌘K) serve both: novices search in words, experts type three letters.
Don't
One path for everyone. The fiftieth export takes as long as the first.
Do
Both speeds. Search in words now; the shortcut beside it teaches the faster path for next time.
8 · Aesthetic and minimalist design
Every extra unit of information competes with the relevant ones and reduces their visibility. This is not "make it pretty" or "make it empty": it is "make what matters win." Rams's "less, but better" and Tufte's data-ink ratio are the same idea (see Visual Design).
Don't
Everything shouts. Badges, banners and tiles bury the one thing the person came to do.
Do
One clear next step. The main job (keep reading) wins; everything else steps back.
9 · Help users recognize, diagnose and recover from errors
Error messages should be in plain language, say precisely what went wrong, and suggest a fix, right where the problem is. Keep what the person typed. For the words themselves, see Words.
Don't
Blame without a clue. Which field? What's wrong? And everything typed is gone.
Do
Where, what, how to fix. The message sits by the field, explains the rule and keeps the input so the fix is one keystroke.
10 · Help and documentation
Ideally nothing needs explaining. When it does, help should be easy to search, focused on the person's task, short, and available in context, at the moment of need.
Don't
Help as homework. The answer exists, on page 47, in a separate document.
Do
In context, in two sentences. The answer appears where the question arises, with a path to more.
Practice: spot the violations
Lab: heuristic spotting game
Click anything that violates a heuristic. 0 of 6 found.
Six violations are hidden in this export screen, plus a few elements that are fine. Before clicking, try naming the heuristic in your head. Real screens rarely have one problem at a time.
#
Heuristic
Ask yourself
1
Visibility of system status
After every action, does the screen answer within a second?
2
Match with the real world
Would a user say these words out loud?
3
User control and freedom
Can I undo, cancel or go back from here?
4
Consistency and standards
Does this work like the rest of my app and the platform?
5
Error prevention
What's the easiest wrong thing to do here, and can I make it harder?
6
Recognition rather than recall
Do I need to remember anything from elsewhere?
7
Flexibility and efficiency
Is there a faster path for the 100th time?
8
Aesthetic and minimalist design
What on this screen does not help the main task?
9
Recover from errors
Does every error say what, why and how to fix, in place?
10
Help and documentation
If someone is stuck here, where is the answer?
Watch out
Heuristics find violations of rules, not failures of purpose. A screen can pass all ten and still solve the wrong problem, or be confusing in a way no heuristic names. Heuristic evaluation also produces false positives: "violations" that don't bother real users. Use it to clean up before testing, not to replace testing.
Do
Review one heuristic at a time across the whole flow.
Record each issue with the heuristic, location and severity.
Use heuristics to tidy up before a test round.
Learn the "ask yourself" questions by heart.
Don't
Treat a clean heuristic review as proof of usability.
Argue about which heuristic an issue "belongs to"; the issue matters, not the label.
Fix every cosmetic violation before the severe ones.
Break platform conventions in the name of minimalism.
In the wild
Gmail Undo SendGoogle, a Labs experiment from 2009, a standard setting since 2015
A short delay before sending lets people pull back an email, turning an irreversible action into a reversible one. Heuristic 3 can be solved with time instead of dialogs.
Command palettesSublime Text, VS Code, Linear, Raycast, Figma
A single search box that runs any command, often listing its shortcut. Heuristics 6 and 7 at once: recognition for novices, speed for experts.
Stripe's form validationStripe Checkout and Elements
Card fields format numbers as you type, detect the card brand, and flag problems inline next to the field. Heuristics 1, 5 and 9 designed together reduce errors and make the rest easy to fix.
Common mistakes
Reviewing screens, not flows
Screenshots are easy to review one by one.
Walk through real tasks; many violations (status, undo, consistency) appear only between screens.
Heuristic theater
A long list of violations feels productive.
Rate severity and fix the top few. A report with 60 cosmetic items helps no one.
Minimalism that hides function
Heuristic 8 gets read as "remove things."
Remove what doesn't serve the task; keep labels and status that do. Hiding Undo is not minimalism.
Check yourself
Your writing app autosaves silently. In tests, people keep pressing ⌘S and asking "is this saved?" Which heuristic, and what's the smallest fix?
The system is doing the right thing but not telling anyone. A tiny, calm status indicator (as many editors show near the title) fixes it. Honoring ⌘S with feedback also respects heuristic 4 (standards: people expect ⌘S to save).
Exercise 9.1 30 minutes · on a product you use daily
One violation per heuristic
Pick an app you use every day that you did not make.
Find one clear example of each heuristic being violated, and one example of each being done well.
Screenshot or sketch each. Write one sentence on the fix for each violation.
You're done when: you have 20 annotated examples (10 violations, 10 good) and a one-line fix for each violation.
Beginner
Competent
Strong
Examples for half the heuristics; vague fixes.
All ten, with specific fixes.
Also notes where a fix for one heuristic would break another, and how you'd balance them.
10
Expert review and the cognitive walkthrough
Taught by Cathleen Wharton, John Rieman, Clayton Lewis & Peter Polson, with Rick Spencer
A heuristic review asks "what rules does this break?"; a cognitive walkthrough asks, step by step, "would a first-time user know what to do here, and would they know it worked?"; together they let you inspect your own product with structure instead of vibes.
The cognitive walkthrough was developed in the early 1990s by Clayton Lewis, Peter Polson, Cathleen Wharton and John Rieman, and published as a practitioner's guide in 1994. It is built on a theory of exploratory learning: new users don't read manuals; they try things that look like they lead toward their goal. So for each step of a task, you ask four questions on behalf of a new user:
Four questions, every step. A "no" to any one is a likely failure point. Rick Spencer's 2000 "streamlined" version cuts it to two questions (will they know what to do? will they know they did the right thing?) so it fits real schedules.
A worked example
Task: "Save this article to read offline on the plane." User: a new user, comfortable with phones, never used this app. Correct path: tap ⋯ → "Keep on device".
Step
Q1 Try?
Q2 See?
Q3 Connect?
Q4 Progress?
Story
Tap ⋯ on the article
Yes
Yes
Maybe
Yes
A ⋯ menu is a common place to look for "more actions," but nothing hints offline lives there.
Tap "Keep on device"
Yes
Yes
No
–
"Keep on device" doesn't match "offline" or "download," the words people think in. Failure likely.
See the result
–
–
–
No
No visible change; a small icon appears in the list only after returning. User won't be sure it worked.
Two concrete fixes fall straight out: rename to "Download for offline" (Q3), and show "Downloaded · available offline" with an icon on the article itself (Q4). Notice that the heuristics would have flagged these too (2 and 1), but the walkthrough tied them to a specific step and a specific user, which makes fixing them obvious.
Running an expert review on your own product
Define the user and tasks. Write who (new, returning, power user) and the 3 to 5 most important tasks. Without a defined user, every judgment becomes your own taste.
Walk each task as that user. Use a fresh install, a clean account, the smallest supported device. Ask the four questions at each step; write a "failure story" for every no.
Sweep the heuristics. One pass per heuristic across all screens in the tasks. Use the checklist below.
Rate severity. Same 0 to 4 scale as for tests.
Wait a day, then review your findings. Cut anything you can't defend with a specific user moment.
Turn the top issues into test tasks for your next usability round, to confirm they're real.
Checklist: heuristic review of one flow
Status and feedback
Language and model
Control and errors
Consistency and memory
Efficiency, focus and help
For the solo creator
You can't un-know your product, but you can change your conditions. Do reviews on a fresh install, logged out, on your oldest phone, at the end of the day when you're tired. Tired-you is a surprisingly good stand-in for a distracted new user. And swap reviews with another indie maker: you review theirs, they review yours. A second evaluator roughly doubles what you find.
Do
Name the user and tasks before reviewing.
Write a short failure story for every "no."
Review on a clean account and a small device.
Trade reviews with a peer.
Don't
Review as yourself, the expert user.
Skip the "will they see progress?" question; it's the one makers forget most.
Treat review findings as confirmed until users show them.
Review the whole app in one sitting.
In the wild
"The Cognitive Walkthrough Method: A Practitioner's Guide"Wharton, Rieman, Lewis & Polson, 1994
The original guide treats the walkthrough as a way to evaluate ease of learning by exploration, especially for walk-up-and-use systems. It shines for first-run flows and anything people use rarely.
"The Streamlined Cognitive Walkthrough"Rick Spencer, Microsoft, CHI 2000
Spencer reported that the full method was too slow and defensive for a product team, and cut it down to two questions with ground rules (no designing during the walkthrough, no defending). A lighter method you actually run beats a perfect one you don't.
Common mistakes
Redesigning during the walkthrough
You see a problem and start solving it immediately, losing the rest of the flow.
Spencer's rule: no design discussion during the walkthrough. Note it; solve it later.
Answering "yes" as yourself
Of course you'd see the control; you placed it.
Write the user profile at the top of the page and argue from it. When in doubt, mark "maybe" and test it.
Check yourself
In a walkthrough of your budgeting app, a user taps "Add" and an expense is saved, but the screen returns to the same empty-looking dashboard because the new item is below the fold. Which question fails?
The action worked, but nothing visible says so. Users will likely add it again, creating duplicates. A confirmation ("₹450 lunch added") and scrolling to or highlighting the new item fix Q4.
Exercise 10.1 90 minutes · on your own product
Walk through your first-run flow
Write a one-paragraph profile of a new user and the first task they need to complete to get value.
On a fresh install, list every step of that task.
Answer the four questions at each step, with a failure story for each "no" or "maybe."
Then run the heuristic checklist above on the same flow.
Rate everything 0 to 4 and pick three fixes.
You're done when: a step table with four answers per step, a completed checklist and three rated, prioritized fixes.
Beginner
Competent
Strong
Steps listed; mostly "yes" answers.
Honest "no/maybe" answers with stories; checklist done; fixes rated.
Also swapped with a peer reviewer and compared what each of you found.
11
Self-critique and fresh eyes
Taught by Adam Connor & Aaron Irizarry, with Dieter Rams, Oliver Reichenstein
Useful critique starts from an objective ("this screen exists so that…") and asks whether each element serves it; to see your own work freshly, change the conditions you see it under, and to get useful critique from others, ask narrow questions.
Adam Connor and Aaron Irizarry's Discussing Design (2015) separates critique from feedback in general. Critique is analysis against objectives: "Given that the goal is X, this element does or does not help, because Y." Reaction ("I don't like the blue") is not critique; neither is a direct fix ("make the button bigger"), because it skips the why. As a solo creator you must critique yourself, which means writing the objective first, otherwise you will judge by mood.
The objective-first critique
Every element must earn its place against the objective. "Question" means it serves a different goal: either that goal belongs on another screen, or the objective is incomplete. Writing it down forces the decision.
Write it as a sentence with a person, a situation and an outcome. Then, for each element on the screen, ask the three critique questions: What is this for?Does it serve the objective?Is it the best way to serve it? The answers are keep, change, move, or cut. Pair this with the visual hierarchy test: is the most important element for the objective also the most visually prominent?
Fresh-eyes tricks
Your brain stops seeing what it sees every day. Each trick below breaks familiarity in a different way, so you notice what a stranger would. Artists have used some of these for centuries: painters check a canvas in a mirror because flipping it reveals lopsided composition the eye had adapted to.
Lab: see your screen like a stranger
Today⚙︎
Thursday · 3 tasks
Call the bank about the card9:30
Send draft to Priyanoon
Pay electricity billoverdue
Upgrade to Pro ✦Add task
Turn on one lens at a time. What survives?
Squint: does "Add task" still read as the main action, or does the overdue label win? Grayscale: does "overdue" still stand out without red? (It doesn't, which matters for color-blind users.) Flip: does the layout still feel balanced? Tiny: what can you still identify at a glance?
Trick
How
What it reveals
Time away
Don't look at the design for 2 days (a week for big flows).
Everything familiarity hid. The single most effective trick.
Squint / blur
Squint, or blur a screenshot.
Visual hierarchy: what pops first, whether grouping holds.
Flip
Mirror the screenshot horizontally.
Balance and alignment problems the eye had adapted to.
Oldest phone, smallest window, a TV, a friend's laptop.
Density, tap targets, truncation, performance.
Read aloud
Read every word on the screen out loud, in order.
Jargon, redundancy, tone, missing words (see Words).
Print it
Print screens on paper and pin them to a wall in sequence.
Flow and consistency across screens.
Real content
Replace sample data with the messiest real data you can find.
Truncation, long names, empty and huge states.
Red-team your own design
For one hour, become the design's enemy. Write down every way it could fail: the user who skims, the user on a train with one hand, the user who pastes 40,000 words, the user who misunderstands the label, the user who never comes back after day one, the user who wants to leave and take their data. A good habit is a pre-mortem (Gary Klein's technique): imagine it's six months later and the feature failed; write the story of why. Then fix or test the most plausible story.
Getting useful critique online
Posting a screenshot with "Thoughts?" gets you taste reactions from people who don't know your user or goal. Asking a narrow question with context gets you critique.
Don't
@you: New design for my app! Thoughts?
↳ love the colors
↳ make the logo bigger
↳ have you tried Inter?
Vague in, vague out. No objective, no user, no question, so you get preferences and fonts.
Do
@you: Reading app, for people who save long articles. Goal of this screen: resume reading in one tap. Without reading my text, where would you tap first to continue yesterday's article?
↳ "the big title, but I wasn't sure it wasn't a new recommendation"
Context, objective, one question. You get a first-click test and a real insight (resume vs recommendation looks the same).
Good critique questions are answerable and observable: "What do you think this screen is for?", "Where would you tap to…?", "What's the first thing you notice?", "What would you expect to happen if you tapped X?", "Which of these two labels is clearer for this task, and why?" When you receive critique, thank, ask follow-ups, and decide later. Do not defend in the thread.
Checklist: self design review before shipping a screen
For the solo creator
Build "time away" into your process instead of hoping for it: design a screen on Monday, build something else on Tuesday, review on Wednesday. Keep a "critique buddy" relationship with one or two other indie makers, and use the same structured question format both ways.
Do
Write the objective before judging.
Change the viewing conditions to break familiarity.
Ask others narrow, observable questions.
Run a pre-mortem on anything risky.
Don't
Critique by mood ("it feels off").
Post "thoughts?" and act on the loudest reply.
Defend your design in a critique thread.
Confuse critique with testing: critique finds candidates, testing confirms them.
In the wild
iA WriterInformation Architects
Oliver Reichenstein's essays on the app's design repeatedly frame decisions against one objective (help people focus on writing) and explain what was removed for it. Writing your reasoning publicly is a form of self-critique: weak arguments look weak in prose.
Catmull describes a group that gives candid notes on films in progress, with the rule that the director decides what to do with them. Separate receiving critique from deciding; it keeps critique honest and you in charge.
Common mistakes
Reviewing straight after building
You want to ship today.
Even one night away helps. Use the gap to build something else.
Collecting opinions instead of critique
"Thoughts?" is easy to post.
Give context, the objective and one specific question every time.
Treating your critique as user evidence
A thorough self-review feels conclusive.
Label findings "suspected" until you see them in a test or in usage data.
Check yourself
You've stared at your new pricing page for three days and can't tell if the hierarchy works. Fastest useful step?
Blurring checks hierarchy in seconds; a five-second test checks whether the main message survives a glance. Both break your familiarity. (a) gets taste reactions; (b) and (d) keep you inside your own head.
Connect the ideas · Part four recap
Your heuristic review, walkthrough and self-critique produced 23 findings. What do you do with them, using Parts two and four together?
Inspection methods find candidates; testing confirms which are real. Severity (Chapter 6) sets priority; quick wins can ship; uncertain ones become tasks (Chapter 4). A/B testing (d) is rarely feasible at small scale, as Chapter 14 shows.
Exercise 11.1 60 minutes, over two days · on your own product
Objective-first critique of your home screen
Day 1: write your home screen's objective as one sentence. Label every element keep, change, move or cut.
Take a screenshot. Blur it, flip it, grayscale it. Note what each reveals.
Write a one-paragraph pre-mortem: "Six months from now, new users ignore the home screen because…"
Day 2: review your notes after a night away. Post one narrow question in a community or to a peer.
Make one change and add the others to your next test plan.
You're done when: an objective, a labeled element list, three fresh-eyes notes, a pre-mortem, one outside answer and one shipped change.
Beginner
Competent
Strong
Objective vague; labels by taste.
Clear objective; each label justified; fresh-eyes notes specific.
Also a pre-mortem that surfaced something new, tested with a narrow outside question.
Part five
Reading the numbers
Observation tells you why; numbers tell you how much and how many. Three chapters on the few metrics a small product needs, on measuring them without spying on people, and on experiments: when they work, and why most solo products should mostly do something else.
12
Product metrics a designer should read
Taught by Alistair Croll & Benjamin Yoskovitz, with Eric Ries, Andrew Chen
Three questions cover most of what a small product needs to know: do new people reach the moment of value (activation), do they come back (retention), and how much do they use it (engagement); everything else is either a detail of these or a vanity number.
A design change is a hypothesis about behavior. Metrics are how you see behavior at a scale no usability test can reach. But a dashboard with 40 charts is as useless as none, because you will stare at whatever moved and invent a story. Pick a small set, define them precisely, and look at them on a schedule.
Activation
The share of new users who reach the first moment of real value, defined as a specific action: "created a note and opened it again later," "imported a book and read 5 pages." Not sign-up. See Problems Worth Solving for designing that moment.
Retention
The share of a group of users (a cohort, usually by sign-up week) still active N days or weeks later. The single best sign that the product is valuable.
Engagement
How much retained users use the product: sessions per week, notes created, minutes read. Useful only alongside retention, and only when "more" is actually better for the user.
Conversion
The share of people who take a specific step: visitor to sign-up, trial to paid.
Churn
The share of users or subscribers who leave in a period; the mirror image of retention.
Funnels: where people leave
A funnel lines up the steps toward an outcome and shows how many people make it through each. Its job is to point you at the step with the worst drop, so that your next usability test focuses there.
Find the cliff. Two in three people who sign up never write a note. That's where design attention goes, not the sign-up page (60% is fine) or day 7 (60% of activated users return).
Cohort retention curves: the truest chart
Group users by when they started, and plot what share is still active over time. Every product's curve falls; the question is whether it flattens. A curve that flattens means a core of people found lasting value: you have something. A curve that keeps sliding toward zero means people try it and leave, and no amount of acquisition will fix that. When newer cohorts' curves sit above older ones, your changes are working.
Look for the flat part, then for lift. The flattening line is product–market fit made visible; a newer cohort sitting higher is the evidence that your design changes are helping. Illustrative curves, not real data.
Vanity metrics
Eric Ries, in The Lean Startup (2011), called numbers that make you feel good but don't inform decisions "vanity metrics," contrasting them with "actionable" ones. Total sign-ups, total downloads and page views only go up; they can't tell you whether anything you did worked. The test: if this number changed, would I do something differently? If not, stop looking at it.
Don't
Always up and to the right. Cumulative totals rise even while the product is failing. They can't evaluate a change.
Do
A rate, over time, with your change marked. It can go down, so it can tell you something.
For the solo creator
Track three numbers, weekly, in a plain note: activation rate for last week's sign-ups, week-4 retention for the cohort from a month ago, and your North Star (next chapter). Write one sentence each week on what changed and what you shipped. Small numbers are noisy: at 50 sign-ups a week, activation can swing by 10 points by chance alone. Look at trends over a month, not a single week.
Do
Define activation as a specific action that signals value.
Read retention by cohort and look for flattening.
Use funnels to choose what to usability-test next.
Annotate charts with what you shipped and when.
Don't
Celebrate cumulative totals.
Equate sign-up with activation.
React to one week's wobble in small numbers.
Push engagement up with tricks when "more" isn't better for users (see Honest & Calm).
In the wild
Facebook's early activation ruleoften-cited growth story
Facebook's growth team is widely reported to have focused on getting new users to a certain number of friends within their first days, because users who did tended to stay. An activation metric names the behavior that predicts retention. Find yours by comparing who stayed with who left.
"Lean Analytics"Croll & Yoskovitz, 2013
Introduces the "One Metric That Matters" for each stage of a business. Focus beats breadth: one number at a time is something you can actually move.
Common mistakes
Activation defined as sign-up
It's the easiest event to track.
Find the first action that predicts people coming back, and use that.
Averaging retention across everyone
A single "active users" chart is easy.
Cohorts by sign-up week; otherwise growth hides churn.
Story-telling from noise
Every wiggle seems to mean something.
Decide in advance which change you expect and how big; look at monthly trends.
Check yourself
Monthly active users rose 30% after your launch on a big forum. Week-4 retention for that cohort is 4%, versus 18% for earlier cohorts. What do you conclude?
MAU mixes new and retained users, so a spike of visitors inflates it. The cohort shows those users left. Either they weren't your audience, or the first-run experience didn't serve them. That's a great usability-test question for next month.
Exercise 12.1 60 minutes · on your own product
Define your three numbers
Write your activation event: a specific action that signals value. If you have data, check whether people who did it retained better.
Draw your main funnel (4 to 5 steps) with real or estimated numbers. Mark the worst step.
If you have three months of data, plot retention for three cohorts. Does it flatten?
List the metrics you currently look at. Cross out every one that fails the "would I act differently?" test.
You're done when: a written activation definition, a funnel sketch with its worst step marked, and a pruned metrics list.
Beginner
Competent
Strong
Activation equals sign-up; funnel guessed.
Behavioral activation event; real funnel; vanity metrics cut.
Also checked activation against retention and chose next month's test from the funnel.
13
HEART, a North Star and honest instrumentation
Taught by Kerry Rodden, Hilary Hutchinson & Xin Fu, with Sean Ellis, Teresa Torres
Start from the user-experience goal, choose a signal that shows it, and only then a metric (Google's HEART goals–signals–metrics method); summarize the value you create in one North Star number; and measure with the minimum data, named clearly, collected respectfully.
In a 2010 CHI paper, "Measuring the User Experience on a Large Scale," Kerry Rodden, Hilary Hutchinson and Xin Fu at Google described the HEART framework: five categories of user-centered metrics, Happiness, Engagement, Adoption, Retention and Task success, plus a process, Goals → Signals → Metrics, for choosing them. The process matters more than the acronym: it stops you from measuring what's easy instead of what matters.
Goals → Signals → Metrics. The original paper says you don't need all five categories for every project. A solo app might use only two or three rows. Task success often comes from usability tests, not analytics.
A North Star for a small app
A North Star metric is a single number that captures the core value users get, and that tends to lead to revenue and retention. It should count value delivered, not activity or revenue. For a reading app, "articles read to the end per week"; for a habit tracker, "users who checked in on 4+ days this week"; for a writing app, "documents edited on 3+ days in a week." A good one rises only when users are actually better off.
Don't
Time in app
Rewards slowness and distraction. A confusing app scores higher.
Activity, not value.
Don't
Monthly revenue
An outcome of value, but lags, and can be raised by dark patterns.
Business, not user.
Do
Weekly readers who finish 2+ articles
Rises only when people get the value the app promises.
Value, counted.
Naming events
Your events are a vocabulary you'll live with for years. A common convention is object + past-tense action: note_created, article_finished, export_completed. Keep a short tracking plan: event name, when it fires, properties, why you need it. If you can't write the "why," don't track it.
Avoid
Prefer
Why
click_button_3
export_started
Describes the user's intent, survives redesigns.
NoteCreate, created-note, note_new
note_created everywhere
One pattern, so queries don't miss half the data.
article_read fired on open
article_opened and article_finished
Name says exactly when it fires.
Properties with note text or email
Properties like word_count_bucket, platform
Never send content or identity you don't need.
Privacy-respecting analytics
You can learn what you need without tracking individuals across the web. Measure aggregates, avoid personal data, keep it on infrastructure you trust, and tell people plainly what you collect. Some tools built with this in mind:
Plausibleweb analytics, open source, EU-based
Lightweight, cookieless page and goal analytics with a simple dashboard. Enough for landing pages and funnels without a consent banner circus (check your own legal situation).
TelemetryDeckapp analytics, privacy-focused
Built for app developers (popular among indie Apple-platform developers), with anonymized user identifiers and signal-based events. Product usage counts for native apps without collecting personal data.
PostHogopen-source product analytics
Funnels, retention, feature flags and session replay, available as a cloud service or self-hosted. Self-hosting keeps data on your infrastructure; you're responsible for configuring it to collect only what you need (mask inputs in replays).
Related principles live in Honest & Calm. The short version: collect the minimum, aggregate early, never record what people type, and write a privacy note you'd be happy for users to read.
Quantitative and qualitative together
Neither half works alone. Numbers without observation produce guesses about why; observation without numbers can't tell you how big or whether the fix worked.
For the solo creator
Instrument at most 10 to 15 events at first: sign-up, activation event, the core value action, a few steps of your main funnel, and errors. Write the tracking plan in your repo next to the code. Every time you look at a chart, write down the question you asked; if you can't name one, close the dashboard.
Do
Go Goals → Signals → Metrics.
Pick a North Star that counts user value.
Use object_action event names and a written tracking plan.
Collect the minimum, without personal content.
Don't
Track everything "just in case."
Choose time-in-app as a goal for a calm product.
Record keystrokes or unmasked session replays.
Look at numbers without a question.
Common mistakes
Metric first, goal later
Tools offer default dashboards.
Write the goal in words first, then find the signal, then the metric.
Event soup
Events are added ad hoc with inconsistent names.
A tracking plan file reviewed whenever you add an event.
A North Star that can be gamed
"Notes created" rises if you split one note into five.
Ask: could I raise this without users being better off? If yes, pick another.
Check yourself
Which is the best North Star for a calm meditation timer app?
(c) counts the value promised (a regular practice) and resists gaming. (a) can be inflated by sessions left running. (b) rewards nagging. (d) is a vanity metric.
Exercise 13.1 60 minutes · on your own product
A HEART sheet and a tracking plan
Fill a HEART grid for your product using two or three categories only: goal, signal, metric.
Write your North Star and test it against "could I raise this without users being better off?"
Write a tracking plan with at most 12 events: name, when it fires, properties, why.
Audit current tracking for personal data you don't need, and remove it.
You're done when: a 2–3 row HEART grid, a North Star sentence and a tracking plan file in your repo.
Beginner
Competent
Strong
Metrics listed without goals.
Goals → signals → metrics; North Star counts value; clean plan.
Also a privacy audit and a short public note on what you collect.
14
Experiments, and what to do without traffic
Taught by Ron Kohavi, with Evan Miller, Eric Ries
An A/B test randomly splits people between versions so the only systematic difference is your change; it's the gold standard for causation, but detecting realistic improvements takes thousands of users per variant, so small products should mostly ship bold changes, roll out in stages and compare carefully.
Ron Kohavi, who led experimentation at Microsoft and wrote Trustworthy Online Controlled Experiments (2020, with Diane Tang and Ya Xu), has reported that most ideas tested at large companies fail to improve the metrics they targeted. That is humbling and useful: intuition about which change will help is unreliable even for experts. A/B tests protect against that. The catch is statistical power. Randomness means two identical groups will show different conversion rates by chance; to tell a real 10% improvement from noise, you need enough people that the noise is small.
Sample size intuition
A handy approximation (Lehr's rule, for 80% power at the usual 5% significance) is: users per variant ≈ 16 × p(1 − p) ÷ d², where p is the baseline rate and d the absolute difference you want to detect. Small baselines and small effects explode the number. Play with it.
Lab: how many users does an A/B test need?
–users per variant
–users in total
–at your traffic
Start with 30% activation, a 10% relative lift (30% → 33%) and 75 new users a week: that's about 300 a month. Then try detecting a 50% lift. Big, bold changes are measurable at small scale; tweaks are not. This is an approximation for intuition, not a calculator for a real test.
The square law. Because d is squared, small effects are brutally expensive. At a few hundred users a month, only large differences are detectable.
Rules if you do run one
Decide the sample size and the metric before you start, and don't stop early when it "looks significant." Evan Miller's essay "How Not To Run an A/B Test" (2010) shows how repeatedly peeking and stopping at the first significant result produces false winners far more often than the nominal 5%.
Run full weeks, because weekday and weekend users behave differently.
Check that the split is actually even; a lopsided split means a bug.
Watch a guardrail metric (retention, complaints, refunds) so a "win" on clicks doesn't hide harm.
Alternatives for small products
Method
How
Strength
Weakness
Bold change + qualitative check
Make a big, confident change; watch 3 to 5 people use it; watch the trend.
Big effects are visible even in small numbers.
Can't detect small effects.
Staged rollout
Feature flag to 10% → 50% → 100%, watching errors, support and retention.
Limits damage; catches breakage.
Not a clean comparison unless randomized.
Before/after (careful)
Compare cohorts before and after a change; note seasonality, launches, outages.
Free; works at any scale.
Confounded by everything else that changed. Only trust large, sustained shifts.
Fake door (painted door)
Show an entry point to a feature that doesn't exist yet; measure taps; explain honestly.
Measures real demand before building.
Ethically risky if it wastes people's time or deceives them.
Usability test of both versions
Same tasks, alternating which version people see first.
Shows why one works better.
Says nothing about conversion at scale.
Fake doors, honestly
Don't
Deceptive. Someone tried to pay you and got a fake error. They'll try again, distrust you, and you've measured frustration as much as demand.
Do
Honest and cheap for the user. One tap, a clear explanation, an optional way to hear more. Never fake a payment.
For the solo creator
Your edge isn't statistics; it's closeness. You can talk to a tenth of your users personally, ship a change on Tuesday and email ten people about it on Wednesday. Make bold changes, roll them out behind a flag, watch five people use them, and read the cohort trend over a month. Save true A/B tests for high-traffic surfaces like your landing page, and only for big differences.
Do
Estimate sample size before planning any A/B test.
Test bold differences when traffic is low.
Use feature flags and staged rollouts.
Keep fake doors honest and rare.
Don't
Peek and stop when the result looks good.
A/B test button colors at 300 users a month.
Trust before/after comparisons across a launch or holiday.
Fake payments or errors to measure demand.
In the wild
Booking.com and Microsoft Binglarge-scale experimentation cultures
Both are known for running very large numbers of controlled experiments, with infrastructure to do so safely. That culture depends on enormous traffic. Copy the humility, not the method.
A free, widely used calculator alongside clear essays on the pitfalls of testing. Check the numbers before you design the test, not after.
Common mistakes
Underpowered tests read as "no difference"
The test ends with no significant result and you conclude the change didn't matter.
With too few users, "no significant difference" means "we couldn't tell." Say that.
Testing tiny things
Small changes feel safe.
At low traffic, test meaningfully different approaches, or don't A/B test at all.
Novelty mistaken for improvement
Anything new gets clicks for a few days.
Run for full weeks and check whether the effect holds for returning users.
Check yourself
Your landing page gets 2,000 visitors a week and converts 4% to sign-up. You have two headline ideas. What's realistic?
At 4% baseline, detecting a 50% relative lift needs roughly 1,500 visitors per variant, about 1.5 weeks; detecting 5% needs well over 100,000 per variant. Three days (a) is too short and too few. Quick qualitative tests help you test only strong candidates.
Connect the ideas · Part five recap
Your funnel (Chapter 12) shows a cliff between sign-up and first note. You have 300 sign-ups a month. Best plan?
Numbers found the where; observation finds the why; a bold change is detectable at small scale; cohorts confirm it over time. Wording A/B tests (a) won't reach significance at 300 a month. More events (c) won't explain why.
Exercise 14.1 30 minutes · on your own product
Is an A/B test even possible?
Pick the change you most want to evaluate. Write its baseline rate and the smallest improvement you'd care about.
Use the lab to estimate users needed and time at your traffic.
If it takes more than four weeks, design an alternative: bold version, staged rollout, qualitative check, cohort comparison.
Write your guardrail metric.
You're done when: a one-paragraph evaluation plan with a sample-size estimate, method choice and guardrail.
Beginner
Competent
Strong
Plans an A/B test without checking numbers.
Sample size checked; an appropriate method chosen.
Also pre-registers expectations in the iteration log (Chapter 17).
Part six
Listening and looping
The final three chapters close the loop: the channels where users tell you things without being asked, your own daily use as a research instrument, and the iteration habit that turns all of this evidence into a product that steadily gets better, sometimes by getting smaller.
15
Feedback channels: what users tell you unprompted
Taught by Teresa Torres, with Bob Moesta, Rob Fitzpatrick, Fred Reichheld
Support emails, reviews, in-app feedback and churn are a free, continuous research stream; treat them as data to tag and count, not as a to-do list, and dig beneath each request for the problem behind it.
Every message a user sends cost them effort, so it signals something real. But feature requests are proposed solutions from people who don't know your constraints or your other users. "Add folders" might mean "I can't find things," which search could fix better. The job is to collect, tag, count and then ask about the underlying problem.
Tag the problem, not the request. Three different feature requests turn out to be one problem with 23 mentions, which is now clearly your top theme.
The channels
In-app feedback. A quiet "Send feedback" item in the menu or settings that opens a plain text box (with an optional screenshot and app version attached automatically). Don't interrupt people with pop-ups; let them come to you. Reply to every message personally; a reply from the maker turns a complainer into a collaborator.
Support tickets as research. Every "how do I…?" is a usability finding: someone failed a task in real life. Tag each ticket with the problem and the screen. Once a month, count. If ten people asked how to export, export is a discoverability problem, not ten support problems. A good test: could the product have answered this question itself?
App reviews. Read them weekly, especially one- and two-star reviews with specifics. Both Apple's App Store and Google Play let developers reply publicly. On iOS, the system review prompt (SKStoreReviewController) is limited to three displays per user in a 365-day period, so ask after a moment of success, never after an error. Remember the sample is skewed toward people who feel strongly.
Net Promoter Score. Fred Reichheld introduced it in a 2003 Harvard Business Review article: "How likely are you to recommend us to a friend?" on 0–10; promoters (9–10) minus detractors (0–6). Critics, including many UX researchers, point out that it asks for a prediction rather than behavior, throws away information by bucketing, varies by culture, and is very noisy at small sample sizes. If you use it, the follow-up "What's the main reason for your score?" is the useful part. A specific question about a recent experience usually teaches more.
Churn and cancellation. When someone cancels, ask one optional question with a few common reasons and a free-text box, then let them go immediately (no guilt trips; see Honest & Calm). Email a few recent churners personally and offer a short call. Bob Moesta's "switch interview" approach asks about the timeline: what was happening when they first thought about leaving, what they tried, what they switched to.
Interviewing existing users
Talk to users regularly, not only when something breaks. Teresa Torres recommends weekly touchpoints with customers. The core rule is from Chapter 1: ask about specific past behavior. "Tell me about the last time you saved an article. Where were you? What happened next?" Story-based questions reveal context, workarounds and the real job. For interview technique in depth, see Problems Worth Solving.
Don't
Ambush. Mid-sentence, the app wants a rating. It interrupts the very value it's asking about.
Do
Always there, never pushy. A named human, a plain box, technical details attached automatically.
For the solo creator
You are the support team, which is a superpower: every ticket lands on the designer's desk. Keep one "voice of user" log (a spreadsheet is fine): date, channel, quote, problem tag, screen. Spend 30 minutes on the first Monday of each month counting tags. Let the top theme pick next month's usability test.
Do
Log every piece of feedback with a problem tag.
Reply personally, quickly.
Ask about the problem behind each request.
Make cancellation easy and ask one optional question.
Don't
Build the most-requested feature literally.
Interrupt work with rating pop-ups.
Treat NPS as a goal in itself.
Guilt-trip people who leave.
In the wild
Indie apps with a named makercommon pattern among small developers
Many one-person apps sign their support replies and feedback screens with the developer's own name. Users write differently to a person than to a "team": more context, more patience.
Superhuman's segmentationRahul Vohra, 2018
After the "very disappointed" survey, the team focused on what the users who'd be most disappointed loved, and on what held back people who were close to that. Not all feedback is equal; weigh it by who it comes from.
Common mistakes
The loudest-user roadmap
One persistent user emails every week.
Count across users. One person's ten emails count once.
Reading reviews only after launches
They feel painful.
A weekly 10-minute review habit, logged with tags. Small doses.
Survey fatigue
Surveys are easy to send.
At most one short survey per quarter; prefer one well-placed question after a real moment.
Check yourself
Twelve users this month asked for "a dark mode." What should you do first?
The request is probably real, but the underlying need shapes the solution: following the system theme, a warm low-contrast night theme for readers, or reduced brightness. Two quick conversations make the build much better.
Exercise 15.1 60 minutes · on your own product
Start your voice-of-user log
Create the log: date, channel, quote, problem tag, screen.
Back-fill it with the last 30 support emails, reviews and messages you can find.
Tag each by problem, not by request. Merge requests that share a problem.
Count. Write the top three problems and one question to ask users about the first.
Add a quiet "Send feedback" entry point if you don't have one.
You're done when: a log with 30 tagged entries, a ranked list of three problems, and a working feedback entry point.
Beginner
Competent
Strong
Requests listed as-is.
Tagged by problem; themes counted.
Also contacted two users about the top theme and wrote what the real need was.
16
Dogfooding, a diary of your own use, and a bug bash for one
Taught by 37signals, with Linear and the indie-maker tradition
Using your own product daily for real work finds problems no test will (the ones that only appear on day 40, with messy data, when you're tired); but you are a biased power user, so log your use deliberately, and complement it with tests of people who aren't you.
"Eating your own dog food" became a common phrase in software after it circulated inside Microsoft in the late 1980s. Many of the best-loved tools are made by people who use them all day: Basecamp's team runs its company on Basecamp; Linear has said it builds Linear in Linear. Daily use reveals slowness, paper cuts, and what happens after months of accumulated data, which no 45-minute session can.
But dogfooding has a blind spot shaped exactly like the curse of knowledge. You never experience first-run again; you know every shortcut; you forgive what you planned to fix. So turn it into a method: a diary, scheduled "beginner days," and a structured bug bash.
Complementary, not competing. Dogfooding is strong where tests are weak (time, depth, volume) and blind where tests are strong (fresh eyes). You need both.
A diary of your own use
Keep a running note while you use your product for real work. Every time something annoys, slows or surprises you, write one line immediately: date, what you were trying to do, what happened, how it felt. Don't fix it on the spot (that breaks your work and biases you toward easy fixes). Review the diary weekly and move recurring items into your issue tracker.
Date
Trying to
What happened
Felt
Mon
Find last week's meeting note
Search matched 40 notes, no dates shown
annoyed (3rd time)
Tue
Paste a long article
Editor froze ~2 s on 12,000 words
worried
Thu
Open app on train
Spinner, no offline content
gave up, used Notes
Beginner days
Once a month, use your product as a beginner would: delete the app and reinstall it, sign up with a new email, go through onboarding without skipping, on your oldest device, with no shortcuts allowed. Do the core task from scratch. It won't fully cure the curse, but it re-exposes you to first-run, which you otherwise never see after launch.
A bug bash for one
Timebox it. 90 minutes before each release, phone on silent.
Change roles every 15 minutes. The beginner, the power user, the impatient one (tapping fast, double-tapping), the offline one (airplane mode), the accessibility user (screen reader, largest text size; see Accessible & Inclusive), the destroyer (paste huge text, emoji, right-to-left text, rotate, background the app mid-save).
Log, don't fix. One line per issue with steps to reproduce.
Triage with severity (0 to 4) at the end. Ship-blockers are 4s and data-loss risks.
Don't
Ideal conditions. Everything works because nothing is real.
Do
Real conditions. Constraints and messy data expose truncation, slowness and missing states.
For the solo creator
If you aren't a daily user of your own product, find a way to become one, even partially, or find two people who are and talk to them weekly. If you are, the diary is the cheapest research you'll ever do: 30 seconds per entry. Keep it in the app itself if you can; capturing friction inside the friction is poetic and practical.
Do
Use your product for real work every day if you can.
Log friction immediately, fix later.
Schedule beginner days and bug bashes.
Test on old devices, offline, with big text and messy data.
Don't
Treat your own use as user research.
Fix things mid-task and lose the thread.
Test only on your development machine.
Build only for your power-user self.
In the wild
Basecamp37signals
The company runs its own projects in Basecamp and has written about how this shapes the product. Deep daily use is a quality engine for the things you do yourself.
Linearissue tracker, 2019 onward
The team has described building Linear in Linear, which helps explain its focus on speed and keyboard flow. Dogfooding pushes products toward what their makers value; make sure that's what your users value too.
Common mistakes
Power-user drift
Daily use makes you want shortcuts and density; new users want clarity.
Balance diary items against first-run test findings each month.
The unlogged annoyance
You notice friction, sigh, and forget.
One-line diary entries, every time. Count them weekly.
Check yourself
You've used your own app daily for a year and can't find anything confusing anymore. What's the best interpretation?
Familiarity hides confusion. Dogfooding still catches day-40 problems, but first-run and comprehension need fresh eyes: beginner days help a little, new users help a lot.
Exercise 16.1 One week, plus 90 minutes · on your own product
A week of diary, then a bug bash
For seven days, use your product for real work and log every friction in one line.
On day seven, run a 90-minute bug bash rotating through the six roles above.
Merge diary and bash findings, rate severity, and fix the top three.
You're done when: a diary with at least 10 entries, a bug bash log, and three fixes shipped.
Beginner
Competent
Strong
A few entries; bug bash skipped roles.
Daily entries; all six roles; severity-rated.
Also a beginner day, with findings compared to your last usability test.
17
Iteration: the loop, the log, and the courage to delete
Taught by Eric Ries, with Ryan Singer, Teresa Torres, Dieter Rams
Iteration is a disciplined loop: state what you expect, ship the smallest change that tests it, look at the evidence, and decide (keep going, change direction, or remove); writing each turn of the loop down is what turns activity into learning.
Eric Ries's Build–Measure–Learn loop, from The Lean Startup (2011), describes startups as machines for validated learning: build the minimum needed to test an assumption, measure what happens, learn whether to persevere or pivot. Ries points out that you plan the loop backwards: decide what you need to learn, then what you'd measure, then what to build.
The log is the hub. Without a written expectation, any result can be read as success. The loop's speed matters more than any single turn.
The iteration log
One row per change. Write the first three columns before you ship. This is the solo version of pre-registering an experiment: it protects you from your own hindsight.
Date
Change
Because (evidence)
I expect
I saw
Decision
3 Mar
Empty state shows 3 example notes
3 of 3 testers stared at blank page; funnel cliff at first note (33%)
First-note rate rises above 45% within 4 weeks
52%, held for 6 weeks; 2 of 3 new testers started by editing an example
Keep
14 Apr
Renamed "Sync" to "Back up"
Rainbow sheet: 3 of 5 read Sync as save-to-phone
Fewer support questions about sync
Sync tickets 14 → 5 per month
Keep
2 May
Streak counter on home
Guess: would build habit
Week-4 retention +5 points
No change; two emails said it felt like pressure
Remove
Persevere, change, or kill
Every feature gets a verdict. The dangerous state isn't failure; it's the feature that half-works forever because nobody decided.
Ryan Singer's Shape Up (Basecamp, 2019) adds a useful discipline: set an appetite (how much time this problem is worth) before you start, and use a circuit breaker: if a project doesn't ship within its cycle, it doesn't get extended automatically; it has to be re-pitched. For a solo creator, that means "two weekends for this; if it isn't working, I stop and rethink."
Deleting features
Every feature has a cost after it ships: code to maintain, settings to explain, screens that dilute the core, tests to run, support questions. In most products, usage follows a long tail: a few features carry most of the value. Rams's "less, but better" applies to features as much as to form.
The long tail. Low usage alone isn't a death sentence (a rarely used export can be essential), so check who uses each tail feature and how much it costs to keep before you cut.
Measure use and ask who. Low use by your most loyal users is different from low use by nobody.
Count the cost. Bugs, support questions, settings, code complexity, design constraints.
Announce early and honestly. Say what's going, why, when, and how to keep their data (export).
Log it and watch. Note support volume and retention for a month after.
Accessibility testing
Every loop should include an accessibility check, because what isn't tested regresses. Screen reader passes, keyboard-only navigation, largest text sizes, contrast and reduced motion each have specific test procedures, covered in depth in Accessible & Inclusive. At minimum, add one role to your bug bash and one item to your design review.
For the solo creator
Your iteration speed is your advantage over big companies: no meetings, no approvals. Your risk is the opposite: nobody asks "did that work?" The log asks for you. Review it monthly; once a quarter, read the whole thing and write one paragraph on what you learned about your users. That paragraph is the most valuable document you own.
Do
Write the expectation before you ship.
Set an appetite and a limit for each bet.
Give every feature a verdict.
Delete features that cost more than they give, honestly and completely.
Don't
Ship and move on without looking back.
Rationalize any result as success.
Keep half-working features "for now" indefinitely.
Remove features silently or without an export path.
In the wild
Instagramfrom Burbn, 2010
Kevin Systrom and Mike Krieger's first app, Burbn, was a check-in app with many features; they noticed photo sharing was what people actually used, and stripped the product down to it. Usage evidence can tell you which small part of your product is the real product.
Slackfrom the game Glitch, 2013
Slack began as the internal chat tool of a team building an online game; when the game was shut down, the tool became the company. A pivot keeps what you learned and changes what you bet on.
Shape UpRyan Singer, Basecamp, 2019
Six-week cycles with fixed time and variable scope, appetites set before work starts, and a circuit breaker on overruns. Fixed time with flexible scope forces the trade-offs iteration needs.
Common mistakes
Moving the goalposts
The result disappoints, so you find another metric that went up.
The "I expect" column is written before shipping and doesn't change.
Iterating on polish, not on value
Visual tweaks are satisfying and safe.
Ask of each loop: what did I learn about users? If nothing, it was decoration.
Never deleting
Removing feels like admitting failure, and someone might complain.
Schedule a quarterly "remove one thing" review. Every removal is a gift of focus to the rest.
Check yourself
You added a "graph view" two months ago. 3% of weekly users open it, mostly once. It generates frequent bug reports. What's the best next step?
Evidence first (who and why), then an honest decision. Sunk cost (c) is not a reason. Promotion (a) treats low use as a marketing problem without evidence. Silent deletion (d) breaks trust.
Exercise 17.1 45 minutes, then ongoing · on your own product
Start the log and find one thing to remove
Create your iteration log with the six columns above. Add the last three changes you shipped, honestly filling "because" and "I expect" (even if retroactive, mark them so).
Add the fixes from this guide's exercises as new rows, with expectations written now.
List every feature with rough usage and cost to keep. Pick one candidate for removal and write the case for and against.
You're done when: a log with at least five rows (expectations before results) and a written removal case for one feature.
Beginner
Competent
Strong
Changes listed without expectations.
Evidence and expectation for each row; a removal candidate argued.
Also an appetite set for each open bet and a removal announced or shipped.
Wrap-up
Testing isn't a phase; it's how you stay honest with yourself. The whole guide reduces to a monthly rhythm: watch three people, read your three numbers, count your feedback tags, review your diary, update your log, and make the few changes the evidence supports. An hour a week, sustained, will make your product better than most built by teams.
Small, repeating, written down. Each week feeds the next; the log and the voice-of-user sheet hold it together.
Ten things to remember
You can't un-know your product. Testing is how you borrow eyes that don't.
Behavior beats opinion; past behavior beats predicted behavior.
Three to five people per round find the common problems; many small rounds beat one big one.
Tasks are scenarios with goals, never instructions with labels.
In the session, be quiet: answer questions with questions, and save explanations for the debrief.
Rate severity by frequency, impact and persistence; fix the top few with the smallest change that works.
Heuristics, walkthroughs and self-critique find candidates; users confirm them.
Activation, cohort retention and one North Star that counts real value are enough numbers for a small product.
At small scale, A/B tests can only see big differences; make bold changes, roll out carefully, and watch trends.
Write what you expect before you ship, give every feature a verdict, and delete without guilt.
Self-assessment: I can…
Practice assignment for the next two weeks
Days 1–2. Exercises 1.1 and 2.1: map your curse of knowledge, write predictions, put six test dates in your calendar. Start the dogfooding diary (16.1) today and keep it going throughout.
Days 3–4. Exercises 3.1 and 4.1: screener, test list, three booked sessions, five de-leaked tasks, piloted.
Day 5. Exercise 10.1: walkthrough and heuristic checklist on your first-run flow. Fix any obvious severity-4 issues before testing.
Day 6 (test morning). Exercise 6.1: three sessions, rainbow sheet, severity, three evidence-backed issues. Compare with your predictions.
Days 7–9. Exercises 12.1 and 13.1: activation definition, funnel, HEART rows, North Star, tracking plan. Exercise 15.1: voice-of-user log with 30 entries.
Days 10–12. Ship the top fixes. Exercise 17.1: start the iteration log with expectations written before shipping. Exercise 14.1 for any change you hoped to A/B test.
Days 13–14. Exercise 11.1 on your home screen, then a bug bash (16.1). Write a one-page "What I learned about my users" note, and book next month's three participants.
Reading list
Rocket Surgery Made Easy
Steve Krug, 2010 · The do-it-yourself usability testing method this guide adapts, with scripts and a demo session. Short and practical. Read it first.
Don't Make Me Think, Revisited
Steve Krug, 3rd ed. 2014 · How people really use screens (scanning, satisficing, muddling through) and why testing reveals it.
Just Enough Research
Erika Hall, 2013; 2nd ed. 2019 · Research for people without research departments: what to do, how much, and how to avoid fooling yourself.
The Mom Test
Rob Fitzpatrick, 2013 · How to talk to users so they can't lie to you: past behavior, specifics, no pitching.
Continuous Discovery Habits
Teresa Torres, 2021 · Turning customer contact into a weekly habit, with opportunity trees to connect findings to decisions.
"10 Usability Heuristics for User Interface Design" and "Why You Only Need to Test with 5 Users"
Jakob Nielsen, Nielsen Norman Group (nngroup.com) · The primary sources for Chapters 2 and 9. Free, short, and worth reading in the original.
Usability Engineering
Jakob Nielsen, 1993 · The classic textbook on discount usability; dated in examples, timeless in method.
Paper Prototyping
Carolyn Snyder, 2003 · Everything about testing before code, including how to play the computer.
Discussing Design
Adam Connor & Aaron Irizarry, 2015 · How to give, get and use critique, framed around objectives.
"Measuring the User Experience on a Large Scale"
Rodden, Hutchinson & Fu, CHI 2010 · The HEART paper. Short; read the goals–signals–metrics section twice.
Lean Analytics
Alistair Croll & Benjamin Yoskovitz, 2013 · Which numbers matter at which stage, and the One Metric That Matters.
Trustworthy Online Controlled Experiments
Ron Kohavi, Diane Tang & Ya Xu, 2020 · The definitive A/B testing book. Read the pitfalls chapters even if you never run a test.
"How Not To Run an A/B Test"
Evan Miller, 2010 · A short essay on peeking and stopping early. Ten minutes that will save you from false wins.
The Lean Startup
Eric Ries, 2011 · Build–Measure–Learn, vanity versus actionable metrics, persevere or pivot.
Shape Up
Ryan Singer, Basecamp, 2019 (free online) · Appetites, fixed time and variable scope, circuit breakers: a calm way for a small team (or one person) to iterate.