Design is how it works. Foundations for a one-person product studio.

This guide gives you the ground the rest of the course stands on: what product design actually is, the models that explain why people succeed or fail with software, the principles the masters keep returning to, and a process small enough for one person to run every week. You will finish with a shared vocabulary, a way of looking at any screen, and a first audit of your own product.

Reading timeAbout 4 hours, in 5 sittings
Practice time2 weeks, 30 to 60 minutes a day
Before thisNothing. Start here.
TeachersNorman, Rams, Garrett, Nielsen, Shneiderman, Tognazzini, Cooper, Raskin, Victor, Buxton

By the end you will be able to

  • Explain what product design is and how it differs from UI, UX, graphic and interaction design, product management and engineering (understand)
  • Describe any product in terms of Garrett's five planes and say which plane a problem really lives on (analyse)
  • Use Norman's vocabulary (signifier, mapping, constraint, feedback, conceptual model, gulf, slip, mistake) to diagnose why a screen fails (analyse)
  • Translate each of Rams' ten principles into a concrete software decision (apply)
  • Pick the right framework (Nielsen, Shneiderman, Tognazzini, Cooper, Raskin, Victor) for the question in front of you (evaluate)
  • Run a one-person design process, choosing the lowest fidelity that answers your current question (create)
  • Look at software like a designer, keep a swipe file, give yourself useful critique, and train your taste on purpose (create)

Warm-up: how to use this course

You will learn more from ten minutes of practice on your own product than from an hour of reading, so this course is built around doing, with reading as the scaffolding.

The course has 21 guides. This one is the foundation. Guides 2 to 16 each go deep on one area: the mind, problems, interaction, visual design, typography, reading and writing, motion, words, accessibility, data, systems, AI, launch, testing, and ethics. Guide 17 turns it all into a working practice. Guides 18 to 20 are breakdowns of real objects and products, and guide 21 is the reference shelf. You can see the whole map on the course hub.

Every chapter follows the same shape, so you always know where you are. A one-sentence core idea. An explanation of the mechanism, the why. Pictures: diagrams and drawn do/don't pairs. Real products that get it right or wrong. Common mistakes, with their causes. A scenario question to check you can apply it. An exercise, usually on your own product, with a rubric so you can grade yourself honestly.

The weekly study loop Readone chapter Recallclose it, write it Applyon your product Reflectwhat changed? Repeat a week later with spaced recall: the recap quizzes at the end of each part
Reading is the smallest part of the loop. Retrieval (writing what you remember with the page closed) and application (changing your own product) are what make the ideas stick.

Four habits that make this work

  1. Read with a product open. Keep your own app, or one you use daily, running beside the guide. Every principle should land on a real screen within minutes.
  2. Close the page and write. At the end of a chapter, write the core idea and two examples from memory. Retrieval practice is one of the most reliable findings in learning research: testing yourself beats rereading.
  3. Do one weekly redesign. Pick one screen of your product every week. Redesign it using whatever you learned that week. Keep the before and after side by side in a folder. In six months that folder is your proof of progress.
  4. Space it out. Each part ends with a short recap that pulls ideas from earlier chapters and other guides. Do those a few days after reading, not straight away. Slight forgetting followed by effortful recall is what builds durable memory (see The Human Mind for why).
For the solo creator

You have an advantage most design students lack: a real product with real users that you can change today. You also have a disadvantage: no one reviews your work. The exercises in this course stand in for the missing colleague. Do them in writing, keep them, and grade yourself with the rubrics. When the rubric says "Strong", be strict.

Diagnostic: what do you already believe?

Three quick questions. Do not look anything up. Getting them wrong is useful: it shows you which chapters to read slowly.

Diagnostic 1

People keep tapping the title of a card in your app, expecting it to open. Only the small arrow on the right opens it. What is the most accurate description of the problem?

Diagnostic 2

You are choosing between two layouts for a settings page and you cannot decide which looks better. What is the best next step?

Diagnostic 3

A user deletes a project by accident because the Delete button sits right next to Duplicate. What kind of error is this, and what is the strongest fix?

Part one

What design is

Before principles and processes, you need a clear picture of the job itself. These three chapters define product design, give you a model of the layers every product is built from, and reframe design as what it really is: a long chain of decisions made under constraints.

1

What product design is

Taught by Don Norman, with Steve Jobs and Charles Eames

Product design is deciding what a product should do, for whom, and how it should behave and look, so that a person can reach their goal with as little friction and as much confidence as possible.

The word "design" gets used for very different jobs. A graphic designer arranges type and images to communicate. A UI designer draws the screens. An interaction designer decides what happens when you press, drag or wait. A UX designer looks at the whole experience across time. A product manager decides which problems to solve and in what order. An engineer makes it real and keeps it working.

A product designer works across all of those boundaries, with one question at the centre: what should this product be, so that it is worth using? In a large company those jobs belong to different people. In your company of one, they all belong to you. That is the most important fact about your situation, and it is good news. The most common failure in big teams is the hand-off: a decision made in one discipline gets lost or distorted in the next. You do not have hand-offs. You can let a database decision shape the interface, or let an interface sketch kill a feature before you build it.

Where product design sits Product design Product mgmt which problem, why now Interaction / UX flows, behavior, time Engineering what is possible, cost Visual / UI type, layout, color In a team: five people. For you: one person, five hats.
Product design is the overlap. It borrows the "why" from product management, the "how it behaves" from interaction design, the "how it looks" from visual design and the "what is possible" from engineering.

The neighbours, defined precisely

DisciplineIts main questionIts typical outputWhen you wear this hat
Graphic designHow do we communicate this message visually?Posters, logos, layouts, illustrationsYour app icon, landing page, social images
UI (visual interface) designHow should each screen look?Screens, components, stylesPolishing a screen, building your component set
Interaction designWhat happens when someone acts, and over time?Flows, states, transitions, rulesDeciding what a swipe does, what an error looks like
UX designDoes the whole experience serve the person?Journeys, research findings, information architectureMapping the first week of a new user
Product managementWhich problems are worth solving, in which order?Strategy, roadmap, prioritiesChoosing this month's one big thing
EngineeringHow do we build it so it works and lasts?Code, architecture, infrastructureMost of your week
Product designWhat should this product be, so it is worth using?Decisions, expressed as flows, screens and codeEvery time you decide what to build and how it behaves

Notice the last row's output: decisions. The screens are only the record of those decisions. A product designer who only produces beautiful screens has skipped the job. A product designer who produces the right decisions, written in plain code with system fonts, has done most of it.

Design is not just what it looks like and feels like. Design is how it works.Steve Jobs, interviewed by Rob Walker, The New York Times Magazine, 2003

That line gets quoted to justify everything, so read it carefully. Jobs was rejecting the idea that design is a coat of paint applied at the end. The look and feel matter, but they are the visible part of something larger: how the product behaves, what it lets you do, what it refuses to let you do. The iPod's scroll wheel was a visual decision, an interaction decision and an engineering decision at once. Separating them would have produced a worse product.

Don't
Design as decoration Idea Build "Make it nice" Design arrives last, when every important decision is already fixed. Result: a pretty skin on a confusing product.
Why it fails. The structure, the flow and the feature set were decided by default. Polish cannot fix a product that asks the wrong questions.
Do
Design as how it works Idea Build Polish design decisions throughout What to build, how it behaves, and how it looks are decided together. Result: coherent from the inside out.
Why it works. Design questions shape the idea and the build, so polish lands on a product that already makes sense.

Three tests for "is this good design?"

You will meet many principles in this guide. Under all of them sit three plain tests that apply to every decision:

  1. Does it help someone do something they actually want to do? (Usefulness. A beautiful, easy feature nobody needs is still waste.)
  2. Can they do it without help, without fear, and without wasted effort? (Usability. Find it, understand it, do it, know it worked, recover if it did not.)
  3. Does it feel right, so they want to come back? (Desirability. Calm, trustworthy, pleasant, even delightful.)

The order matters. Usefulness first, because nothing rescues a useless product. Usability second, because nothing rescues a product people cannot operate. Desirability third, not because it is unimportant, but because it grows best on the first two. You will meet the ancient version of this triad in chapter 10.

Key idea

The screens are the record of the design, not the design. The design is the set of decisions.

For the solo creator

Write your decisions down. A plain text file called decisions.md beside your code, one line per decision with the date and the reason ("2026-03-04: no folders, tags only, because users have under 200 items"). It is the cheapest design tool there is, it stops you re-arguing settled questions with yourself at midnight, and it becomes the raw material for your changelog and your landing page.

Do

  • Treat every feature request as a design question: whose goal, which problem, what is the smallest thing that solves it?
  • Let technical constraints into design early; they are information, not obstacles.
  • Judge design work by what people can now do, not by how the screen looks in a screenshot.
  • Learn enough of each neighbouring discipline to know when you are wearing its hat.

Don't

  • Think of design as the last step before launch.
  • Confuse "designed" with "decorated": gradients and shadows are not design decisions about the product.
  • Copy the job titles of large companies. You need the decisions, not the org chart.
  • Let "I'm an engineer, not a designer" excuse a confusing flow. You designed it either way.

In the wild

  • iPodApple, 2001
    The scroll wheel was one decision that solved a product problem (navigating a thousand songs on a tiny screen), an interaction problem (fast, physical, proportional scrolling) and a visual problem (a clean front with almost nothing on it) at once. The best design decisions dissolve the boundaries between disciplines.
  • Dropbox2008
    Instead of designing a file-sync interface, Dropbox made the interface a normal folder on your computer. Most of the "design" is a decision about what not to build. Sometimes the best interface is one the user already knows.
  • Gmail Undo SendGoogle, Labs feature 2009, default 2015
    Email cannot be unsent once delivered. Gmail holds the message for a few seconds before it really goes, which makes "undo" possible. This is an engineering decision made for a design reason. Behavior is design, even when it is invisible.
  • iA WriterInformation Architects, 2010
    A writing app whose main design decisions are things it leaves out: few formatting options, few settings, one carefully chosen typeface per mode. For focused tools, the feature list is the design.

Common mistakes

Starting in Figma

Drawing screens feels like progress, so it is tempting to open a canvas before you know what the screen is for.

Start with a sentence: "This screen lets [person] [do thing] so that [outcome]." If you cannot write it, you are not ready to draw it.

Thinking design is someone else's job

Solo developers often say "I'll hire a designer later", then make dozens of design decisions by default in the meantime.

Accept that every choice of default, label, order and error message is a design decision. Make them on purpose.

Treating taste as the whole job

Visual polish is the most visible part of design, so it gets most of the attention.

Spend your design time in proportion to impact: what the product does first, how it behaves second, how it looks third.

Check yourself

A friend says, "My app is well designed; I paid for a premium UI kit." Users still churn after a day because they cannot work out how to import their data. Which statement is most accurate?

Exercise 1.1 30 minutes · on your own product

The five-hats inventory

  1. List the last ten changes you made to your product (check your commit log).
  2. For each, write which hat you were wearing: product management, interaction, visual, engineering, or research.
  3. Mark each change with a D if you decided it on purpose, or an A if it happened by accident or default.
  4. Write one sentence about the pattern you see.
You're done when: you have a ten-row table with hat and D/A per change, and one sentence naming which hat you neglect.
BeginnerCompetentStrong
Lists the changes and labels them by hat.Also marks deliberate versus default and spots a pattern.Also names one specific decision you will now revisit, with the reason.
2

The five planes of a product

Taught by Jesse James Garrett, The Elements of User Experience (2002, 2nd ed. 2010)

Every product is built from five layers, from abstract to concrete: strategy, scope, structure, skeleton and surface. Each layer constrains the one above it, so most "surface" problems are really problems on a lower plane.

Garrett drew the model to explain why web projects kept failing despite good visual design. His answer: the visible part sits on top of four invisible decisions. If those are wrong or missing, no amount of visual work can save the result. The model is now over twenty years old and it is still the clearest map of what you are actually deciding when you "design an app".

Garrett's five planes, applied to a read-later app Concrete at the top. Abstract at the bottom. Decisions flow upward. 5 · Surface What does it look like? Serif reading type, warm paper color, one accent for unread, quiet icons 4 · Skeleton Where do things go on the screen? List with title, source, reading time; search on top; archive by swipe 3 · Structure How is it organized and how does it behave? Inbox → Reading → Archive. Highlights belong to articles. Offline by default. 2 · Scope What features and content are in, and out? In: save, read, highlight, search. Out: social feed, comments, folders. 1 · Strategy Who is it for, what do they need, what do I need? People who save more than they read. Need: actually finish good articles. abstract → concrete Read it upward: each answer narrows the choices on the plane above. "No folders" (scope) is why the skeleton has no sidebar, and why the surface can be so quiet.
The planes, bottom to top. The example column shows how one strategy sentence ("people who save more than they read") ripples all the way up to type and color.

Each plane in detail

1. Strategy: why does this exist?
Two halves: the user's needs and your objectives. For a solo creator, your objectives are honest and simple: revenue, time, joy, learning. Write both down. A product whose strategy is only "I wanted to build it" can be fine, but then say so, and do not pretend that a missing market is a design problem.
2. Scope: what is in and out?
The list of features and content. The most valuable thing on this plane is the "out" list. Every feature you add raises the cost of every future change, and every item you leave out makes the remaining ones easier to find. Garrett splits scope into functional specifications (what it does) and content requirements (what it contains).
3. Structure: how does it fit together?
Two parts: interaction design (how the system behaves in response to the user) and information architecture (how content is organized so people can find it). This is where your conceptual model lives: what the objects are (articles, highlights, tags), how they relate, and what verbs act on them. See Structure & Interaction.
4. Skeleton: where do things go?
Interface design (arranging controls), navigation design (moving between places) and information design (presenting information so it is understood). The wireframe is the skeleton's natural form.
5. Surface: what do the senses meet?
Visual design: type, color, imagery, spacing, motion, sound. It is the most visible plane and the one people judge first. See Visual Design and Typography.

Two rules that make the model useful

Rule one: problems flow upward, so diagnose downward. When something feels wrong on the surface, step down one plane at a time and ask whether the problem started there. A cluttered toolbar (surface) is often a skeleton problem (too many controls on one screen), which is often a scope problem (too many features), which is often a strategy problem (no clear idea of who the product is for).

Rule two: work overlaps, but finishes in order. Garrett did not argue for a waterfall. You can sketch surfaces while you are still deciding scope; often you must, because a sketch reveals what a feature really costs. But you should not finish a plane before the plane beneath it is settled. Polishing the surface of an undecided structure is the most expensive way to waste a week.

Overlapping, not sequential Strategy Scope Structure Skeleton Surface starttime → launch
Start early, finish in order. Each plane begins before the one beneath is complete, but ends after it. Surface work starts surprisingly early (rough sketches) and ends last.

Seeing the planes in a real screen

Don't: fix it on the surface
Settings (restyled) Auto-archive read items Archive after (days) Show reading time Reading time WPM Sync over cellular Sync images Sync highlights separately … 7 more
Why it fails. Nicer toggles do not reduce the fourteen decisions you pushed onto the user. The problem is on the scope plane.
Do: fix it on the right plane
Settings Archive when finished Moves articles out of your inbox Download on Wi‑Fi only Saves mobile data Reading text sizeMedium › Eleven settings became good defaults.
Why it works. The scope changed: good defaults replaced most settings. The surface can now be calm because there is less to show.
Myth

"UX is the lower planes and UI is the top one, so UX designers and UI designers do separate jobs." The planes describe kinds of decisions, not kinds of people. Every good designer moves up and down the stack all day. A typographic decision (surface) can expose a structure problem (two headings that mean the same thing); a strategy shift can make half the surface obsolete.

For the solo creator

Keep a single page for your product with five short sections, one per plane, bottom first. Strategy in three sentences. Scope as an in/out list. Structure as a list of objects and verbs. Skeleton as a list of screens. Surface as your type, color and spacing tokens. Update it when you change your mind. When you are stuck, read it from the bottom up.

Do

  • Diagnose downward: when the surface feels wrong, check the plane beneath first.
  • Write an explicit "out of scope" list and reread it before adding anything.
  • Sketch the surface early to test what a scope decision really costs.
  • Name your objects and verbs on the structure plane before drawing screens.

Don't

  • Spend a weekend on colors while you still have not decided what the main screen is for.
  • Treat the model as a waterfall that forbids early sketches.
  • Answer a strategy question ("who is this for?") with a surface change ("let's make it look more professional").
  • Let scope grow because the skeleton "has room".

In the wild

  • Basecamp37signals, 2004 onward
    Basecamp's founders wrote openly about saying no to most feature requests and keeping scope small (see their book Getting Real, 2006). A firm scope plane is what lets a small team ship a coherent surface.
  • Things 3Cultured Code, 2017
    Its structure (areas contain projects, projects contain to-dos and headings; "Today" and "This Evening" are views, not containers) is so clear that the surface can be almost bare. Strong structure buys you a quiet surface.
  • Google Search1998 onward
    The home page has remained mostly one field and a logo for decades, because the strategy (find anything, fast) and the scope (search, not a portal) never wavered. Stable lower planes produce a stable surface.
  • Kindle e-readersAmazon, 2007 onward
    The strategy (read books comfortably for hours) set the scope (reading first, very little else), which set the hardware surface: E Ink, matte, few buttons. Strategy can reach all the way to materials.

Common mistakes

Surface-first redesigns

Restyling is fun and visible. Rethinking scope is uncomfortable because it means deleting work.

Before any redesign, write one sentence per plane describing what changes. If only the surface line has content, ask whether that is truly where the problem is.

Skipping structure

Developers often jump from a feature list (scope) straight to screens (skeleton), and the objects and relationships emerge accidentally from the database.

Draw the objects as boxes with arrows for "contains" and "belongs to", and list the verbs. Do this before any screen. It takes 20 minutes.

A strategy that is only your objectives

"Make ₹1 lakh a month" is a real objective, but it says nothing about user needs, so it cannot guide a single design decision.

Pair every objective with a user need sentence: "People who [situation] need [outcome]."

Check yourself

Users of your habit tracker say the home screen "feels cluttered". It shows habits, a streak calendar, a mood log, a journal prompt and a stats card. Which plane should you check first?

Exercise 2.1 45 minutes · on your own product

Your product on one page, bottom up

  1. Strategy: write who it is for, the need, and your own objective, in three sentences.
  2. Scope: list every feature. Then write an "out" list of at least five things you will not build.
  3. Structure: list the objects (nouns) and verbs. Draw boxes and arrows for how objects relate.
  4. Skeleton: list every screen in one column.
  5. Surface: write your typefaces, sizes, colors and spacing values (or "undecided").
  6. Circle the plane that feels weakest. Write one action to strengthen it this week.
You're done when: you have a one-page, five-section document with an "out" list and one circled weak plane with an action.
BeginnerCompetentStrong
All five sections filled, mostly with features.Includes a real "out" list and a clear object model.Traces at least one surface detail back to a strategy sentence, and identifies a mismatch between planes.
3

Design is deciding under constraints

Taught by Charles Eames, with Herbert Simon and Jeff Bezos

A design is a set of choices between options, made against criteria, inside constraints. Getting good at design mostly means getting good at that sequence: seeing more options, naming the criteria, respecting the constraints, and knowing which decisions are cheap to change.

Herbert Simon, in The Sciences of the Artificial (1969), defined design broadly: everyone designs who devises courses of action aimed at changing existing situations into preferred ones. It is a useful definition because it strips away the visual mystique. You design when you choose a default, name a button, decide what happens offline, or decide not to build sync this year.

Charles Eames, in a well-known question-and-answer session linked to the 1969 Paris exhibition Qu'est-ce que le design? (later filmed as Design Q&A), was asked whether design admits constraint. He answered that design depends largely upon constraints, and went on to describe the designer's job as recognizing as many of them as possible and accepting them with enthusiasm. That is the attitude to take. Constraints are not what stops you designing; they are what turns an infinite space of possible apps into a finite space you can search.

Anatomy of one design decision Options Constraints time, platform, skill Criteria 1 Fewer steps for the job 2 Can't lose data 3 Fits the platform 4 I can build it in 2 days Choice + written reason
Options, constraints, criteria, choice. Beginners jump straight to "choice" with only one option in mind. Most of the skill lives in the first three steps.

Step 1: generate more than one option

The single most reliable habit of strong designers is refusing to evaluate the first idea alone. The first idea is usually the most obvious one, which means it is the one every competitor also had. Force yourself to produce at least three genuinely different options, and make them different in kind, not in color: a list, a calendar, a single "next thing" card. Three is the minimum because two options turn into a debate, while three turn into a comparison.

Step 2: name the constraints

Constraints are facts you cannot change in this decision. Platform conventions (an iOS app has a back gesture whether you like it or not). Technical limits (you cannot sync in real time without a server). Your own time and skill. Legal requirements. The user's context (one hand, on a train, poor network). Write them down; they will kill some options immediately, which is a gift.

Step 3: write the criteria, in order

Criteria are what "good" means for this decision. They must be ranked, because they will conflict. "Fast" and "can't lose data" may pull in opposite directions; the ranking says which wins. A ranked list of three or four criteria turns a taste argument with yourself into a quick, almost mechanical comparison.

Step 4: know what kind of decision it is

Jeff Bezos, in his 2015 letter to Amazon shareholders, split decisions into two types. Type 1 decisions are one-way doors: hard or impossible to reverse, so they deserve slow, careful thought. Type 2 decisions are two-way doors: if you are wrong, you walk back through. His warning was that organizations tend to treat every decision as Type 1, and so they slow down. A solo creator usually has the opposite problem: treating one-way doors (data formats, pricing model, URLs, public APIs, the core object model) as casually as button colors.

One-way doors and two-way doors One-way: go slow Core data model and file formatPublic URLs and API shapesPricing model (subscription or not)Sync architectureThe product's name Two-way: go fast Button labels and copyColors, spacing, icon choicesDefault settingsOrder of items in a menuOnboarding steps
Spend your care where reversal is expensive. Two-way doors can be decided in minutes and fixed tomorrow. One-way doors deserve a written option list and a night's sleep.
Key idea

No options, no design. Generate three, kill some with constraints, rank by criteria, and match your care to how hard the decision is to undo.

Don't
Decision: "Use a calendar view for tasks."
Why? It looked good in a competitor's screenshot.
Options considered: 1.
Criteria: none written.
Why it fails. One option, borrowed reasoning, no criteria. You cannot tell later whether it was a good call, and you will reopen it every week.
Do
Decision: Single "Next" card on home.
Options: list · calendar · next card.
Criteria: 1 start work in <5s, 2 no planning needed, 3 two days to build.
Door: two-way. Revisit after 30 users.
Why it works. Three real options, ranked criteria, and an explicit reversal plan. Future you can judge the decision on its own terms.
For the solo creator

Your scarcest constraint is your own time, and it is a legitimate design criterion. "I can build and maintain this alone" belongs on every criteria list. A slightly less elegant design you can ship in two days and maintain for five years beats a perfect design that needs a team. Say it openly rather than letting it silently bend your choices.

Do

  • Produce three options that differ in kind before choosing.
  • Write constraints first; let them eliminate options cheaply.
  • Rank criteria so conflicts resolve themselves.
  • Label each decision one-way or two-way, and slow down only for one-way doors.

Don't

  • Evaluate a single idea in isolation; you will always find it acceptable.
  • Treat constraints as excuses for a weak result; treat them as the shape of the problem.
  • Agonize over two-way doors such as copy and color.
  • Change a data format or pricing model on a whim.

In the wild

  • Twitter's 140 characters2006
    The limit came from SMS, which allowed 160 characters per message, leaving room for a username. A technical constraint became the defining feature of the product's writing style. A constraint accepted fully can become identity.
  • Instagram at launch2010
    Square photos, a small set of filters, and only a phone app. Each was a constraint that kept the product focused and made weak phone photos look better. Fewer options for the user can be a design decision made for them.
  • Apple WatchApple, 2015
    A tiny screen forced a new interaction vocabulary (the Digital Crown, glances later replaced, complications). Whatever you think of individual choices, every one is a response to a hard size constraint. The tighter the constraint, the more original the design has to be.

Common mistakes

The single-option trap

The first idea arrives with a feeling of rightness, and generating more feels like wasted time.

Make "three options" a rule, not a mood. Set a ten-minute timer and sketch three thumbnails before choosing anything.

Hidden criteria

You choose by a criterion you would not admit to ("it's easier for me to build"), and then rationalize.

Put your honest criteria on paper, including build cost. Hidden criteria are only bad because they are hidden.

Casual one-way doors

Solo creators move fast and treat everything as reversible.

Keep a short list of one-way doors for your product. Anything on it gets options written down and a 24-hour wait.

Check yourself

You are choosing how to store notes in your app: a proprietary database format or plain Markdown files in a folder. Which approach to the decision fits best?

Connect the ideas · Part one recap

Your app's export feature works but nobody uses it. You notice it sits in Settings → Advanced → Data. Using chapters 1 to 3, which is the best first move?

Exercise 3.1 40 minutes · on your own product

One decision, done properly

  1. Pick a decision you are currently avoiding in your product.
  2. Sketch or write three options that differ in kind.
  3. List the constraints. Cross out any option they eliminate.
  4. Write three or four ranked criteria. Score each surviving option against them.
  5. Label the decision one-way or two-way. Choose. Write the entry in your decisions.md.
You're done when: a dated decision entry exists with options, constraints, ranked criteria, door type and the reason for the choice.
BeginnerCompetentStrong
Three options, but variations of one idea.Three options of different kinds, ranked criteria, a clear choice.Also states when and how you will check whether the choice was right.
Part two

Norman's model of everyday things

Don Norman's The Design of Everyday Things (first published in 1988 as The Psychology of Everyday Things, revised and expanded in 2013) is the closest thing design has to a shared textbook. It gives you a vocabulary for why people get stuck. The examples are doors, stoves and taps, but every idea transfers to software almost unchanged. These five chapters cover the whole model, in more depth than the summary you have seen before.

4

Affordances and signifiers

Taught by Don Norman, building on James J. Gibson

An affordance is what an object lets you do. A signifier is what tells you so. Users cannot see affordances directly; they act on signifiers. When the two disagree, people fail, and they blame themselves.

The psychologist James J. Gibson coined "affordance" in the late 1970s to describe the action possibilities the environment offers an animal: a flat, firm surface affords standing; a handle-sized branch affords grasping. Norman brought the word into design in 1988. It spread so fast that designers started saying things like "I added an affordance" when they meant "I added a visual hint". In the 2013 revision of his book, Norman introduced signifier to fix this. The affordance is the relationship (this glass panel can be pushed). The signifier is the perceivable cue (a flat metal plate at hand height that says push here).

On screens the distinction matters even more, because almost everything has the same physical affordance: you can tap, click or press any pixel. What differs is whether anything happens. So in software, design work around "affordance" is really work on signifiers: shape, position, color, text, cursor, motion and convention that tell people what will respond and how.

Affordance versus signifier Affordance what is possible "This can be pressed, and something happens" invisible on its own Signifier what is perceivable Save draft shape, label, contrast, hover, cursor, convention must agree
People act on what they perceive. If the signifier promises an action the affordance does not deliver (or hides one it does), the design fails, however clever the underlying feature.

The Norman door

A "Norman door" is the nickname for any door whose design tells you the wrong thing: a pull handle on a door you must push, or identical handles on both sides so you cannot tell which way it opens. The tell-tale sign of a Norman door is a label. If a door needs a sign saying PUSH, the design has already failed, and the sign is a patch. Try it.

Open the door
PUSH

You are walking into a café. Open the door.

Without: the bar handle is a powerful signifier for "grab and pull". The tiny PUSH sign has to fight it, and usually loses.

Signifiers on screens

Software has its own Norman doors, and you can find them in almost any app. Text that looks like a link but is not. A link that looks like body text. A card with a hover shadow where only the tiny title responds. An icon button that looks like a decorative glyph. A "flat design" period in the mid-2010s produced many of these: when buttons lost their borders, fills and shadows, people lost the signifiers that told them where to press. Research by the Nielsen Norman Group around 2017 found that people needed more time and attention to find clickable elements on weakly signified flat interfaces.

Don't
Weekly report Generated every Monday at 9:00 Edit schedule Recipients Last sent 3 days ago Monday
Why it fails. Which lines are actions? "Edit schedule" and "Last sent" look identical. The chip looks like a button but is a label.
Do
Weekly report Every Monday at 9:00 · last sent 3 days ago Change schedule Edit recipients (3) Send now
Why it works. Information is plain, links are underlined, the main action is a filled button. Every element's look matches its behavior.

The signifier toolkit

SignifierWhat it saysSoftware example
Shape and boundary"I am a separate object you can act on"A filled or outlined button; a card with a clear edge
Convention"I behave like the ones you know"Underlined blue text is a link; a magnifier means search
Label"This is what I do""Export as PDF" instead of an ambiguous icon
Position"I relate to what is near me"A delete icon inside the row it deletes
State change on approach"I respond"Hover tint, pointer cursor, focus ring
Partial reveal"There is more this way"A carousel showing the edge of the next card
Motion"I can move like this"A sheet that bounces slightly to show it can be dragged
Watch out

Touch screens have no hover. Any signifier that only appears on hover (row actions, tooltips, underline on hover) is invisible on a phone. Design the resting state so it signifies enough on its own.

Key idea

If it needs a label to explain how to operate it, look first for a design that would not.

For the solo creator

You know where every clickable thing is, so you are the worst person to judge signifiers. Use the "squint and point" test: blur your eyes (or take a screenshot and blur it) and point at everything you think is clickable. Then compare with the real list. Better still, ask someone who has never seen the app to do it.

Do

  • Make interactive things look different from non-interactive things, consistently, everywhere.
  • Make the whole visible object the hit target when it looks like one object.
  • Use platform conventions as free signifiers that users already learned.
  • Check every hover-only signifier on a touch device.

Don't

  • Style labels as buttons or buttons as labels.
  • Rely on a tooltip or help text to explain how a control works.
  • Use "affordance" when you mean "visual hint"; say signifier.
  • Remove borders and fills from buttons just to look minimal.

In the wild

  • iPhone slide to unlockApple, 2007
    A track, a knob with an arrow and the words "slide to unlock" with a moving shimmer across them. Three signifiers (shape, label, motion) for one gesture nobody had seen before. New interactions need stacked signifiers until they become convention.
  • iOS 7 text buttonsApple, 2013
    The redesign turned many buttons into plain colored words with no border. Apple later added an accessibility setting, Button Shapes, that puts shapes back under those words. When you strip signifiers, some people need them restored.
  • Google Docs, Notion2006, 2016 onward
    An empty document shows placeholder text in gray ("Type '/' for commands" in Notion). The placeholder is a signifier for an invisible feature. Empty states are prime real estate for signifiers.
  • Most scroll viewseverywhere
    Cutting the last visible row in half signals "more below". A list that ends exactly at the screen edge looks finished, and people stop scrolling. Partial reveal is a signifier you get by layout alone.

Common mistakes

The invisible gesture

Swipe actions, long-press menus and keyboard shortcuts feel elegant to the designer who knows they exist.

Treat hidden gestures as accelerators only. Every action must also have a visible path (a button or menu item).

Hit targets smaller than the signifier

Only the text or icon is wired up, while the visual row or card looks like a single object.

Make the clickable area match the visible object. On touch, keep targets at least about 44 by 44 points (Apple) or 48 by 48 dp (Android Material).

Fixing with labels

Adding "Click here to edit" is faster than redesigning the control.

Treat every explanatory label as a bug report about the design. Keep it only if no better signifier exists.

Check yourself

In your notes app, a "+" icon in the top right creates a note. New users keep typing into the search field instead, expecting it to create a note. What is going on?

Exercise 4.1 30 minutes · on your own product

Hunt for your Norman doors

  1. Screenshot your three most-used screens.
  2. On each, circle in one color everything that is interactive and in another color everything that only looks interactive.
  3. List every place where you use a label, tooltip or help text to explain how to operate something.
  4. For each item, write a signifier change that would remove the need for the explanation.
You're done when: you have three annotated screenshots and at least five signifier fixes, one of which you have shipped.
BeginnerCompetentStrong
Finds obvious mismatches (labels styled as buttons).Also finds hit-target and hover-only problems.Also tests with someone new and finds a door you did not predict.
5

Mapping and constraints

Taught by Don Norman

Mapping is the relationship between controls and their effects. When the layout of the controls mirrors the layout of what they control, people need no labels and make fewer errors. Constraints narrow the possible actions so the right one is the obvious one.

Natural mapping: the stove

Norman's favourite example is the kitchen stove. Four burners sit in a rectangle. The four knobs often sit in a straight line. Which knob controls which burner? With a straight row, there are 24 possible arrangements, and the cook has to read tiny labels or remember. If the knobs are arranged in the same pattern as the burners, the mapping is obvious, and labels become unnecessary.

Don't: arbitrary mapping
?
Why it fails. Four in a row cannot mirror two by two. Which knob is back-left? People turn on the wrong burner, or need labels.
Do: natural mapping
Why it works. The knobs form a tiny copy of the burner layout. Back-left knob, back-left burner. No labels needed.

Now try it yourself. The lab below is a room with four lamps and a switch panel. You will be asked to turn on one named lamp at a time. Try a few rounds with each panel and compare your times and errors.

Lab: find the right switch

Press Start to get a lamp to switch on.

Desk
Shelf
Sofa
Bed
Floor plan, seen from above
Switch panel by the door
PanelRoundsAverage timeWrong switches
Try five rounds on each panel. Notice two things. The natural panel is fast from the very first round. The unlabelled row gets faster as you memorize it, which is knowledge in your head; press "Move to a new building" to see that knowledge evaporate.

Mapping in software

Screens are full of mapping decisions, and most are invisible until they go wrong. A slider for text size should get bigger to the right and show a small "A" on the left and a large "A" on the right. A brightness control should increase upward or rightward. The order of items in a settings list should match the order of the things they affect on screen. A volume key on the side of a phone should raise the volume with the upper button.

Good mappings come from three sources. Spatial correspondence: the control's layout mirrors the effect's layout (the stove, or a window-snapping control drawn as a little screen diagram). Cultural metaphor: more is up, time flows left to right in left-to-right languages. Biological or perceptual: louder is "bigger", brighter is "more". A mapping that uses all three at once almost never needs explaining.

Don't
Text size Level 3 Is level 1 the smallest or the largest? Is 3 the default? Nothing maps.
Why it fails. Abstract numbers have no spatial or perceptual mapping to "size". People must try and see.
Do
Text size A A The quick brown fox Preview updates as you drag
Why it works. Small A to big A maps left-right to size. The live preview closes the loop instantly.

Constraints: four kinds

Norman describes four kinds of constraint that guide people toward correct actions. His illustration is a small Lego motorcycle kit: even without instructions, most people assemble it correctly, because the pieces only fit some ways (physical), the rider faces forward (cultural and semantic), and the last piece must go in the last remaining spot (logical). Every kind has a software equivalent.

Four constraints, translated to screens Physical Only valid input is possible 14 Mar 2026 no "Feb 31" Cultural Shared conventions Delete red = danger, ✓ = done, × = close (vary by culture) Semantic Meaning of the situation A "Reply" field sits under the message it replies to, not above it Logical Reasoning rules out options Continue Only one step left; it must be the next one
Constraints prevent errors before they happen. A date picker that cannot produce invalid dates beats an error message about invalid dates, every time.
Watch out

Cultural constraints are local. Red means danger in much of the world but also luck and celebration in parts of East Asia; in India, red and green carry many meanings beyond stop and go. Use color as a supporting signal, never the only one. More in Accessible & Inclusive.

Key idea

Design the controls in the shape of the thing they control, and make wrong actions impossible rather than merely discouraged.

For the solo creator

Constraints are cheaper to build than error handling. A select menu instead of free text, a stepper instead of a number field, a disabled button with a reason, a format mask on a phone number: each removes a whole category of error messages, validation code and support emails. When you are the support team, constraints pay for themselves within a week.

Do

  • Arrange controls spatially like the things they affect.
  • Use direction metaphors consistently: more is up or right.
  • Prefer input methods that can only produce valid values.
  • When a button is disabled, show why next to it.

Don't

  • Use abstract numbers ("Level 3") for perceptual qualities like size or brightness.
  • List settings in an order unrelated to the screen they affect.
  • Let people type a value you will later reject.
  • Rely on color alone as a constraint.

In the wild

  • macOS display arrangementApple, long-standing
    You arrange multiple monitors by dragging rectangles that mirror their physical positions. Moving the mouse off the right edge then lands where the picture says. The control is a miniature of the world.
  • Natural scrollingmacOS Lion, 2011
    Apple reversed trackpad scrolling so content moves with your fingers, as on a touch screen. Many people found it wrong at first because their old mapping (move the scroll bar) was in their heads. Mappings that conflict with learned ones carry a switching cost, even if they are more "natural".
  • Car seat controlsMercedes-Benz and others
    Some cars put the seat adjustment controls on the door in the shape of a seat: push the "back" part to tilt the back. The most famous physical example of spatial mapping, and a good model for settings panels.
  • UPI PIN entryIndia, 2016 onward
    Payment apps show a fixed number of PIN boxes (four or six) that fill as you type. The structure physically constrains length and shows progress. A constraint can also be feedback.

Common mistakes

Arbitrary toggle lists

Settings get appended in the order they were built.

Order settings by the screen layout or by the user's sequence of thought, and group by the object they affect.

Validate after, not constrain before

Free text fields are the default component, and validation feels thorough.

For every field, ask: can the input method make invalid values impossible? Use pickers, masks, steppers and smart defaults.

Disabled with no reason

Disabling a button is an easy logical constraint, but it leaves people stuck guessing.

Either keep the button enabled and explain what is missing when pressed, or show the reason beside the disabled button.

Check yourself

Your split-view writing app has a setting for "Preview position" with options Left, Right, Top, Bottom, shown as a text dropdown. Which redesign uses mapping best?

Exercise 5.1 45 minutes · on your own product

A constraint pass

  1. List every input in your product: fields, pickers, toggles, sliders.
  2. For each, write the errors it can produce today.
  3. For each error, choose a constraint that would make it impossible (physical, semantic, logical or cultural).
  4. Check every control whose effect has a spatial or perceptual quality (size, position, order, intensity). Does its layout map to the effect?
  5. Implement the two cheapest fixes.
You're done when: you have an input inventory with errors and constraint fixes, and two shipped changes that removed an error message or a validation rule.
BeginnerCompetentStrong
Inventory complete, fixes are mostly better error messages.Fixes prevent errors rather than explain them.Also redesigns at least one control as a spatial mapping and deletes the code that handled its errors.
6

Feedback and conceptual models

Taught by Don Norman, with Robert Miller and Jakob Nielsen on response times

Every action needs an immediate, informative response, and the product as a whole must give people an accurate story of how it works. Feedback answers "did that work?"; a conceptual model answers "how does this thing work at all?"

Feedback: closing the loop

When you press a light switch, the light comes on. That is feedback: the world tells you the result of your action. Software breaks this loop all the time, because the result happens somewhere invisible (a server, a file, a background queue). Good feedback has four properties:

  1. Immediate. Classic response-time research, from Robert Miller (1968) and later summarized by Card, Moran and Newell and by Jakob Nielsen, gives three thresholds: about 0.1 second feels instantaneous; about 1 second keeps the flow of thought but the delay is noticed; about 10 seconds is the limit for keeping attention on the task. Above 0.1 s, show that something is happening. Above about 1 s, show progress. Above about 10 s, let people do something else and notify them later.
  2. Informative. "Error" is feedback, but useless. "Couldn't save: you're offline. Your changes are kept on this device and will sync when you reconnect" is feedback that lets people act.
  3. Proportional. Small actions get small feedback (a checkbox ticks). Big or risky actions get bigger feedback (a toast with Undo). Too much feedback is noise: a modal for every success trains people to dismiss modals.
  4. Located. Feedback should appear where attention already is. A "Saved" message in a status bar the user is not looking at barely exists.
How long it takes decides the feedback it needs 0.1 s Feels instantjust show the result 1 s Flow kept, delay feltshow busy state on the control 10 s Attention driftsprogress, estimate, let them leave Thresholds from Miller (1968), popularized by Card, Moran and Newell (1983)and Nielsen (1993). Treat them as orders of magnitude, not exact limits.
Feedback scales with waiting. The longer an action takes, the more the interface has to say about it.

Try the most common feedback failure in software: a save action that tells you nothing.

Did it save?
Trip notes

Without: edit the text and press Save. Then press it again. Do you trust it? Most people press several times "to be sure", which is the user doing the system's job.

Conceptual models: the story in the user's head

A conceptual model is a simplified explanation of how something works. It does not need to be technically accurate; it needs to be accurate enough to predict what will happen. "Files live in folders" is a conceptual model. So is "the trash keeps deleted things until I empty it", and "a draft is private until I publish it".

Norman's key insight is that there are three models, not one, and the designer only controls one of them directly.

Three models (after Norman) Designer's model how you think it works System image the UI, labels, behavior, errors, docs, marketing all they can perceive User's model how they think it works no direct line: you can't explain it in person If the user's model is wrong, the system image is wrong.
The system image is your only channel. You cannot sit beside every user. Whatever model forms in their head is built from what the product shows and does.

Norman's classic example is the home thermostat. Many people believe that turning it far higher makes the room heat faster, like opening a valve wider. In most homes it does not: the heater runs at one speed until the target is reached, like a timer switch. The wrong model leads to wasted energy and overheated rooms, and nothing on the thermostat corrects it. In software, the same thing happens with sync ("is my phone copy the real one?"), with deletion ("does removing it from this list delete the file?"), and with sharing ("can people with the link edit, or only view?").

Don't
Road trip playlist Dil Chahta Hai Delete Delete from the playlist? From my library? From my phone? The model is ambiguous, so people either avoid it or lose data.
Why it fails. "Delete" does not say what is deleted. The system image leaves people to guess the model.
Do
Road trip playlist Dil Chahta Hai Remove from this playlist Delete from library… Removes it from all playlists
Why it works. The wording teaches the model: a playlist holds references; the library holds the song. Two verbs for two scopes.
Key idea

You never explain your product in person. The interface is the explanation, so every label, state and error message is teaching a model, right or wrong.

For the solo creator

Write your conceptual model in five sentences of plain language before you build ("A notebook holds pages. Pages can be in one notebook only. Deleting a notebook moves its pages to Trash for 30 days…"). If you cannot write it simply, users cannot learn it. Then make sure every label in the UI uses the exact nouns and verbs of those sentences.

Do

  • Give feedback within 0.1 s for every action, even if it is only a pressed state.
  • Show progress for anything over about a second.
  • Use the same nouns and verbs everywhere to teach one model.
  • Make system state visible: saved, syncing, offline, shared.

Don't

  • Let any action pass in silence.
  • Use modals for routine success messages.
  • Use one word ("Delete") for actions with different scopes.
  • Leave people to guess whether their data is safe.

In the wild

  • WhatsApp ticksMeta, read receipts from 2014
    One gray tick: sent. Two gray ticks: delivered. Two blue ticks: read. A tiny, consistent feedback system that hundreds of millions of people learned without instructions. Feedback can be compact if it is consistent.
  • Google Docs statusGoogle
    A small status near the title tells you when changes are saved, and switches to an offline state when you lose connection. Persistent, located status beats one-off messages.
  • macOS document dotApple
    On a Mac, an unsaved document shows a dot in the window's close button. Unsaved state can be signalled with almost no pixels.
  • Dropbox sync iconsDropbox, 2008 onward
    Small badges on files (synced, syncing, online-only) make the hidden sync model visible in the file browser itself. Bring invisible system state to the object it concerns.

Common mistakes

Optimistic silence

Developers know the request usually succeeds, so they skip loading and success states.

Design four states for every action: idle, working, success, failure. Build all four.

Model drift in words

Over time, the UI says "project" in one place, "workspace" in another and "board" in a third, for the same thing.

Keep a glossary of your product's nouns and verbs and grep the codebase for synonyms.

Feedback far from the action

A global toast area is convenient to build.

Put feedback on or next to the control that caused it; use toasts only for actions whose result is elsewhere, and include Undo.

Check yourself

Users of your photo backup app keep deleting photos from their phones and then panicking, asking whether the backup copy is gone too. What is the root cause?

Exercise 6.1 45 minutes · on your own product

Map every state and every word

  1. Pick your product's most important action. List its four states (idle, working, success, failure) and screenshot or sketch what each looks like today.
  2. Fill in any missing state.
  3. Write your conceptual model in five plain sentences.
  4. Search your UI text for every noun and verb. Mark any that are not in your five sentences, or that are synonyms.
You're done when: your key action has four designed states, and you have a five-sentence model plus a list of words to unify.
BeginnerCompetentStrong
States listed, some still missing.All four states designed; model written.Also tests the model by asking someone to explain your product back to you, and fixes the words where their explanation diverged.
7

The two gulfs and the seven stages of action

Taught by Don Norman, from work with Edwin Hutchins and James Hollan

Between a person and their goal lie two gulfs: the gulf of execution (how do I do it?) and the gulf of evaluation (did it work?). Design bridges both. The seven stages of action tell you exactly where on the bridge someone fell.

The gulfs were described by Hutchins, Hollan and Norman in the mid-1980s, and Norman made them central to his book. The idea is simple. When you want something, you have to translate your goal into actions the system accepts. That distance is the gulf of execution. Then the system changes, and you have to interpret what you see and compare it with what you wanted. That distance is the gulf of evaluation. Signifiers, mapping and constraints bridge execution. Feedback and a good conceptual model bridge evaluation.

The gulfs of execution and evaluation Person with a goal World your product Gulf of execution "How do I do this?" bridged by signifiers, mapping, constraints Gulf of evaluation "Did it work? What state is it in?" bridged by feedback, visible state, model
Two directions, two kinds of help. When people cannot start, the execution bridge is weak. When they do the right thing and still feel unsure, the evaluation bridge is weak.

The seven stages of action

Norman breaks every interaction into seven stages: one for the goal, three for execution, and three for evaluation. Most of the time they happen in a fraction of a second and nobody notices. They become visible when something goes wrong, which is exactly why they are useful for diagnosis.

Seven stages of action (Norman, 2013 edition) 1 Goal"Send Asha the photos" 2 Plan"I'll share the album" 3 Specify"Tap Share, pick Asha" 4 Performtaps, types, swipes 5 Perceive"A check mark appeared" 6 Interpret"That means it was sent" 7 Compare"Goal met? Yes" The world (your product) execution evaluation
Down the left, up the right. For each stage, you can ask a design question. Where someone stalls tells you which part of your design failed.
StageDesign questionFailure looks like
1 GoalDoes the product speak to goals people actually have?People don't know why they would open it
2 PlanCan they tell which approach the product supports?"Can it even do that?"
3 SpecifyIs the sequence of actions discoverable?Hunting through menus
4 PerformAre the controls easy to operate?Missed taps, fiddly drags, typos
5 PerceiveIs the result visible?"Did anything happen?"
6 InterpretIs the result understandable?"What does this icon mean?"
7 CompareCan they tell if the goal is met?Checking again in another app to be sure

Norman also points out that goals come in levels. "Send Asha the photos" sits under "keep the friendship warm", which sits under "be a good friend". Most products serve the lowest level, but the best ones understand the levels above. A photo app that suggests "Share this album with the people in it" has understood the higher goal. This links directly to Cooper's goal-directed design in chapter 11 and to jobs to be done in Problems Worth Solving.

Don't: wide gulf of evaluation
Invite a teammate name@email.com Invite After pressing: the field just clears. Sent? Failed? To whom?
Why it fails. Stages 5 to 7 have nothing to work with. The person cannot perceive, interpret or compare.
Do: bridged
Invite a teammate name@email.com Pending invites asha@example.comSent just now Visible, interpretable, comparable.
Why it works. The result appears as a new object in the world, with a status that answers the next question.
Key idea

When someone gets stuck, ask "which stage?" before asking "which pixel?". The answer tells you whether to fix a signifier, a word, or a piece of feedback.

For the solo creator

Use the seven stages to read support emails. "I can't find how to…" is stages 2 to 3. "I clicked but…" is stage 5. "What does … mean?" is stage 6. "Did it actually…?" is stage 7. Tag each email with its stage for a month; the pattern tells you which bridge to rebuild first.

Do

  • Diagnose problems by stage before redesigning.
  • Make the result of an action appear as something new in the world (an item, a status, a change of state).
  • Design for the goal one level above the immediate task.

Don't

  • Assume a problem is visual when people cannot even form a plan.
  • Clear a form as the only sign of success.
  • Treat evaluation as optional because "it obviously worked".

In the wild

  • Command palettesSublime Text (2008), VS Code, Linear, Raycast
    Typing what you want ("rename", "dark theme") narrows the gulf of execution: you specify your intent in words, and the palette shows the action. Let people state goals in their own language.
  • Swiggy and Zomato order trackingIndia, 2010s
    After paying, you see the order move through clear states (confirmed, being prepared, picked up, arriving) with a map. Long processes need a visible path for evaluation, or anxiety fills the gap.
  • SpreadsheetsVisiCalc 1979 onward
    Change a number and every dependent cell updates at once. The gulf of evaluation almost disappears, which is a big part of why spreadsheets became so widely used. Instant visible consequences make complex systems learnable.

Common mistakes

Fixing the wrong stage

"Users can't find export" gets fixed with a bigger button (perform) when the real gap is that they did not know export existed (plan).

Ask people to think aloud and note the first moment they hesitate. That moment's stage is where the fix belongs.

Feedback that needs interpreting

An icon changes, but its meaning is unclear (stage 6).

Pair new or rare status icons with words, at least until people have learned them.

Check yourself

A user sets a reminder in your app. The app shows a toast: "Scheduled ✓". The next morning the user opens the app to check whether the reminder really exists. Which stage is weakest?

Exercise 7.1 40 minutes · on a product you use daily

Seven-stage walkthrough

  1. Pick one task in an app you use daily (for example, splitting a bill or scheduling a message).
  2. Do it slowly. For each of the seven stages, write what the app gives you at that stage.
  3. Mark the weakest stage. Sketch one change that bridges it.
  4. Repeat for the same task in your own product, or the closest equivalent.
You're done when: you have two seven-row tables, one weakest stage marked in each, and two sketches.
BeginnerCompetentStrong
Fills all stages descriptively.Identifies the weakest stage with evidence.Also notices the goal one level up and proposes a design that serves it.
8

Knowledge, errors and human-centered design

Taught by Don Norman, with James Reason on human error

People do not carry precise knowledge in their heads; they rely on what the world shows them. When they err, it is usually a slip (right goal, wrong action) or a mistake (wrong goal or plan). Design for both, and design with people, not just for them.

Knowledge in the head and knowledge in the world

Norman's demonstration is the coin test: most people cannot draw the front of a coin they have handled thousands of times, yet they never fail to recognize it. We store just enough to tell things apart and rely on the world for the rest. Precise behavior does not require precise knowledge, because the world fills in the gaps through signifiers, constraints and visible options.

This has a direct design consequence. Anything you put in the world (a visible menu, a recent-files list, a label, an autocomplete suggestion) can be recognized. Anything you leave in the head (a keyboard shortcut, a command syntax, a code from an email) must be recalled. Recognition is far easier than recall, which is why Nielsen made "recognition rather than recall" one of his ten heuristics.

Where the knowledge lives In the head In the world Keyboard shortcutsCommand syntaxPasswords, codes AutocompleteCommand paletteRecent items Visible buttonsLabelled menusInline examples + fast, no screen space− must be learned, forgotten + easy, no learning− uses space, can be slower Best of both: visible path for everyone, shortcut shown beside it
Put it in the world, then let experts carry it in their heads. A menu item that also displays its shortcut teaches the fast path through repeated recognition.

Slips and mistakes

Norman builds on the psychologist James Reason's work on human error. The core split is between slips, where the intention was right but the action went wrong, and mistakes, where the intention itself was wrong. They need different fixes, so telling them apart is a practical skill.

A map of human error (after Reason and Norman) Error Slipright goal, wrong action Mistakewrong goal or plan Action-based Capture: habit winsSimilarity: wronglook-alike controlMode error Memory-lapse Forgot a step:left the originalin the photocopier,forgot to attach file Rule-based right rule,wrong case Know-ledge wrong ormissingmodel Memorylapse forgot agoal orplan step
Slips happen to experts; mistakes happen to novices. Slips come from autopilot, so they increase with skill. Mistakes come from a wrong model, so they decrease with learning.
ErrorSoftware exampleDesign fix
Capture slipTyping your old password out of habit; pressing Cmd+W meaning to close a tab and closing the windowUndo; make the frequent and rare actions less similar
Description-similarity slipTapping "Delete" instead of "Duplicate" because they look alike and sit togetherSeparate and differentiate destructive actions
Mode errorTyping a message with Caps Lock on; editing in "view" modeAvoid modes; make any mode loudly visible
Memory-lapse slipWriting "attached" but forgetting the attachmentReminders at the moment of risk (Gmail does this)
Rule-based mistakeApplying "red means stop" to a red "Record" buttonAlign with the rules people already apply
Knowledge-based mistakeThinking "archive" deletes, so never archivingTeach the model through the system image

Designing for error

Norman's advice is to assume every error that can be made will be made, and to design accordingly. In order of strength:

  1. Prevent: use constraints so the error cannot happen (chapter 5).
  2. Make reversible: undo, trash with a grace period, version history. Reversibility turns errors into exploration.
  3. Detect early: warn at the moment of risk, specifically, not in general ("You mentioned an attachment but none is attached").
  4. Explain and help recover: when an error does happen, say what happened, why, and what to do next, in plain words.
  5. Confirm, rarely: confirmation dialogs are the weakest tool, because people learn to press OK without reading. Save them for irreversible, high-cost actions, and make them specific ("Delete 'Thesis draft' and its 14 versions? This can't be undone").
Don't
Are you sure? This action cannot be undone. Cancel OK
Why it fails. Sure about what? Same dialog for everything, so people stop reading. And the action could have been undoable.
Do
Grocery list Trip notes "Thesis draft" moved to Trash Undo
Why it works. No interruption for the common case; one tap to recover the slip; specific about what happened and where it went.

Human-centered design

Norman's book ends with a process: human-centered design, an approach formalized in the international standard ISO 9241-210. Its loop is observation, idea generation, prototyping and testing, repeated. The point is not the steps but the attitude: assume your first understanding of the problem is wrong, and use contact with real people to correct it, early and often. He also warns that the right problem is rarely the one first stated. "Solve the correct problem" is the first job (more in Problems Worth Solving).

The human-centered design loop Observe Generate ideas Prototype Test repeat, cheaply
Many small loops beat one big plan. Each turn costs less when prototypes are rough, which is the subject of chapter 13.
Key idea

There is no such thing as "user error" in a design review. There is only error the design made likely, and error the design made recoverable.

For the solo creator

Undo is the highest-leverage feature you can build. It makes every other part of your product safer to explore, it lets you drop most confirmation dialogs, and it turns support emails ("I deleted it by accident") into non-events. If your architecture makes undo hard, that is a one-way door worth revisiting (chapter 3).

Do

  • Show the shortcut beside the menu item, so recognition teaches recall.
  • Make destructive actions undoable before you add any confirmation.
  • Separate destructive controls from common ones.
  • Write error messages that say what happened and what to do next.

Don't

  • Blame users in copy ("Invalid input").
  • Use generic "Are you sure?" dialogs.
  • Add modes without a loud, persistent indicator.
  • Require people to remember anything from one screen to the next.

In the wild

  • Gmail attachment reminderGoogle
    If your message mentions an attachment but none is attached, Gmail asks before sending. Detect the memory-lapse slip at the exact moment of risk.
  • macOS menusApple
    Every menu item shows its keyboard shortcut on the right. Novices click; over time they learn the shortcut by seeing it. Knowledge in the world gradually becomes knowledge in the head.
  • Figma version historyFigma, 2016 onward
    Files keep a browsable history, so you can return to earlier states without having saved copies yourself. Reversibility at the document level encourages bold exploration.
  • Caps Lockkeyboards everywhere
    The classic mode error: the key changes what every other key does, and its indicator light is small or missing. Password fields on macOS show a Caps Lock symbol inside the field. If you must have a mode, signal it where attention is.

Common mistakes

Confirmation fatigue

Confirmations feel safe and are quick to build.

Replace confirmations with undo wherever the action is reversible. Keep confirmations only for truly irreversible actions, and make them specific.

Designing for the perfect user

You test your own flows by following the happy path, with full knowledge.

For each screen, ask "What is the most likely slip here?" and "What wrong model might someone have?" Design one defence for each.

Hidden modes

Modes save screen space and code paths.

Prefer quasimodes (hold a key while it is active) or make the mode visible on the content itself, not only in a toolbar.

Check yourself

A long-time user of your invoicing app accidentally sends an invoice to last month's client, because the "To" field auto-fills the most recent one. What kind of error is it, and what's the best fix?

Connect the ideas · Part two recap

People often enable "Focus mode" in your writing app, then cannot find the sidebar and think their documents vanished. Which combination of Norman's ideas best explains this?

Exercise 8.1 60 minutes · on your own product

An error audit

  1. List every destructive or hard-to-reverse action in your product.
  2. For each, write the most likely slip and the most likely mistake.
  3. For each, choose the strongest available defence: prevent, reverse, detect, explain, confirm (in that order).
  4. Find every confirmation dialog. For each, decide whether undo could replace it.
  5. List anything users must remember between screens. Move one of them into the world.
You're done when: you have an error table for every destructive action, at least one confirmation replaced by undo (or a plan to), and one memory burden removed.
BeginnerCompetentStrong
Lists destructive actions and adds clearer confirmations.Distinguishes slips from mistakes and picks different fixes.Ships undo for the riskiest action and removes at least one confirmation dialog entirely.
Part three

The canon

Norman explains why people struggle. The thinkers in this part tell you what to aim for. Rams gives you ten qualities of good products. Vitruvius, Nielsen, Shneiderman and Tognazzini give you checklists to evaluate an interface. Cooper, Raskin and Victor give you three sharp arguments about what software should be. You do not need to memorize them all; you need to know which one to reach for.

9

Rams' ten principles, translated to software

Taught by Dieter Rams, with the Braun design team

Dieter Rams' ten principles describe good design as innovative, useful, aesthetic, understandable, unobtrusive, honest, long-lasting, thorough, environmentally friendly and as little design as possible. Each one translates directly into concrete software decisions.

Rams was head of design at Braun from 1961 to 1995 and designed furniture for Vitsœ, including the 606 Universal Shelving System (1960), which is still made today. Around the late 1970s, worried that the world was filling up with a confusing clutter of forms, colors and noises, he asked himself whether his own design was good design, and wrote his answer as ten principles. His summary of them is three words, in German Weniger, aber besser.

Less, but better.Dieter Rams, his motto, and the title of his 1995 book

The principles are often reduced to "minimalism". That misses most of them. Only the tenth is about reduction. The others are about purpose (useful), clarity (understandable), restraint (unobtrusive), ethics (honest), time (long-lasting), care (thorough) and responsibility (environmentally friendly). Read them as a checklist of the qualities a product earns, not a style.

Ten principles, four themes Purpose 1 Innovative2 Useful10 As little design as possible Clarity 4 Understandable5 Unobtrusive3 Aesthetic Character 6 Honest8 Thorough down to the last detail Responsibility 7 Long-lasting9 Environmentally friendly
A grouping for memory, not Rams' own. Only one of the ten (as little design as possible) is about visual reduction. The rest are about what the product does and how it treats people.

Click through the ten. Each has Rams' principle, its meaning in software, a drawn don't and do, and a one-line test you can run on any screen.

Principle 1 of 10

Good design is innovative.

Innovation in software is not novelty; it is using what is newly possible (a new sensor, a faster chip, a new model) to remove effort that used to be unavoidable. Rams added that innovative design always develops in tandem with innovative technology, and is never an end in itself.

Don't Do Expense form Merchant✦ AI Amount✦ AI Date✦ AI New tech sprinkled on old steps:still three fields, now three buttons. Expense form Chai Point₹ 240.0012 Mar 2026 filled from the photo The new capability removes thetyping step altogether.
The test: Does this new thing remove a step, or add a button?
PrincipleSoftware decision it drivesQuick test
1 InnovativeUse new capability to remove a stepIs there one fewer step than before?
2 UsefulFirst screen serves the main jobMain job in five seconds?
3 AestheticGrid, spacing scale, one type familyDo edges line up?
4 UnderstandableLabels, visible model, no mystery iconsCan a newcomer predict each control?
5 UnobtrusiveContent first, chrome recedesWhat competes with the content?
6 HonestTrue prices, no fake urgency, easy cancelCould you explain every element to the user's face?
7 Long-lastingCalm visuals, open formats, stable linksWould it look fine in 2036?
8 ThoroughAll states designed, plurals right, long text handledHave you seen the empty and error states?
9 Environmentally friendlySmall pages, efficient sync, old-device supportFast on a cheap old phone?
10 As little design as possibleRemove, then refineWhat can be deleted?
Myth

"Rams means white, gray and no color." Braun products used color precisely: a single orange or green accent on the power switch, so the most important control stood out. That is a lesson in hierarchy, not in grayness. Your one accent color should mark the thing that matters most.

Key idea

Rams' principles are a description of respect: for the user's purpose, attention, intelligence, money, time and planet. Minimal looks are a side effect.

For the solo creator

Principle 8 (thorough) is where solo products most often show their seams, because edge states are boring to build and you rarely see them yourself. Principle 10 (as little design as possible) is where you have the edge over teams: there is no committee asking for one more feature. Use the second to pay for the first: every feature you do not build buys time to make the remaining ones thorough.

Do

  • Run all ten tests on your main screen once a month.
  • Use one accent color to mark the single most important control.
  • Design the edge states (empty, error, long text) before calling a screen finished.
  • Prefer open formats and export as a design decision for longevity.

Don't

  • Treat "less" as removing labels and borders that people need.
  • Copy Braun's surface (rounded corners, dots, gray) and skip its purpose.
  • Follow this year's visual trend for core UI.
  • Use urgency, pre-ticked boxes or hidden fees.

In the wild

  • Braun SK 4Rams and Hans Gugelot, 1956
    A radio-record player with a clear plexiglass lid instead of a wooden cabinet top, nicknamed "Snow White's coffin". It showed the product's workings and controls instead of disguising them as furniture. Honesty and understandability as a visual choice.
  • Braun ET66 calculatorDietrich Lubs, 1987
    Round, slightly convex buttons, a strict grid, and color used only to group functions (a yellow-orange equals key). Its resemblance to the early iPhone calculator app is often pointed out. Color as hierarchy; a design language that lasted decades.
  • Vitsœ 606 shelvingRams, 1960, still produced
    A modular system you can extend and rearrange for decades, with parts that stay compatible. Long-lasting includes compatibility. In software: stable formats and APIs.
  • iA Writer2010
    Plain text files in a folder you choose, a single focus on writing, almost no chrome. Unobtrusive, long-lasting and as little design as possible, in one product.
  • Linear2019
    An issue tracker known for speed, keyboard-first operation and attention to small details such as consistent states and fast transitions. Thoroughness can be a product's main selling point.

Common mistakes

Minimalism as subtraction of signifiers

"As little design as possible" is read as "as few visible elements as possible".

Remove features and decorations, not clarity. Labels, borders on inputs and visible buttons are rarely what makes a screen cluttered.

Copying the Braun look

The aesthetic is recognizable and easy to imitate.

Copy the reasoning: one accent for the key control, strict grid, honest materials. In software, "honest materials" means not faking physical textures or depth that does not exist.

Forgetting principle 9

Software feels weightless, so its footprint is invisible to its maker on a fast laptop.

Set a budget (for example, a first page under a few hundred kilobytes) and test on an old, cheap phone with a throttled connection.

Check yourself

You are redesigning your app's paywall. Which change best follows Rams' principles as a whole?

Exercise 9.1 60 minutes · on your own product

The ten-principle audit

  1. Take your product's most important screen.
  2. Score it 0, 1 or 2 against each of the ten tests above. Write one sentence of evidence for each score.
  3. Pick the two lowest scores. Sketch a change for each.
  4. Ship one of them this week.
You're done when: you have a ten-row score table with evidence, two sketches, and one shipped change.
BeginnerCompetentStrong
Scores given without evidence.Each score backed by a specific observation.Includes the less obvious ones (honest, environmentally friendly, long-lasting) with measurements (page weight, export coverage).
10

Frameworks that evaluate: Vitruvius to Tognazzini

Taught by Vitruvius, Jakob Nielsen, Ben Shneiderman and Bruce Tognazzini, with Aarron Walter

A handful of tested checklists let you evaluate any interface quickly. Vitruvius gives the top-level triad (firm, useful, delightful); Nielsen, Shneiderman and Tognazzini give you detailed rules. Use them as lenses for finding problems, not as recipes for creating solutions.

Firmness, commodity and delight

The Roman architect Vitruvius, writing De architectura in the first century BC, said a building should have firmitas, utilitas and venustas. The English diplomat Henry Wotton's 1624 rendering, "commodity, firmness, and delight", is the version designers still quote. Two thousand years later it still works as the shortest possible definition of good design, and it maps neatly onto software.

Vitruvius, translated Firmnessfirmitas Reliable never loses datafast, secureworks offlinedoesn't crash Commodityutilitas Useful + usable solves a real problemeasy to learnefficient to usehard to misuse Delightvenustas Desirable calm, beautifulhas characterfeels trustworthyworth coming back to
The oldest checklist in design. Many products fail at firmness while their makers polish delight. A note-taking app that once lost a note has no delight left to offer.

Aarron Walter's Designing for Emotion (2011) turned the same idea into a pyramid adapted from Maslow: a product must first be functional, then reliable, then usable, and only then can it be pleasurable. Each layer depends on the ones below it.

Hierarchy of user needs (after Aarron Walter) Pleasurable Usable Reliable Functional delight, personalityeasy without effortworks every timeit does the job
Delight sits on top, never instead. A playful animation on a save button that sometimes fails is not delightful; it is insulting.

Nielsen's ten usability heuristics

Jakob Nielsen developed his heuristics with Rolf Molich around 1990 and published the refined list of ten in 1994. They are "heuristics" because they are rules of thumb, not precise guidelines: they help you spot problems, and they are the basis of the heuristic evaluation method covered in Testing & Iteration. Here is the short version, each with one software example.

#HeuristicIn one lineExample
1Visibility of system statusAlways show what is going on, promptlyUpload progress with time left
2Match between system and the real worldSpeak the user's language and follow real-world order"Trash", not "Deallocated items"
3User control and freedomProvide clearly marked exits, undo and redoUndo after archive
4Consistency and standardsSame words and actions mean the same thing; follow platform conventionsCmd+S saves, everywhere
5Error preventionPrevent problems before they occurDate picker instead of free text
6Recognition rather than recallMake options visible; don't make people rememberRecent files list
7Flexibility and efficiency of useAccelerators for experts that novices can ignoreShortcuts shown in menus
8Aesthetic and minimalist designEvery extra unit of information competes with the relevant onesOne primary action per screen
9Help users recognize, diagnose and recover from errorsPlain-language errors that suggest a fix"Card declined: try another card or UPI"
10Help and documentationIdeally unnecessary, but findable, task-focused and short when neededSearchable help with steps

Shneiderman's eight golden rules

Ben Shneiderman, a computer scientist at the University of Maryland, published his eight golden rules of interface design in Designing the User Interface (first edition 1986), and has refined them through later editions. They overlap with Nielsen's but emphasize two things Nielsen does not name directly: closure and the user's sense of control.

  1. Strive for consistency. Same situations, same actions, same words.
  2. Seek universal usability. Design for novices and experts, different ages, abilities and devices. (Earlier editions: "enable frequent users to use shortcuts".)
  3. Offer informative feedback. Modest for frequent actions, substantial for rare and major ones.
  4. Design dialogs to yield closure. Sequences have a beginning, middle and end, and the end is clearly signalled ("Order placed. Arrives Thursday").
  5. Prevent errors. And when they happen, offer simple, specific recovery.
  6. Permit easy reversal of actions. It relieves anxiety and encourages exploration.
  7. Keep users in control. Experienced users want to feel they are in charge, and that the system responds to them, not the other way round.
  8. Reduce short-term memory load. People hold only a few items in mind; don't make them carry information between screens.
Don't: no closure
Home You pressed "Place order"… and landed here.
Why it fails. The sequence has no ending. Did the order go through? People check their bank app or order twice.
Do: clear ending
Order placed 2 items · ₹ 1,240 · paid by UPI Arrives Thursday 14 March Track order
Why it works. A clear end state, with the facts people will want to check, and a single next step.

Tognazzini's first principles

Bruce "Tog" Tognazzini founded Apple's Human Interface Group and wrote early editions of Apple's Human Interface Guidelines. His essay "First Principles of Interaction Design", maintained on his site asktog.com and revised in 2014, lists principles that are more concrete than Nielsen's. A selection worth knowing:

Anticipation
Bring people the information and tools they will need for the next step, before they ask.
Autonomy
Keep users in control, but within boundaries, and keep them informed of status so they can make their own decisions.
Defaults
Defaults should be easy to replace (selected so typing overwrites them), and should reflect what most people want.
Efficiency of the user
Optimize the user's time, not the computer's. The user's time is the expensive resource.
Explorable interfaces
Make actions reversible and offer stable perceptual landmarks, so people can explore without fear of getting lost or breaking things.
Fitts's law
The time to acquire a target depends on its distance and size. Big, close targets are fast; screen edges and corners are effectively infinitely large for a mouse. (More in The Human Mind.)
Latency reduction
Make the interface respond instantly, even if the work takes time; acknowledge every click immediately.
Protect users' work
Never let users lose their work through system failure or their own error.
State tracking
Remember where people were and what they were doing, and bring them back there.

Which framework, when?

You want to…Reach forWhy
Decide if a product idea is soundVitruvius / WalterChecks the order of needs: works, reliable, usable, then pleasurable
Review a screen in 20 minutesNielsen's tenShort, broad, well known; built for quick reviews
Design a multi-step flowShneidermanClosure, reversal and control are flow-level qualities
Polish interaction detailsTognazziniDefaults, latency, Fitts, state tracking are concrete
Judge overall product qualityRamsCovers honesty, longevity and footprint, which the others skip
Watch out

Checklists find problems in what exists. They do not tell you what to build, and a screen can pass all ten heuristics and still be useless. Use them after you have decided what the product is for.

Key idea

Frameworks are lenses. Each one makes certain problems visible. A good designer owns several and knows which to pick up.

For the solo creator

Print Nielsen's ten and Shneiderman's eight on one page and keep it beside your screen. Before every release, spend fifteen minutes walking through the changed screens with that page. It is the cheapest review you will ever get, and it catches the problems your own familiarity hides.

Do

  • Secure firmness (no data loss, no crashes) before investing in delight.
  • Give every multi-step flow a clear ending.
  • Choose defaults that most people would pick, and make them easy to override.
  • Use heuristics to review; use research and strategy to decide.

Don't

  • Treat a passed heuristic review as proof the product is good.
  • Add animation or personality to cover reliability problems.
  • Cite a heuristic to win an argument with yourself; cite the user's problem.

In the wild

  • Mailchimp2000s and 2010s
    Aarron Walter worked on Mailchimp's user experience, and the product became known for a friendly voice and small moments of humor placed on top of a dependable tool. Personality layered on reliability, not instead of it.
  • macOS Finder corners and menu barApple
    The menu bar sits at the top edge of the screen, so you can throw the pointer upward and it stops on the menu. Tognazzini often used this as a Fitts's law example. Edges are big targets for free.
  • Stripe CheckoutStripe
    Card fields format as you type, catch common errors inline, and show a clear success state. Error prevention, recovery and closure in one small flow.

Common mistakes

Heuristics as a scorecard

Ticking boxes feels rigorous.

Write each finding as a specific problem with its severity and location ("Archive has no undo on the list screen: high"), not a pass/fail mark per heuristic.

Delight before firmness

Delight is fun to build and easy to show off.

Keep a "firmness list" (data loss risks, crash reports, slow paths) and clear it before any delight work.

Check yourself

After someone imports a CSV into your budgeting app, the app silently returns to the dashboard. Some rows failed to import, but nothing says so. Which rules does this break most directly?

Exercise 10.1 45 minutes · on your own product

A twenty-minute heuristic pass

  1. Set a 20-minute timer. Walk through your product's main flow with Nielsen's ten beside you.
  2. Log every problem as: location, heuristic, description, severity (low, medium, high).
  3. Do a second pass with Shneiderman's rules 4, 6 and 7 only (closure, reversal, control).
  4. Fix the highest-severity item.
You're done when: you have a log with at least eight findings, severities assigned, and one high-severity fix shipped.
BeginnerCompetentStrong
Findings are vague ("could be clearer").Findings are specific, located and rated.Also finds at least one firmness problem (data loss, unclear sync) that the heuristics alone would not have surfaced.
11

Three arguments: goals, humane interfaces, information software

Taught by Alan Cooper, Jef Raskin and Bret Victor

Cooper argued that you design for people's goals, not tasks or features. Raskin argued that interfaces should never waste human attention or harm human work. Victor argued that most software exists to show information, so interaction should be a last resort. Together they push you toward software that does more and asks less.

Alan Cooper: design for goals

Alan Cooper, often called the "father of Visual Basic" for the visual programming tool he sold to Microsoft, became one of the first prominent voices for interaction design as a profession. In About Face (1995) and The Inmates Are Running the Asylum (1999) he argued that software was hard to use because programmers designed it around how computers work, and he proposed goal-directed design.

The core distinction is between goals and tasks. Goals are end states people want and are fairly stable ("never miss a client payment"). Tasks are the steps a particular technology makes them do ("export CSV, open spreadsheet, filter by date"). Tasks change when technology changes; goals do not. Design for the goal, and you are free to eliminate tasks. Cooper also distinguished personal goals (not feeling stupid, not making mistakes) from practical ones, and pointed out that software that makes people feel stupid fails a goal they never state.

Goals stay; tasks are negotiable Goal: get paid on time Task-directed Export CSV Filter overdue Find emails Write reminder Track replies Goal-directed "3 overdue · Send reminders" (one tap, drafts ready)
Same goal, five tasks or one. When you design for the goal, the product absorbs the tasks.

Personas, and their limits

To keep goals concrete, Cooper introduced personas in Inmates: precise descriptions of hypothetical archetypal users, built from research, each with a name, context and goals. His argument was that designing for "the user" lets every feature in, because some imagined user always wants it (he called this the "elastic user"), whereas designing for one specific person forces choices.

Personas became hugely popular, and widely misused. Common failures: personas invented without research, full of demographic trivia (age, favourite coffee) that changes no decision; personas used to stereotype; and personas that sit in a slide deck and never affect a design. Many teams now prefer jobs-to-be-done statements and real interview notes. For a solo creator, the useful core of Cooper's idea is simple: design for one specific, real person's goals at a time, ideally a person you have actually talked to.

Perpetual intermediates

Cooper also observed in About Face that most users are neither beginners nor experts. People pass through the beginner stage quickly (or quit), and few ever invest enough to become experts. The majority settle as perpetual intermediates: they know the core features well and the rest vaguely.

Most people live in the middle (after Cooper) BeginnersPerpetual intermediatesExperts pass quicklydesign the main path for themfew, vocal
Optimize for the middle. Make beginners' first steps easy, give experts accelerators, but design the everyday experience for people who know the basics and not much more.

Jef Raskin: the humane interface

Jef Raskin started the Macintosh project at Apple in 1979 and later designed the Canon Cat. His book The Humane Interface (2000) defines an interface as humane if it is responsive to human needs and considerate of human frailties. Several of his ideas sharpen what you learned from Norman:

Locus of attention
People have only one locus of attention at a time. Anything outside it (a status bar message, a corner badge) may as well not exist. Put feedback where attention is.
Habituation
Any often-repeated action becomes automatic. People will habituate to pressing "OK" on a confirmation dialog, which is why confirmations fail. Design so habits are safe.
Modes
A mode is when the same action produces different results depending on a state that is not your locus of attention. Raskin considered modes a major source of errors. His alternative: quasimodes, states held only while you physically hold them (like holding Shift), which cannot be forgotten.
Monotony
Raskin used "monotony" for interfaces that offer one obvious way to do each thing, so habits form fast and reliably. Many redundant ways to do the same thing slow habit formation.
Protect the user's work
He framed this as a parody of Asimov's laws of robotics: a computer should never harm your work, or through inaction allow it to come to harm; and it should never waste your time or make you do more work than necessary.
Don't: a hidden mode
OVR Typing now overwrites text… The mode lives in a corner, outside the locus of attention.
Why it fails. The state that changes what typing does is shown where nobody looks. Classic mode error.
Do: a quasimode
Hold ⌘ to see shortcuts release to dismiss The state lasts only while you hold it.
Why it works. You cannot forget you are in a state your finger is holding. Some apps show their shortcut cheat sheet only while a key is held, for this reason.

Bret Victor: information software

In his 2006 essay Magic Ink: Information Software and the Graphical Interface, Bret Victor divided software into three kinds: information software (helping you learn something: what's on my calendar, when is the next train), manipulation software (helping you create: an editor, a design tool) and communication software. His claim was that most software people use is information software, yet it is designed like manipulation software, full of controls, forms and navigation.

Information software, he argued, is closer to graphic design than to machine design. Its job is to show the right data, arranged to answer the user's questions, using context (time, location, history) to infer what they want. Interaction is a cost the user pays when the software failed to infer; he titled one section "Interaction considered harmful". Victor illustrated this with a redesign of a San Francisco BART train-schedule widget that showed upcoming trains at a glance instead of asking for a query.

Raskin's "don't waste the user's time" and Victor's "interaction is a last resort" meet in the same place: every tap, field and menu must earn its existence. Try the difference below.

When is my next train?
Journey planner
Select station…
Select station…
dd/mm/yyyy
--:--
Search
Without: five interactions before any information. The software makes you describe what it could have guessed: where you usually go, at this time of day, today.
Key idea

Design for the goal, protect the attention, and show the answer. Every interaction you remove is a gift.

For the solo creator

Victor's argument is an argument for less code. A screen that shows the right thing needs no form, no validation, no results page and no empty state for "no search yet". Before building a form, ask: what could I infer from time, location, the last thing they did, or their data? You may delete a whole screen.

Do

  • Write the user's goal above every screen design.
  • Base any persona on a real person you have spoken to.
  • Design the main path for perpetual intermediates.
  • Use context and history to show answers before asking questions.
  • Replace persistent modes with quasimodes or visible state.

Don't

  • Invent personas full of demographics that change no decision.
  • Design around the experts who email you most.
  • Ask for information you already have or could infer.
  • Offer five ways to do the same thing "for flexibility".

In the wild

  • Weather appsApple Weather, Dark Sky (2012, acquired by Apple 2020)
    Open the app and your local forecast is already there; Dark Sky became known for hyperlocal "rain starting in 12 minutes" notices. Information software at its best: no query needed.
  • Google Maps commute cardsGoogle
    Maps can learn your home and work and show travel time to the likely destination before you search. Context replaces a form.
  • VimBram Moolenaar, 1991
    Built around modes (normal, insert, visual). Loved by experts who habituate to it, notoriously hard for newcomers. Modes trade learnability for power. Raskin's warning in action.
  • Things 3 "Today"Cultured Code, 2017
    Opens to what is due today, including calendar events, rather than to an empty list of projects. Show the answer to "what now?" by default.

Common mistakes

Persona theatre

Personas look like research and are fun to write.

Only keep attributes that change a design decision. If "age 34, loves yoga" changes nothing, delete it.

Forms by default

Developers think in inputs and outputs, so "ask, then answer" feels natural.

For each form field, ask whether you could infer it, default it, or remember it from last time.

Designing for your power-user self

You use your own product more than anyone, so you are an extreme expert.

Watch a perpetual intermediate use it, or use it yourself after a two-week break, and note what you had forgotten.

Check yourself

Your habit app opens to a "Log habit" form where people pick a habit from a dropdown, pick today's date, and press Save. What would Cooper and Victor most likely suggest?

Connect the ideas · Part three recap

Which pairing of ideas is most closely related?

Exercise 11.1 45 minutes · on your own product

Count and cut the interactions

  1. Write the top goal of your product's most common visit in one sentence.
  2. Count every interaction (tap, keystroke group, choice) between opening the app and reaching that goal.
  3. For each interaction, write whether it could be inferred, defaulted, remembered or removed.
  4. Redesign the path. Count again.
  5. Find one mode in your product. Can it become a quasimode or visible state?
You're done when: you have a before/after interaction count for the main visit and one mode redesigned.
BeginnerCompetentStrong
Counts the interactions accurately.Removes at least a third of them on paper.Ships the shorter path and checks it with a real user who is not you.
Part four

A process for one person

Big-company design processes assume researchers, workshops, reviews and hand-offs. You have none of those, and you do not need them. You need a small loop you can run every week: understand, decide, make it real at the right fidelity, check, ship. These three chapters give you that loop, a ladder of fidelities to choose from, and the thinking habits that keep a one-person studio honest.

12

The double diamond, for one

Taught by the UK Design Council, with Bill Buxton and Ryan Singer

Good design alternates between opening up (exploring many possibilities) and narrowing down (choosing one), twice: first to find the right problem, then to find the right solution. A solo creator can run both diamonds in a week.

The UK Design Council published the Double Diamond in 2005 after studying how design teams at large companies actually worked. It has four phases: Discover (explore the problem widely), Define (narrow to a clear problem statement), Develop (explore many solutions) and Deliver (narrow to one, test, ship). The shape matters more than the labels. It says that you should diverge before you converge, and that you should do it for the problem before you do it for the solution.

The double diamond (Design Council, 2005) DiscoverDefine DevelopDeliver divergeconvergedivergeconverge Design the right thing Design the thing right problem statement talk, observe, read support mail build, test, ship, learn
Two diamonds, one hinge. The problem statement in the middle is the most important artifact in the process. If you skip the first diamond, you are polishing a solution to a problem you guessed.

Divergence and convergence

The two motions need different mindsets, and mixing them is the most common way to stall. When you diverge, you defer judgment: quantity, variety, wild options, no "but that won't work". When you converge, you judge hard: criteria, constraints, kill your darlings. Trying to do both at once produces one cautious idea, judged before it was ever fully imagined.

Two motions, two mindsets Diverge: defer judgment Converge: judge hard
Separate them in time. Spend fifteen minutes only generating. Take a break. Then spend fifteen minutes only judging.

A one-person week

Here is the double diamond scaled to a solo creator with a product already in use. It assumes about one focused design hour a day alongside building; adjust to your rhythm.

  1. Monday, discover (60 min). Read the last week's support emails, reviews and analytics. Talk to or message one user. Use your own product for a real task. Write every observation as a fact, not a solution.
  2. Tuesday, define (45 min). Cluster the observations. Pick one problem. Write a problem statement: "[Person] trying to [goal] struggles with [obstacle], which causes [consequence]."
  3. Wednesday, develop (60 min). Sketch at least five solutions on paper, of different kinds (chapter 3). Pick two. Make each just real enough to judge (chapter 13).
  4. Thursday, deliver (build time). Build the stronger one, in code, at the lowest fidelity that can ship.
  5. Friday, check and ship (45 min). Use it yourself on a real task. If possible, watch one person use it. Ship it, note it in your changelog, and write what you will look for next week.
Don't: the straight line
Request:"add folders" Folders built No problem statement, one option. The real problem (can't find notes) remains.
Why it fails. The request was a solution. Building it without diverging skips the question of what problem it solves.
Do: two small diamonds
why folders? search, pins,tags, folders Problem: "can't find old notes fast". Shipped: better search + pinning.
Why it works. Asking "why" turned a feature request into a problem, and the problem had a cheaper, better answer.

Fixed time, variable scope

Ryan Singer's Shape Up (Basecamp, 2019) adds a useful twist for small teams: decide the appetite first (how much time is this problem worth: two days? two weeks?) and then shape a solution that fits it, instead of estimating how long a fixed solution will take. For a solo creator this is a lifesaver. It turns "how long will this take?" (unknowable) into "what is the best solution I can build in three days?" (a design question).

Key idea

Diverge, then converge, on the problem first and the solution second. Fix the time, flex the scope.

For the solo creator

Your discover phase does not need a research budget. It needs a habit: a folder or note where every user message, review and observation lands, and a weekly hour to read it. Ten real messages a week will teach you more than any persona workshop. Guide 15 covers testing alone in detail.

Do

  • Write a problem statement before sketching solutions.
  • Treat feature requests as clues to a problem, not as specifications.
  • Separate generating time from judging time.
  • Set an appetite before shaping a solution.

Don't

  • Treat the double diamond as a months-long project plan.
  • Skip the first diamond because "I already know the problem".
  • Judge ideas while you are still generating them.
  • Estimate a fixed scope and then let it grow.

In the wild

  • Basecamp's Shape UpRyan Singer, 2019
    Six-week cycles, work shaped at the right level of abstraction (rough but solved), and a cool-down between cycles. Published free online. Process designed for small teams that build what they design.
  • Superhuman onboardingSuperhuman, late 2010s
    The email app became known for one-on-one onboarding calls with new users in its early years. Each call doubled as discovery research. Discovery can be built into the way you serve customers.
  • Indie Mac and iOS appsmany
    Solo developers often run public changelogs and feedback boards, and some develop in public on social media, collecting reactions to rough ideas before building them. Cheap, continuous divergence with real people.

Common mistakes

Endless discovery

Research feels safe; deciding feels risky.

Time-box discovery. One hour, then you must write a problem statement, even an imperfect one.

The solution in disguise

Problem statements often sneak a solution in ("users need folders").

If the statement names a feature, rewrite it as an obstacle ("users can't find notes older than a month").

Converging too early

The first idea that seems workable ends the exploration.

Set a minimum: five sketches before you are allowed to pick.

Check yourself

Five users ask for a dark mode in your reading app. Using the double diamond, what should you do first?

Exercise 12.1 one week, about 5 hours · on your own product

Run one solo week

  1. Follow the Monday to Friday plan above for one real problem in your product.
  2. Keep all artifacts: observations, problem statement, five sketches, the chosen design, notes from Friday's check.
  3. On Friday, write three lines: what you learned about the problem, about the solution, and about your process.
You're done when: one change has shipped with a written problem statement, five sketches and a short retrospective behind it.
BeginnerCompetentStrong
Follows the steps; the problem statement names a solution.Clean problem statement; five genuinely different sketches.Friday's check changes the design or the next week's plan in a specific, recorded way.
13

The fidelity ladder

Taught by Bill Buxton, with Bret Victor

Every representation of a design (sketch, wireframe, mockup, prototype, code) answers different questions at a different cost. Choose the lowest fidelity that can answer the question you have right now, and climb only when you need to.

Bill Buxton's Sketching User Experiences (2007) makes a distinction every designer should carry: a sketch and a prototype are not just rough and polished versions of the same thing. A sketch is for exploring: it is quick, cheap, disposable, plentiful and deliberately ambiguous, and it invites questions. A prototype is for testing: it is more refined, more expensive, more specific, and it seeks answers. You make many sketches to find a direction, and a few prototypes to check it.

Fidelity has costs in both directions. Too low, and you cannot judge what matters (a paper sketch cannot tell you whether an animation feels fast). Too high, and you have spent time on details that will be thrown away, and you become attached to them. Worse, high fidelity invites the wrong feedback: show someone a polished mockup and they will comment on colors, not on whether the flow makes sense.

Lab: one screen, five fidelities
search? mins left swipe =archive?
Sketch. Answers: what goes on this screen, roughly where? Is this even the right screen? Cheap enough to make ten. The wobbly lines are a feature: they say "not decided", which invites ideas rather than nitpicks.

What each rung is for

FidelityAnswersCan't answerTypical cost
Sketch (paper, whiteboard)Which screens? What's on them? Which of ten directions?Does it feel right? Will it fit?Minutes each
Wireframe (grayscale boxes)Layout, hierarchy, flow between screensVisual tone, real content length, timingUnder an hour per screen
Mockup (static, polished)Look, type, color, real content fitHow it behaves, how it feels in motionHours
Prototype (clickable or animated)Can people find their way? Does the transition make sense?Real data, performance, edge casesHours to a day
Code (real app, real data)Everything, including speed, real content and edge casesNothing, but it is the most expensive to changeDays
Higher fidelity: fewer, costlier variations SketchWireframeMockupPrototypeCode cost per variation variations you can afford
Explore low, confirm high. Most of your divergent thinking belongs at the left of this chart. By the time you write code, you should be confirming, not exploring.

When to skip rungs, and designing in code

The ladder is not a staircase you must climb step by step. Skip rungs when the question you have can only be answered higher up, or when a higher rung is cheap for you. Three common cases:

  • Skip to code for feel. Scrolling, gestures, animation timing and performance cannot be judged in static images. If the core question is "does it feel fast?", build a thin slice in code.
  • Skip mockups when you have a system. Once you have type, color and spacing tokens and a set of components, a wireframe plus your system is effectively a mockup. Many solo creators go sketch → code.
  • Never skip the sketch. It costs minutes and it is the only rung where you can afford ten directions. Skipping it means your first idea becomes your only idea.

Designing in code is a real advantage for a developer-designer: real data, real content lengths, real speed, and no translation step. The risk is that code makes changes feel expensive, so you stop exploring, and that you design what is easy to build instead of what is right. The fix is discipline: sketch at least three options on paper first, then build the one you choose, and use throwaway branches for experiments so nothing feels precious.

Don't
"Love the yellow!" "Font a bit big?" Nobody asks ifthe flow is right.
Why it fails. High polish pulls feedback to the surface plane, while the open question was about structure.
Do
"Why two steps?" "I'd expect it here" Rough sketches make people talkabout flow and purpose.
Why it works. Unfinished-looking work signals that big changes are still welcome, so feedback lands where it is useful.
Key idea

Match fidelity to the question. Sketch to explore, prototype to test, code to confirm and ship.

For the solo creator

Keep a paper notebook (or a cheap tablet with a pen) next to your keyboard. When you catch yourself opening the editor to "try an idea", stop and sketch three versions first. It takes five minutes and it is the single habit most likely to improve your designs. Bret Victor's later talks argue that creators need an immediate connection to what they make; for layout and flow questions, a pen gives you exactly that.

Do

  • Write the question before choosing the fidelity.
  • Sketch at least three options before any digital work.
  • Go straight to code for questions of feel, speed and real data.
  • Use throwaway branches for exploration in code.

Don't

  • Polish a mockup to answer a flow question.
  • Ask for feedback on structure with a pixel-perfect screen.
  • Treat each rung as mandatory.
  • Let "it's already built" decide what is right.

In the wild

  • Paper prototypinglong-standing practice; see Carolyn Snyder, 2003
    Teams test whole flows with paper screens a person "operates" by swapping sheets. Snyder's book Paper Prototyping documented the method. You can test navigation before writing any code.
  • Figma prototypesFigma
    Linking frames with transitions turns static mockups into clickable prototypes in minutes, good for testing navigation and order. The prototype rung has become cheap; use it for flow questions.
  • SwiftUI previews and hot reloadApple, 2019; Flutter, React tooling
    Live previews make code feel closer to a sketching medium for many developers. Fast feedback tools move code down the cost curve, which makes designing in code more viable.

Common mistakes

Pixel-perfect too early

Polish feels like progress and looks good in a portfolio.

Ban color and real fonts until the flow is settled. Use gray boxes and one weight.

Never leaving paper

Some questions (speed, feel, real content) cannot be answered on paper, but staying there feels safe.

As soon as your question is about feel or real data, build a thin slice in code.

Lorem ipsum

Placeholder text is easy.

Use real or realistic content as early as the wireframe, including the longest title and the empty list.

Check yourself

You want to know whether a swipe-to-archive gesture feels satisfying and is discoverable on your list screen. Which fidelity is the best fit?

Exercise 13.1 60 minutes · on your own product

Climb the ladder on purpose

  1. Pick one screen you want to improve. Write the question you most need answered.
  2. Sketch ten thumbnails in 15 minutes (no erasing).
  3. Pick three. Turn them into grayscale wireframes with real content.
  4. Pick one. Decide which rung answers your question (mockup, prototype or code) and build it there.
  5. Write what each rung taught you that the previous one could not.
You're done when: you have ten thumbnails, three wireframes, one higher-fidelity artifact, and a short note on what each rung revealed.
BeginnerCompetentStrong
Ten thumbnails, but variations of one layout.Genuinely different directions; fidelity chosen to fit the question.The higher rung revealed something that changed the design, and you can say why the lower rung missed it.
14

Thinking like a designer, alone

Taught by Don Norman, Larry Tesler and Ryan Singer, with Taiichi Ohno's five whys

Design thinking for a soloist comes down to four habits: frame the problem before solving it, use constraints as tools, make trade-offs explicitly, and spend craft where it compounds. Every decision has a cost that keeps growing after you make it.

Framing: the problem behind the request

Norman argues that designers should never start by solving the problem they were given, because the stated problem is usually a symptom. A simple tool for getting underneath it is the "five whys" associated with Taiichi Ohno and the Toyota Production System: ask why a problem happens, then why that happens, a few times over, until you reach a cause you can design for. Five is a rule of thumb; stop when the answer becomes something you can act on.

Reframing a request with "why?" Request: "Add CSV export to the time tracker" Why? "To send my hours to clients." Why CSV? "They want a breakdown by project." Why a breakdown? "To approve my invoice." Real problem: getting invoices approvedquickly, with proof of hours CSV exportPDF reportShareable linkInvoice withhours attached Solutions
Each "why" widens the solution space. CSV export solves the surface request. An invoice with a project breakdown attached solves the real job, and might make the export unnecessary.

Another framing tool is the "How might we…" question, popularized by design consultancies such as IDEO. "How might we help freelancers get invoices approved faster?" is open enough to allow many answers and narrow enough to act on. Compare it with "How might we add export?" (too narrow, a solution in disguise) and "How might we help freelancers?" (too broad to start).

Constraints as tools

Chapter 3 treated constraints as facts you must accept. You can also choose them on purpose, as creative tools. A self-imposed constraint shrinks the search space and forces originality. Some that work well for software:

  • One screen. What if the whole product had to fit on one screen? You will discover what is essential.
  • No settings. Every setting you want to add must become a good default instead.
  • One typeface, two sizes, one accent. Hierarchy must come from position, weight and space.
  • Works offline first. Forces a clear data model and honest sync states.
  • Three-day appetite. The best version you can build in three days, not the ideal version.

Trade-offs: every design is a compromise

No design maximizes everything. Simplicity trades against power. Speed of building trades against polish. Flexibility trades against learnability. The designer's job is not to avoid trade-offs but to make them on purpose and say which way they went.

Pick your point, knowingly Simple to usePowerful, flexibleQuick to build focused writing appsimple, slow to perfect all-in-one workspacepowerful, harder to learn weekend prototype Moving toward one corner moves you away from the others.
A map, not a scorecard. Each point is a legitimate product. Trouble starts when you claim to be at all three corners, or drift without deciding.

Larry Tesler, the computer scientist known for cut, copy and paste and for his work at Xerox PARC and Apple, gave this a sharper form, often called Tesler's law or the law of conservation of complexity: every application has an inherent amount of complexity that cannot be removed, only moved. The question is whether the user deals with it or the system (and its designer) does. A timezone-aware calendar is complex; you can either make each user think about timezones, or absorb that complexity in the code so they never have to.

Good enough versus craft

You cannot polish everything. A solo creator who tries will never ship. But a product with no polish anywhere feels careless. The answer is to concentrate craft where it compounds: on the hot path, the few screens and actions people use every single session. A rough edge in the export dialog, seen twice a year, costs little. A rough edge in the main list, seen fifty times a day, costs a lot.

Don't: even polish
Craft hours per screen ListReaderSettingsExportAbout
Why it fails. The About screen got as much care as the list people see fifty times a day.
Do: craft on the hot path
Craft hours per screen ListReaderSettingsExportAbout
Why it works. Craft follows usage. The rest are "good enough": correct, clear, consistent, not lavished.

"Good enough" still has a floor. Every screen must be correct, clear and consistent with your system. It is the extra layer (custom motion, perfect empty-state illustrations, bespoke micro-interactions) that you ration.

The cost of a decision over time

An old observation in software engineering, associated with Barry Boehm's work in the 1970s and 1980s, is that the later a problem is found, the more it costs to fix. Design decisions follow the same curve. Changing your mind on a sketch costs seconds. Changing it after launch costs code, migration, documentation, user re-learning, and sometimes trust. And every feature carries an ongoing cost after it ships: maintenance, support, testing, and the attention it takes from everything else on screen.

What it costs to change your mind IdeaSketchCodeShippedUsers + data secondsminuteshours to daysdays + supportmigration, re-learning, trust cost of change
Decide early, cheaply, and on paper. The curve is why the first diamond and the sketch rung matter so much: they move decisions to the flat part of the curve.
Key idea

Complexity is conserved, polish is rationed, and decisions get more expensive every day. Frame first, choose the trade-off, then spend your craft where people live.

For the solo creator

Keep a "carrying cost" column in your feature list: for each feature, how many support emails, bugs and minutes of maintenance it costs per month. Features with high carrying cost and low use are candidates for removal. Removing a feature is a design decision too, and often the best one available to a person with limited hours.

Do

  • Ask "why?" until you reach a problem you can design for.
  • Pick one or two self-imposed constraints per project.
  • Write down which way each trade-off went.
  • Absorb complexity in the system when it would otherwise land on every user.
  • Concentrate craft on the hot path.

Don't

  • Solve the request as stated without understanding it.
  • Promise simple, powerful and quick to build all at once.
  • Push complexity onto users through settings to avoid deciding.
  • Polish rarely-seen screens while the main list has rough edges.

In the wild

  • Apple Photos "Memories"Apple, 2016
    Grouping photos into events and stories is complex (faces, places, dates), but the app absorbs it so the user just scrolls. Tesler's law: complexity moved from user to system.
  • Notion2016 onward
    Chose power and flexibility (blocks, databases, relations), accepting a steeper learning curve and offering templates to soften it. A deliberate point on the triangle, with compensation for what it gave up.
  • Craigslist1995 onward
    Very little visual craft, but fast, predictable and focused on its core path for decades. "Good enough" surface on a firm, useful core can last a very long time.

Common mistakes

Settings as indecision

Adding a toggle lets you avoid choosing between two good options.

Choose a default. Add a setting only if real users with real needs require both, and even then, consider whether it belongs in the product at all.

Uniform polish

Perfectionism is not selective.

List screens by frequency of use. Assign a craft budget per screen, top-heavy.

Forgetting carrying costs

Features are celebrated when shipped, never when maintained.

Review your feature list every quarter with a "keep, improve, remove" verdict for each.

Check yourself

Your meeting scheduler asks every user to set their timezone, and then asks invitees to convert times themselves. Users complain. What does Tesler's law suggest?

Connect the ideas · Part four recap

You have three days. A user asks for "tags" in your notes app. Which plan uses Part four best?

Exercise 14.1 45 minutes · on your own product

Trade-off and craft map

  1. Place your product on the trade-off triangle. Write one sentence explaining the position.
  2. List your screens by how often people see them. Mark the top three as your hot path.
  3. For each hot-path screen, list three rough edges. Fix the worst one this week.
  4. Find one place where complexity lands on the user (a setting, a manual step). Write how the system could absorb it.
  5. Take one open feature request and run five whys on it.
You're done when: you have a triangle position with rationale, a ranked screen list with hot path marked, one fix shipped, and one reframed request.
BeginnerCompetentStrong
Triangle position stated without evidence.Hot path backed by usage data or a reasoned estimate; reframed request reveals a different problem.Also removes or merges one low-use, high-cost feature, and records the decision.
Part five

Seeing like a designer

Designers see more because they have words for more. This last part gives you the vocabulary, a repeatable way of looking at any screen, the language of useful critique, and a plan for training your taste. These are the skills that keep improving long after you finish the course.

15

The designer's vocabulary

A working glossary, drawn from the whole canon

Precise words let you see precise problems. "It feels off" cannot be fixed; "the primary action has weaker contrast than the secondary one" can. Learn these terms and use them in your notes, your critiques and your decisions file.

The glossary below has about fifty terms, grouped so that related ideas sit together. Each links to the guide where it is taught in depth. You do not need to memorize it in one sitting. Read it once now, then use the flashcard exercise at the end of the chapter to make it stick. The full course glossary lives in the Reference Library.

Six families of design words Mindmental model, load,recall, attention,habituation Interactionsignifier, mapping,feedback, state,mode, affordance StructureIA, flow, hierarchy,progressivedisclosure Visualgrid, contrast,rhythm, measure,whitespace Processfidelity, wireframe,prototype, appetite,problem statement Qualityheuristic, edge case,dark pattern,perceived speed
Group words to remember them. When you critique a screen, walk through the families in order: mind, interaction, structure, visual, then process and quality.

Mind and perception

Mental model
A person's internal explanation of how something works. Formed from experience and the system image (chapter 6).
Conceptual model
The simplified explanation the designer intends people to form; ideally the mental model matches it.
Cognitive load
The mental effort a task demands. Extraneous load (caused by poor design) is the kind you can remove. See The Human Mind.
Recognition versus recall
Recognizing an option you can see is far easier than recalling it from memory (chapter 8).
Locus of attention
Raskin's term for the single thing a person is attending to right now (chapter 11).
Habituation
Repeated actions become automatic, including dismissing warnings.
Preattentive attributes
Visual properties (color, size, orientation, motion) noticed in a fraction of a second, before focused attention.
Gestalt principles
Perceptual grouping rules (proximity, similarity, closure, continuity, common region) that explain why some layouts read as groups. See Visual Design.
Fitts's law
Time to hit a target grows with distance and shrinks with size (chapter 10).
Hick's law
Decision time grows with the number and complexity of choices (roughly logarithmically for equally likely choices).
Jakob's law
Nielsen's observation that users spend most of their time on other products, so they expect yours to work the same way.

Interaction

Affordance
The relationship between an object and a person that makes an action possible (chapter 4).
Signifier
A perceivable cue that tells people what action is possible and where.
Mapping
The relationship between controls and their effects; natural when the layout matches (chapter 5).
Constraint
A limit that guides people toward correct actions: physical, cultural, semantic or logical.
Feedback
Communication of the result of an action, ideally within 0.1 s.
Feedforward
Information before an action about what will happen if you take it (a button label that says "Delete 3 files", a preview while dragging).
State
The condition of an element or the system at a moment: default, hover, focus, pressed, disabled, loading, error, empty, success.
Mode / quasimode
A mode changes how the same input is interpreted; a quasimode does so only while held (chapter 11).
Direct manipulation
Acting on visible objects with immediate, reversible results (dragging a file, resizing a window), described by Shneiderman in the early 1980s.
Microinteraction
A small, contained moment built around a single task (a toggle, a like, a pull-to-refresh). Named and described by Dan Saffer in his 2013 book.
Progressive disclosure
Showing only what is needed now and revealing advanced options on request.
Hit target
The area that responds to a tap or click, which can be larger than the visible element.

Structure

Information architecture (IA)
How content and functions are organized, labelled and connected so people can find them. See Structure & Interaction.
Navigation
The means of moving between places: tabs, sidebars, stacks, search, links.
Flow
A sequence of screens and actions that completes a task (also, separately, Csikszentmihalyi's state of absorbed focus).
Happy path
The flow when everything goes right. Designing only this is a classic mistake.
Edge case
An unusual but possible situation: empty data, huge data, very long text, no network.
Empty state
What a screen shows when there is nothing to show yet. Prime space for signifiers and teaching.
Primary action
The one most important action on a screen, given the strongest visual weight.
Object model
The nouns of your product and their relationships (a project contains tasks), on Garrett's structure plane.

Visual

Visual hierarchy
The order in which the eye perceives elements, set by size, weight, contrast, color and position.
Grid
An underlying structure of columns and rows that aligns elements.
Whitespace (negative space)
Empty space that separates, groups and gives rest. It is a material, not leftover.
Alignment
Placing elements along shared edges or axes; the cheapest way to look ordered.
Contrast
Difference between elements (in size, weight, color, luminance) that creates emphasis. Also, specifically, the luminance contrast ratio used for legibility (WCAG). See Accessible & Inclusive.
Rhythm
Repetition of spacing and sizes that makes a layout feel coherent.
Density
How much information fits in a given space; a deliberate choice, not a fixed virtue.
Type scale
A set of related font sizes used consistently. See Typography.
Measure
Line length in characters; comfortable body text is often cited around 45 to 75 characters.
Leading (line height)
Vertical distance between lines of text.
Skeuomorphism
Imitating physical materials and objects in UI (stitched leather, paper textures), dominant in early iOS until 2013.
Flat design
A style that removes simulated depth and texture; risks losing signifiers if taken too far.

Process and system

Fidelity
How closely a representation resembles the final product (chapter 13).
Wireframe, mockup, prototype
Structural layout; static visual design; interactive simulation.
Problem statement
A sentence naming who, which goal, which obstacle and what consequence, with no solution inside.
Jobs to be done (JTBD)
A framing in which people "hire" a product to make progress in a situation. See Problems Worth Solving.
Persona
A research-based archetype of a user, with goals (chapter 11).
Appetite
The amount of time a problem is worth, set before shaping a solution (Shape Up).
Design system
A set of reusable decisions (tokens, components, patterns, guidelines). See Systems & Platforms.
Design token
A named design value (color, spacing, radius) stored as data so it can be used consistently in code.
Component
A reusable interface building block with defined states and variants.

Quality and ethics

Heuristic evaluation
Reviewing an interface against a set of rules of thumb, such as Nielsen's ten (chapter 10).
Usability
How effectively, efficiently and satisfyingly people can use something to reach a goal (the ISO 9241-11 definition).
Perceived performance
How fast something feels, which can differ from how fast it is. See Motion & Feel.
Dark pattern (deceptive pattern)
A design that tricks people into actions against their interests; term coined by Harry Brignull in 2010. See Honest & Calm.
Accessibility
Designing so people with disabilities can perceive, operate and understand the product; guided by WCAG.
Calm technology
Technology that informs without demanding attention, from Mark Weiser and John Seely Brown's work at Xerox PARC in the 1990s.
Don't: vague notes
"The settings page feels cluttered."
"Something about the button is off."
"Onboarding is confusing."
Why it fails. True, perhaps, but there is nothing to act on. You will redesign at random.
Do: precise notes
"Settings: 14 toggles, no grouping by object; proximity is uniform so nothing reads as a group."
"Save has lower contrast than Cancel; hierarchy is inverted."
"Step 2 asks for recall of a code shown in step 1."
Why it works. Each note names the mechanism (grouping, hierarchy, recall), which points straight to a fix.
Key idea

A problem you can name is a problem you can fix. Vocabulary is a seeing tool, not jargon.

For the solo creator

Use these words in commit messages and your decisions file ("Increase hit target of row actions to 44 pt; fixes slips on mobile"). Over months, your history becomes a searchable record of design reasoning, and the vocabulary becomes second nature.

Do

  • Name the mechanism, not just the feeling.
  • Use the same term for the same concept every time.
  • Learn ten terms a week with active recall.

Don't

  • Use jargon in your product's UI; this vocabulary is for thinking, not for users.
  • Use "intuitive" as an explanation. Say what makes it learnable (signifiers, convention, mapping).
  • Treat "clean" as a design quality; say what is aligned, grouped or removed.

In the wild

  • Apple Human Interface GuidelinesApple, since the 1980s
    A long-running public vocabulary for platform behavior (sheets, popovers, modality, hierarchy). Platform guidelines are a free, shared vocabulary; read them.
  • Material DesignGoogle, 2014
    Introduced a named, documented system of components, elevation and motion that many teams adopted as shared language. Named components make design discussable.
  • Laws of UXJon Yablonski, website and later a book
    Collects psychology principles (Fitts, Hick, Jakob, Miller and more) with short explanations. A handy reference for the "mind" family of terms.

Common mistakes

"Intuitive" as a goal

It sounds right and means nothing specific.

Replace it with testable properties: "a new user completes X without help in under a minute".

Learning words without applying them

Reading a glossary feels productive.

Use each new term in a real note about a real screen within 24 hours.

Check yourself

On your pricing page, people often click "Compare plans" when they meant to click "Start free trial", because both look identical and sit side by side. Which description is the most precise?

Exercise 15.1 20 minutes a day for a week

Vocabulary flashcards, on real screens

  1. Make a flashcard for each term (term on one side, your own definition and an example from your product on the other).
  2. Each day, test yourself on ten cards before looking. Put missed cards back in the pile.
  3. Each day, write three critique notes about any app you used, each using at least one term precisely.
You're done when: you can define 40 terms from memory with an example each, and you have 21 critique notes.
BeginnerCompetentStrong
Definitions copied from this page.Definitions in your own words with your own examples.Critique notes name the mechanism and a specific fix every time.
16

How to look at software

Taught by Adam Connor and Aaron Irizarry on critique, with painters' studio habits

Designers see more than other people because they look in a fixed order, with named questions, and write down what they see. Use a ten-point observation sequence on any screen, keep a swipe file of what works, and critique against objectives rather than taste.

Most people look at an app the way they look at a face: all at once, with an overall impression ("nice", "messy"). That impression is real data, but it is not usable. A designer slows the looking down into separate passes, each asking one question. After a few weeks of practice, the passes run in parallel in a few seconds, and you start noticing things you have walked past for years.

The ten-point observation sequence

Ten things to look at, on one screen Reading Synced Search 128 articles The case for slow software craft.blog · 8 min Notes on reading on screens type.journal · 12 min How we pick defaults studio.notes · 5 min · read A short history of undo ui.history · 15 min · read + Save link 1 2 3 4 5 6 7 8 9 10 1 PurposeWhat job is this screen for? The title says "Reading". 2 First glanceWhere does the eye land? Unread titles in bold. 3 HierarchyTitle over source over time: three clear levels. 4 AlignmentText shares one left edge (dashed line). 5 Spacing and groupingRows separated by rules and even rhythm. 6 TypeOne family; weight marks unread vs read. 7 ColorOne accent, used only to mean "unread". 8 Actions and signifiersOne filled primary button, in thumb reach. 9 Words"Search 128 articles" says scope and size. 10 States"Synced" shows system status; what if offline?
A schematic, illustrative reading app. The numbers mark where each question is answered. Run the same ten questions, in order, on any screen you study.
  1. Purpose. What is this screen for, in one sentence? Whose goal? If you cannot tell, that is the first finding.
  2. First glance. Look for two seconds, look away. What did you see first, second, third? Is that the order the purpose needs?
  3. Hierarchy. How many levels of importance are there? How is each level marked (size, weight, color, position)?
  4. Grid and alignment. Trace the shared edges. Count how many different left edges there are. Fewer is calmer.
  5. Spacing and grouping. Which things look related? Is it because they are near each other, or boxed together, or similar? Are spacing values repeated?
  6. Type. How many families, sizes and weights? What does each one mean?
  7. Color and contrast. What does each color mean? Is the accent reserved for one meaning? Is text contrast sufficient?
  8. Actions and signifiers. What can you do here? What is the primary action? Can you tell what is clickable without hovering?
  9. Words. Read every label. Are they verbs for actions, nouns for things? Do they use the user's language?
  10. States and edges. Imagine it empty, loading, offline, with 10,000 items, with a 120-character title. Which states have been designed?
For the solo creator

Do one ten-point pass a day on an app you use, written in a small notebook or a text file. It takes ten minutes. After a month you will have thirty analyses and, more importantly, the sequence will be automatic. Then run it on your own product once a week. You will see your own screens as a stranger would.

Self-critique tricks that create distance

You cannot see your own work fresh, because you know what it is supposed to be. Painters have long used tricks to break that familiarity, such as looking at a canvas in a mirror. Screen equivalents:

TrickHowWhat it reveals
Squint or blurBlur a screenshot until text is unreadableHierarchy and grouping, without the distraction of content
GrayscaleRemove color from a screenshotWhether hierarchy depends on color alone
MirrorFlip the screenshot horizontallyBalance and alignment problems your eye had normalized
TinyView at 25% size, or across the roomWhether the primary action and focal point still stand out
OvernightWait 24 hours before judgingFresh eyes; the "obvious" things that are not
Side by sidePlace your screen next to one you admireSpacing, type and density gaps, honestly

Keeping a swipe file

A swipe file is a collection of examples you have found good (or instructively bad), with notes on why. Copywriters have kept them for a century; designers keep them as screenshots. The collection is not the point; the notes are. A screenshot without a note is a souvenir. A screenshot with "empty state teaches the main gesture in one line, uses the same illustration style as onboarding" is a lesson.

Don't: a pile
IMG_48IMG_49ScreenIMG_50 no notes,no tags
Why it fails. In three months you will not remember why you saved any of them, or find the one you need.
Do: a library
empty-state / things3Teaches the main actionin one calm line. undo / gmailToast near the action,Undo is the only button.
Why it works. Named by pattern and product, with a note on the mechanism. Searchable and reusable when you face the same problem.

A simple system: one folder (or a tool such as Eagle, Are.na or a notes app), file names in the form pattern--product--detail, and a one-sentence note per item naming the mechanism. Patterns to collect first: empty states, onboarding, settings, errors, confirmations and undo, search, lists, paywalls, and any screen that made you feel calm. Reference libraries of app screens, such as Mobbin, are useful for breadth, but your own annotated file is what trains your eye.

The language of critique

Critique is analysis against objectives. In Discussing Design (2015), Adam Connor and Aaron Irizarry distinguish critique from both praise and judgment, and propose a simple structure of questions:

  1. What is the objective of this design (for this screen, for this user, right now)?
  2. Which elements of the design relate to that objective?
  3. Are those elements effective at achieving it?
  4. Why, or why not?

This structure works for self-critique too, and it changes the tone of the conversation you have with yourself. "This is ugly" becomes "The objective is to start reading quickly; the large header pushes the first article below the fold; that delays the main job". The second version contains its own fix.

Don't: reaction
"I don't like the onboarding. Too long. Make it more modern."
Why it fails. A preference, not an analysis. No objective, no element, no reason.
Do: critique
"Objective: get a first article saved. Elements: four intro slides, then sign-up. Effective? No: nothing is saved until step 6. Why: the value comes after the cost. Try: let them save first, sign up later."
Why it works. Objective, elements, effectiveness, reason, and a direction to try.
Key idea

Look in passes, write it down, and judge against the objective. Taste grows from structured looking, not from staring.

Do

  • Use the same ten-point sequence every time until it is automatic.
  • Write a one-line "why it works" note for every swipe-file item.
  • Critique against an objective, in the order objective, elements, effective, why.
  • Use distance tricks on your own screens.

Don't

  • Save screenshots without notes.
  • Judge your own work right after making it.
  • Confuse "I like it" with "it works".
  • Only collect beautiful screens; bad ones teach just as much.

In the wild

  • Mobbinscreen reference library
    A large, searchable library of screenshots and flows from real apps, organized by pattern. Good for breadth when you face a pattern you have not designed before.
  • Pixar's Braintrustdescribed in Ed Catmull's Creativity, Inc., 2014
    A group of experienced filmmakers who give candid notes on films in progress, with the director free to accept or reject them. Critique focused on the work's goals, not on the person, makes it better.
  • Design teardownsmany writers and newsletters
    Long-form breakdowns of a single product's onboarding or pricing page. Guides 18 to 20 of this course are teardowns. Reading others' structured looking teaches you to do it.

Common mistakes

Collecting instead of studying

Saving screenshots feels like learning.

Limit yourself to three swipes a day, each with a note. Review the file weekly and copy one item into your product's context (as a sketch).

Only looking at surfaces

Visual polish is the first thing you see.

Force passes 1, 8, 9 and 10 (purpose, actions, words, states), which are invisible in a glance.

Harsh or vague self-critique

Solo work has no outside voice, so the inner one swings between "it's great" and "it's terrible".

Use the four-question structure. It replaces mood with analysis.

Check yourself

You run the blur test on your dashboard. With text unreadable, the three most prominent shapes are the logo, a decorative illustration and a "Help" button. The "New invoice" button is barely visible. Which pass of the sequence does this mainly inform, and what follows?

Exercise 16.1 30 minutes, then 10 minutes a day

Start your swipe file and your looking habit

  1. Create a swipe-file folder with the naming scheme above.
  2. Add five items today: two empty states, one error, one settings page, one screen that felt calm. Write the mechanism note for each.
  3. Run the ten-point sequence on one of them in writing.
  4. Every day for two weeks: one swipe with a note, one ten-point pass.
  5. At the end, write a critique of your own main screen using objective, elements, effective, why.
You're done when: your swipe file has at least 19 annotated items, you have 14 ten-point passes, and a structured critique of your own main screen.
BeginnerCompetentStrong
Items collected with brief, generic notes.Notes name mechanisms; passes cover all ten points.The self-critique leads to a change you ship, and you can point to the swipe item that inspired it.

Checklist: the Foundations audit of your product

Purpose and planes
Norman
Rams and the canon
Practice
17

Taste, and how to train it

Taught by Ira Glass, Paul Graham and Benjamin Franklin, with every master you choose to study

Taste is trained judgment: the ability to tell whether a design fits its purpose, and why. It is built by looking closely at a lot of good work, making a lot of your own, and comparing the two honestly. For years your taste will run ahead of your skill. That gap is normal, and the only way through it is volume.

What taste is, and what it is not

Taste is often treated as a mysterious gift or as mere preference. It is neither. Paul Graham's essay "Taste for Makers" (2002) argues that there really is good and bad taste in making things, and lists qualities that good designs tend to share: they are simple, timeless, solve the right problem, look easy, and are often redesigns of something earlier. You can disagree with his list and still accept the main point: taste can be wrong, which means it can improve.

The practical distinction is between preference (what you like) and judgment (what works for this purpose and these people). Good designers hold both and know which they are using. You may personally love dense, dark, information-heavy interfaces, and still recognize that a meditation app should not look like that.

Preference versus judgment Works, I dislike itstudy these most:your blind spots live here Works, I like itenjoy and dissect Fails, I dislike iteasy lessons Fails, I like itdanger: trends youwould copy without thinking worksfails I dislike itI like it
Sort your reactions. Judgment grows fastest in the top-left quadrant: designs that work although they are not to your liking. They show you what your preferences hide.

The gap

In a widely shared 2009 video interview about storytelling, the radio host Ira Glass described something every creative beginner meets. Paraphrased: people get into creative work because they have good taste. For the first few years, what they make is not as good as their taste tells them it should be, and they can see it. Many quit at this point. His advice was to do a large volume of work, on deadlines, because only volume closes the gap between your taste and your ability.

The gap (after Ira Glass) the gap where most people quit your taste your skill volume of finished work (not time) →
Disappointment with your own work is a good sign. It means your taste is ahead. The x-axis is finished pieces, not months: the gap closes with how much you make, not how long you wait.
Watch out

The gap can also run the other way. If you are never disappointed by your work, your taste may be behind your skill. The fix is the same as for the other gap, in reverse: study more great work, more closely, especially in the top-left quadrant.

Copying as learning

Copying is how most crafts have always been taught. Art students copy paintings in museums. Musicians transcribe solos. Benjamin Franklin, in his Autobiography, describes teaching himself to write by taking notes on essays from The Spectator, setting them aside for a few days, rewriting the essays from his notes, and then comparing his version with the original to find his faults. That is a precise method, and it transfers directly to interface design:

  1. Choose a master screen. A screen from a product widely respected for craft, in a domain close to yours.
  2. Study it with the ten-point sequence (chapter 16) and write notes on every decision you can see.
  3. Wait a day, then rebuild it from your notes, in code or your design tool, without looking at the original.
  4. Compare, side by side or overlaid. Every difference is a lesson: spacing you guessed wrong, a weight you missed, a state you did not notice.
  5. Apply one lesson to your own product. Copy the reasoning, not the pixels.

This is a private exercise for learning, not a way to ship someone else's design. The point is to feel the decisions from the inside. Copy to learn; never ship a copy as your own work.

Don't: copy the surface
A dev-tool look on a children's reading app.
Why it fails. The style came from a product with a different purpose and audience. The reasoning did not travel with it.
Do: copy the reasoning
Studied: a keyboard-first issue tracker.
Lesson: every action reachable from one palette; shortcuts shown inline.
Applied to my reading app: a single "Go to…" palette for articles, tags and settings, in my own calm visual style.
Why it works. The idea (one palette for everything) transfers across products; the dark, dense look does not need to.

Studying masters

Choose a small "faculty" of masters and study them over months, not a huge list skimmed once. A balanced faculty for a calm, reader-first software creator might be: one industrial designer (Rams, Fukasawa), one typographer or graphic designer (Vignelli, or the designers behind a well-made typeface), two or three software products known for craft in your domain, and one writer on design (Norman, Victor). Guides 18, 19 and 20 are structured studies of exactly these.

For each master, ask the same three questions: What problem were they solving? What did they refuse to do? What would they remove from my product? The third question is the useful one.

Key idea

Taste is judgment you can train: look closely, make a lot, compare honestly, copy the reasoning, never the surface.

For the solo creator

Without colleagues, your taste is calibrated only by what you choose to look at. Curate it deliberately. Follow fewer, better sources. Use the products you admire for real tasks, not just screenshots. And ship: shipping is the only feedback loop that tests taste against real people. Guide 17, The Solo Practice, turns this into a six-month plan.

Do

  • Separate "I like it" from "it works" in every critique.
  • Rebuild a master screen from notes once a month.
  • Choose a small faculty of masters and study them deeply.
  • Finish and ship many small things; volume closes the gap.

Don't

  • Wait until your skill matches your taste before shipping.
  • Copy styles across products with different purposes.
  • Confuse following trends with having taste.
  • Ship a copy of someone else's design as yours.

In the wild

  • Daily UI challengesvarious, 2010s onward
    Many designers built their early skill with daily design exercises (one screen a day for 100 days). Volume, on a deadline, as Glass recommends. Best when each piece gets a written self-critique.
  • Apple and Braun2000s onward
    Jony Ive has spoken publicly of his admiration for Rams' work, and the influence is often discussed. Masters study masters. The lineage is the curriculum.
  • Your own product's historyyou, starting now
    The weekly redesign folder from the warm-up becomes a record of your taste and skill converging. Seeing your own progress is the best antidote to the gap.

Common mistakes

Consuming instead of making

Browsing great work is pleasant and feels like learning.

Keep a ratio: for every hour of looking, two hours of making.

Quitting in the gap

Your work disappoints you, so you conclude you lack talent.

Read the disappointment as evidence your taste is working. Increase output; keep the before/after folder.

Taste as a single style

Admiring minimal products, you make everything minimal.

Ask what each product needs. A data-dense trading tool and a calm reader can both show excellent taste.

Check yourself

You admire a famously minimal note-taking app. You strip all labels and borders from your accounting app to match it, and support tickets go up. What went wrong?

Connect the ideas · Part five recap

Which daily routine best combines chapters 15 to 17?

Exercise 17.1 2 to 3 hours · on a master screen

The Franklin method, for a screen

  1. Pick one screen from a product you admire for craft.
  2. Write detailed notes using the ten-point sequence (30 minutes).
  3. Put the notes away for a day.
  4. Rebuild the screen from your notes only (60 to 90 minutes), in code if you can.
  5. Overlay or place it beside the original. List every difference and what it taught you.
  6. Apply one lesson to your own product.
You're done when: you have your notes, your rebuild, a list of at least ten differences with lessons, and one change in your own product.
BeginnerCompetentStrong
Differences noticed are mostly color and size.Notices spacing rhythm, alignment and state decisions.Infers the reasoning behind at least three decisions and transfers one to a different context in your product.

Wrap-up

You now have the foundation: a definition of the job, a model of the layers, Norman's vocabulary for why people struggle, Rams' qualities to aim for, a shelf of frameworks, a process small enough for one person, and a way of seeing. The other twenty guides build on all of it.

Ten things to remember

  1. Design is the set of decisions; screens are only their record. "Design is how it works."
  2. Products are built in five planes, strategy to surface. Diagnose downward; finish in order.
  3. No options, no design. Generate three, constrain, rank criteria, and slow down only for one-way doors.
  4. People act on signifiers. If something needs a label to explain how to operate it, look for a better signifier.
  5. Map controls to effects, and constrain inputs so errors are impossible rather than reported.
  6. Every action needs immediate, located feedback; the system image is your only way to teach the model.
  7. Diagnose by stage: execution problems need signifiers and mapping; evaluation problems need feedback and visible state.
  8. Slips and mistakes need different fixes. Undo beats confirmation, almost always.
  9. Rams' ten are about respect, not minimalism; Nielsen, Shneiderman and Tog are lenses for review; Cooper, Raskin and Victor push toward asking less of people.
  10. Sketch to explore, prototype to test, code to confirm. Spend craft on the hot path. Train taste with structured looking and a large volume of finished work.

Self-assessment: I can…

Practice assignment for the next two weeks

About 30 to 60 minutes a day. Keep everything in one folder called foundations.

  1. Days 1 to 2: Exercise 2.1 (your product on five planes) and start decisions.md.
  2. Days 3 to 4: Exercises 4.1 and 5.1: hunt Norman doors, run a constraint pass. Ship two fixes.
  3. Day 5: Exercise 6.1: four states for your key action, five-sentence model, word list.
  4. Day 6: Exercise 8.1: error audit. Replace one confirmation with undo.
  5. Day 7: Rest from making. Do the part recap quizzes again from memory and run the Foundations audit checklist (chapter 16).
  6. Days 8 to 12: Exercise 12.1: one full solo week on one real problem, using the fidelity ladder (13.1) inside it.
  7. Day 13: Exercise 9.1: the ten-principle audit, and Exercise 14.1: trade-off and craft map.
  8. Day 14: Exercise 17.1 on one master screen. Then write a one-page reflection: what changed in your product, what changed in how you see, and the three habits you will keep.
  9. Every day: one swipe-file item with a note and one ten-point pass (Exercise 16.1), and ten vocabulary flashcards (15.1).

Reading list

  • The Design of Everyday Things (revised and expanded edition)
    Don Norman, 2013 · The source for Part two. Read the chapters on the psychology of everyday actions and on human error twice.
  • The Elements of User Experience (2nd edition)
    Jesse James Garrett, 2010 · Short, and the clearest map of the five planes, with the full diagram.
  • Less but Better
    Dieter Rams, 1995 · Rams in his own words, with his principles and many Braun products. Pair with Gary Hustwit's documentary Rams (2018).
  • The Humane Interface
    Jef Raskin, 2000 · Modes, attention and habituation, argued with rigor. Some technical sections can be skimmed.
  • Magic Ink: Information Software and the Graphical Interface
    Bret Victor, 2006 (free essay on worrydream.com) · The case that most software should show, not ask. Will change how you design forms.
  • About Face: The Essentials of Interaction Design
    Alan Cooper and co-authors, 4th edition 2014 · Goal-directed design, personas done properly, and a huge catalogue of interaction patterns.
  • Sketching User Experiences
    Bill Buxton, 2007 · Why sketching is different from prototyping, and why designers need many cheap options.
  • Shape Up
    Ryan Singer, 2019 (free online at basecamp.com/shapeup) · Appetites, shaping and fixed-time cycles. Written for small teams; ideal for one person.
  • Discussing Design
    Adam Connor and Aaron Irizarry, 2015 · The critique structure from chapter 16, and how to make feedback useful.
  • Designing for Emotion
    Aarron Walter, 2011 (2nd ed. 2020) · The hierarchy of user needs and how personality grows on reliability.
  • Don't Make Me Think, Revisited
    Steve Krug, 2014 · Short, funny and practical usability; a good companion to Nielsen's heuristics.
  • "10 Usability Heuristics for User Interface Design" and "First Principles of Interaction Design"
    Jakob Nielsen (Nielsen Norman Group) and Bruce Tognazzini (asktog.com) · The two checklists from chapter 10 in their authors' own words, free online.
  • "Taste for Makers"
    Paul Graham, 2002 (paulgraham.com) · A short essay arguing that taste is real and can be good or bad, with a list of qualities of good design.
  • The Sciences of the Artificial
    Herbert Simon, 1969 · Dense, but the origin of the broad definition of design as changing existing situations into preferred ones. Read the chapter on design.

Next: The Human Mind, where you will learn why the ideas in this guide work, from perception and attention to memory and motivation.