Breakdowns: Software. Eighteen products, taken apart one decision at a time.
Good software is a stack of decisions somebody made on purpose. This guide gives you a method for seeing those decisions, then walks through eighteen products, from iA Writer to UPI payments, naming what each one chose, what it gave up, and what you can steal for the product you are building alone.
Reading timeAbout 5 hours, in 7 sittings (one per part)
Practice time2 weeks, one teardown every other day
TeachersReichenstein, Brichter, Rizzi, Saarinen, Vohra, Arment, de With, the Collisons and more
By the end you will be able to
Explain why each of eighteen well-known products looks and behaves the way it does, in terms of the job it serves and the business that pays for it (understand).
Run a structured, screen-by-screen teardown of any app through nine lenses, and separate taste from mechanism (analyse).
Judge whether a celebrated pattern fits your own product, or only fits its original context (evaluate).
Write and publish a teardown of a product you use daily, and turn it into concrete changes for your own software (create).
Warm-up: what do you already see?
Before the method, a quick diagnostic. You have used most of these products, or products like them. The point is not to score well. The point is to notice how much you already sense about why software feels the way it feels, and how often that sense is vague. By the end of the guide the vague feelings should have names.
Diagnostic 1
Things 3 lets you assign a to-do to "This Evening". Which explanation is closest to the real design reason?
The feature mirrors a mental model people already have: the day has a work half and a home half. It keeps the Today list honest without adding a scheduling system. That is the habit this guide trains: ask what job a decision does for a real person, not what it looks like.
Diagnostic 2
Craigslist has looked roughly the same for over twenty years and is still heavily used. What is the most useful lesson for you?
Craigslist is a lesson in fit, not in ugliness. Its users want to scan many listings quickly, and the page does that well. Answer a overreaches: the visual design is doing real work (density, predictability, speed). You will meet this idea again in chapter 18.
How to study this guide
Do not read all eighteen breakdowns in one go. Read Part one first, because it gives you the method. Then read one breakdown per sitting, with the product open on your phone or laptop if you can. Each breakdown ends with an exercise. Do at least one exercise per part. The final chapter hands you a template, and your real assignment is to write teardowns of your own.
Part one
The method
A breakdown is not a review. A review says whether something is good. A breakdown says what was decided, why, and at what cost, so that you can make better decisions yourself. These two chapters give you the lenses and the routine. Every product chapter after this uses them.
1
Nine lenses for reading software
Taught by Don Norman, with Dieter Rams, Jesse James Garrett and the object breakdowns of Guide 18
Every piece of software is the visible end of a chain of decisions, from "what job is this for" down to "what does this button say"; reading software well means walking that chain on purpose, one lens at a time.
When you open a beautiful app, your first reaction is a feeling: calm, fast, fussy, cheap. Feelings are useful data, but they are not explanations. You cannot steal a feeling. You can steal a decision. So the first skill of a breakdown is to translate "this feels calm" into "the app hides everything except the current paragraph, uses one typeface at one size, and never shows a badge". Now you have three decisions you can test in your own product.
In Breakdowns: Objects you used seven lenses for physical things. Software needs the same seven, adapted, plus two questions that physical objects rarely force on you: how the business model shapes the screen, and what was deliberately left out. Software is infinitely extensible, so omission is the hardest and most revealing decision of all.
Read top to bottom, explain bottom to top. You notice the concrete layers first (words, visuals). But the explanation for them usually lives higher (the job, the model) or underneath (the business model). A breakdown that stops at layer 5 is a style review.
The lenses, briefly
Click a lens below to see the questions it asks and how it reads a product you probably know, Things 3. Each question is phrased so it has a concrete answer you could check on screen.
Lab: the nine lenses, applied to one app
Purpose
What job does someone hire this product for, and in what moment? Things 3: "help me decide what to do today, and let me forget the rest without losing it."
Try reading the Things answer for each lens, then cover it and answer the same question for an app on your phone.
Mechanism over adjectives
The most common failure in teardowns is the adjective trap: "clean", "intuitive", "delightful", "modern". These words describe your reaction, not the product. Replace every adjective with a sentence that has a decision, a reason and a cost. "Clean" becomes "uses a single accent colour, so the only coloured thing on screen is the thing you can act on; cost: nothing else can draw attention, including warnings".
Don't
Reactions, not decisions. Every line is true and none of them helps you build anything.
Do
Decision, reason, cost. Three short lines turn a feeling into something you can try, measure and reject.
Why the business model gets its own lens
A free app paid for by ads must win back your attention, so it grows notifications, feeds and badges. A subscription app must justify a monthly charge, so it ships visible features and sync. A one-time purchase must win you at the moment of sale, so it invests in the first impression and in craft that reviewers notice. None of these is evil by default. But you cannot understand why Duolingo nags and iA Writer does not without asking who pays and for what. Many design "mysteries" are just the revenue model showing through the UI.
The ninth lens is the hardest: what is not there? Things has no collaboration. iA Writer has almost no formatting toolbar. Linear does not let every team invent its own workflow. Craigslist has no images on its home page. Absences are invisible unless you list the obvious features a competitor has and ask, for each one, "did they forget, or did they refuse?"
Key idea
You cannot steal a feeling. You can steal a decision, once you have named it, found its reason, and priced its cost.
Do
Write each observation as decision, reason, cost.
Start from the job, then explain the screen.
Ask who pays and how that shapes what you see.
List the features a competitor has and this product refused.
Don't
Use adjectives ("clean", "intuitive") as findings.
Copy the visual layer without the model underneath.
Assume every choice was intentional; some are accidents or legacy.
Judge a product by your job when it was built for someone else's.
In the wild
The Elements of User ExperienceJesse James Garrett, 2002
Garrett's five planes (strategy, scope, structure, skeleton, surface) are the ancestor of these lenses: decisions on the lower, abstract planes constrain the upper, visible ones. Explain a surface by looking underneath it.
Teardown writingMany designers, 2010s onward
The most useful public teardowns (for example long-form app reviews on MacStories, or onboarding teardowns on sites that collect them) work screen by screen and name decisions. The weakest ones rate things out of ten. Read the good ones as models for your own notes.
The Design of Everyday ThingsDon Norman, 1988, revised 2013
Norman's conceptual model and feedback ideas are lens 2 and lens 6 in this guide. The vocabulary you already have from The Human Mind is your teardown toolkit.
Common mistakes
Stopping at the surface
Visuals are what you notice first, and they are the easiest thing to write about.
Force yourself to write the Purpose and Model lenses before you are allowed to write about visuals.
Treating fame as proof
A famous product feels like a safe source of answers, so every choice looks deliberate and correct.
For each decision, also write who it fails. Famous products make bad bets too, and some survive in spite of them.
Ignoring the context gap
You copy a pattern from a 100-person team's product into a one-person product with different users.
Add a final line to each finding: "does this fit my users, my scale, my business?"
Check yourself
You notice a free photo-editing app shows a "Daily challenge" badge every morning. Which lens most likely explains it first?
A free app needs repeat visits to earn from ads or to convert to paid, so a daily hook is a revenue decision first. The visual and the words of the badge come after. Starting from the business model explains why the badge exists, not just how it looks.
Exercise 1.1 30 minutes · on an app you use daily
Nine lines, one app
Pick an app you opened today. Open it beside this page.
Write one sentence per lens, nine sentences in total. Each must name something you could point to on screen.
Rewrite any sentence that contains an adjective (clean, simple, nice) as decision, reason, cost.
Circle the one lens you found hardest. That is your blind spot for the rest of the guide.
You're done when: you have nine sentences with no unexplained adjectives, and one circled blind spot.
Beginner
Competent
Strong
Mostly visual observations; several adjectives remain.
All nine lenses answered with concrete, checkable facts.
Each line has a reason and a cost, and the business-model line explains at least one visible choice.
2
How to do a teardown yourself
Taught by working practice, with Jakob Nielsen (heuristic review) and the cognitive walkthrough method
A teardown is a routine, not an inspiration: capture every screen of one real task, pin each decision with a number, then write decision, reason, cost and steal for each pin.
If you just browse an app looking for good ideas, you will find the ones you already agree with. A protocol fixes that. It makes you look at the boring screens (settings, errors, empty states, the paywall) where products reveal their real priorities. It also produces an artefact you can come back to, which matters more than any single insight.
One task at a time. A teardown of "the whole app" is too big to finish. A teardown of "add a recurring to-do from the lock screen" is an evening's work and teaches more.
The protocol, step by step
Pick one task, phrased as a user would. "Pay my friend back ₹450 at a tea stall", not "test the payments flow". Write the starting state too: fresh install, or a returning user with data.
Capture every screen, including the boring ones. Use the system screenshot shortcut (or a screen recording, then pull frames). Number the files in order. Include loading, empty, error and permission screens. On desktop, capture at a consistent window size.
Make a strip. Put the screenshots in a row in any canvas tool (Figma, Keynote, even a slide). A strip shows the rhythm of a flow: how many steps, where it slows down, where it asks for something.
Pin decisions with numbers, not arrows. Put a small numbered circle on each decision. Arrows and handwriting clutter the screenshot; numbers keep it readable and map to a list.
Write the list. For each pin: decision (what), reason (why you think), cost (what it gives up), and confidence (high, medium, guess). Mark guesses as guesses.
Compare with one rival. Do the same task in a competitor. The differences are where the decisions become visible.
Steal one thing. End with one concrete change for your own product, small enough to ship this week.
Don't
Unreadable a week later. Arrows cross the UI, notes are reactions, and there is no list to come back to.
Do
Pins map to a list. The screenshot stays readable, and each number becomes a decision, reason, cost entry.
For the solo creator
Keep one folder called teardowns/ with a subfolder per product and task. Name screenshots 01-launch.png, 02-empty.png and so on. It feels bureaucratic for one person, but after six months it becomes your private pattern library, more useful than any public gallery because every entry has your reasons attached. When you design a new screen, you search your own folder first.
Watch out
Screenshots of other products are for your study. If you publish a teardown, use your own annotations, keep the screenshots small and clearly about commentary, and never present someone else's UI as your design.
Checklist: teardown protocol
Before
During
After
Do
Tear down one task, not a whole app.
Capture the unglamorous states.
Mark guesses as guesses.
End with one shippable change.
Don't
Annotate with arrows and exclamation marks.
Skip the paywall, settings or error screens.
Tear down only products you already love.
Let a teardown end without a decision for your own work.
In the wild
Mobbin, Page FlowsPattern libraries, 2010s–2020s
Libraries of real app screens and recorded flows organized by task. They are the "capture" step done for you. Useful for breadth, but you still have to write the reasons yourself.
Heuristic evaluationJakob Nielsen and Rolf Molich, 1990
A structured review against a short list of principles. A teardown borrows its discipline and adds "why" and "steal". See Testing & Iteration for running one on your own app.
MacStories reviewsFederico Viticci and team, 2009–
Long app reviews that walk feature by feature with screenshots and context on why a feature exists. A good model for writing up teardowns at length.
Common mistakes
The tour instead of the task
Opening every tab feels thorough.
Pick one job and follow it end to end. Tours produce feature lists; tasks produce decisions.
Fresh-install bias
Teardowns often only look at onboarding because it is easy to reproduce.
Also tear down the 100th use: an account with data, where speed and density matter more than welcome screens.
No rival
Without a comparison, every choice looks inevitable.
Do the same task in one competitor. Differences reveal decisions.
Check yourself
You want to learn how a banking app handles failure. Which teardown task is best?
A realistic task that forces the failure path shows you the error wording, retry logic and state recovery: exactly the decisions you wanted to see. Exploring screens produces a feature list, not insight into failure.
Exercise 2.1 60 minutes · on a payment or sign-up flow you use
Your first strip
Choose one task in an app on your phone (for example, sign up, pay, or book).
Screenshot every screen of the task, including any loading or error screens.
Lay them out in a row in any canvas tool and add numbered pins (aim for 6 to 10).
Write decision, reason, cost and confidence for each pin.
Run the same task in a rival and note three differences.
You're done when: you have a strip image, a numbered list, three differences with the rival, and one change for your own product.
Beginner
Competent
Strong
A strip with notes but no reasons or costs.
Every pin has reason and cost; rival compared.
Confidence levels are honest, and the steal is specific enough to ship as written.
Part two
Calm tools for writing and doing
Four products whose main feature is restraint. Each one serves a single person doing focused work: writing, planning a day, keeping notes, keeping a journal. Watch how often the important decision is a refusal, and how each refusal is paid for somewhere else.
3
iA Writer
Taught by Oliver Reichenstein and Information Architects
A plain-text writing app that treats the writer's attention as the scarce resource, and so makes almost every decision on the writer's behalf: one font family, one size logic, very few settings, and tools that show you your own text more clearly rather than decorate it.
MakerInformation Architects (iA), Zurich and Tokyo
Year2010 (iPad), then Mac, iPhone, Android, Windows
CategoryMarkdown writing app
Study it forFocus, typography as interface, opinionated defaults
iA began as a design studio that wrote loudly about web typography ("Web Design is 95% Typography" is one of its well-known essays). iA Writer is that argument turned into a product. When it launched on the iPad in 2010, writing apps competed on features: styles, fonts, toolbars. iA Writer competed on absence. It opened to a blank page in a monospaced font and asked nothing of you.
Schematic, not a screenshot. The current sentence is dark; everything else fades. The Markdown marks are visible but grey, and the files on the left are ordinary files in folders.
Focus mode dims everything except the current sentence or paragraph. The writer's working memory holds about one sentence; the rest of the page is a distraction that invites rereading and polishing too early. Cost: you lose peripheral context, so it is a mode you turn on, not the default.
A typeface designed for the app. Early versions used a customized version of Nitti, a monospace by Bold Monday. Around 2017 and 2018 iA made its own family, iA Writer Mono, Duo and Quattro, derived from IBM Plex Mono and released for free. Duo is "duospaced" (most letters share one width, wide letters like m and w get more) and Quattro uses four widths, keeping a typewriter's draft feel while reading more evenly. Cost: the look is unmistakable, and people who want a proportional serif must pick from very few choices.
Markdown marks stay visible, but quiet. The # of a heading sits grey in the margin, so the text stays plain and portable while structure is still legible. Cost: newcomers must learn a little syntax; there is no bold button doing the work for them.
The library is your file system. Documents are plain text files in folders you own (iCloud, Dropbox, a local folder). No proprietary database, no lock-in. Cost: no rich metadata, and sync problems become the file provider's problems, which users still blame on the app.
Content blocks. Typing a path like /chart.png on its own line pulls in an image, a CSV table or another text file. It keeps the document text-only while allowing rich output. Cost: it is a power feature that few users discover without docs.
Authorship (iA Writer 7, late 2023). Text you paste from an AI tool can be marked as not yours and shown in a distinct style until you rewrite it; you can also attribute text to named authors. The app takes a public position: AI as a sparring partner, not a ghostwriter. Cost: extra friction for people who want the machine to write for them, which is the point.
Tools that show, not change. Syntax highlighting can colour adjectives, nouns, adverbs, verbs and conjunctions, and Style Check flags filler words and clichés. They hold a mirror to your prose instead of rewriting it. Cost: they are opinionated and English-first.
Very few settings, on purpose. iA has argued for years that each preference is a decision the designer pushed onto the user. The app has grown some settings over time, but each is resisted. Cost: you cannot tune it to taste, and some people leave for that reason. This is "the no-settings price".
Focus mode, live
Most apps ask for attention. A few give it back. The best tools disappear while you work, and return only when you call them. That is a design choice, not luck. Every setting you add is one more thing that can look back at you. Click any sentence to move the focus.
Without: every sentence competes. Your eyes drift back to the paragraph you already wrote and start editing it.
With: only the current sentence is at full contrast. Click another sentence (or focus it and press Enter) to move the spotlight. Notice how hard it becomes to reread.
Trade-offs and criticisms
The usual criticisms are fair and worth learning from. Monospace is not the best face for long reading, so iA added Duo and Quattro and a preview mode in proportional type. The lack of settings frustrates writers with established habits. The file-based library means features that need a database (tags across files, backlinks) arrive late or not at all, because each one has to work on plain files. And opinionated tools like Style Check can feel preachy. Each criticism is the shadow of a decision that also makes the app good.
Don't
The chrome writes first. Every button is a question: should this be bold? Which style? Writing becomes formatting.
Do
The page writes first. Formatting lives in the text (Markdown) and on keyboard shortcuts. The screen holds only what you wrote.
Steal this for your software
Find the one resource your user is short of (attention, time, money) and make every default protect it.
Store user data in an open format whenever you can. It is a promise you can make that big companies often will not.
Before adding a setting, write down the decision you are avoiding. Make it yourself if you can.
Build tools that show users their own work more clearly, rather than tools that do the work for them.
Take a public position on a contested question (like AI text) and design it into the product.
For the solo creator
iA Writer is a small team's product, and its strategy is a solo creator's strategy: fewer features, each done carefully, defended in writing. Your essays and changelogs explaining why you refuse a feature are part of the design. They turn "missing" into "chosen".
Copy
Opinionated defaults explained in public.
One typographic system used everywhere.
Open file formats.
Don't copy blindly
Monospace for a reading app.
Zero settings for an expert tool where users have real, different needs.
Hidden power features without any discovery path.
Related products
UlyssesThe Soulmen, 2003; iOS later
A Markdown-style writing app with a managed library instead of plain folders, which enables goals, sheets and publishing. Same calm, opposite bet on storage.
Typora2015
Hides Markdown marks as you type and renders inline. The other answer to "should syntax be visible?"
WriteRoomHog Bay Software, 2006
An early full-screen "distraction-free" Mac editor. Focus as a product idea predates iA; iA made it typographic.
Common mistakes when copying iA Writer
Minimal by deletion
You remove buttons without replacing their function, so users cannot format at all.
Move functions to a better place (text syntax, shortcuts, a command menu). Minimal means relocated, not missing.
Focus mode as decoration
It looks impressive in a demo.
Ask whether your user's task has a "current unit" (a sentence, a row, a step). If not, a focus mode just hides things.
Check yourself
You are building a journaling app and want iA Writer's calm. Which move best transfers the underlying decision, not just the look?
The transferable decision is "protect the scarce resource". Monospace and focus mode are iA's answers for drafting prose; your answers depend on your user's moment. Removing settings without making the decisions yourself just moves the problem.
Exercise 3.1 40 minutes · on your own product
Price your settings
List every setting or preference in your product (or planned for it).
For each, write the decision it avoids ("which date format?", "how dense?").
Mark each as: keep (users truly differ), decide (you can choose well for them), or delete.
Rewrite your settings screen with only the "keep" items, and write one sentence for your changelog explaining a removed setting.
You're done when: you have a table of settings with keep/decide/delete and a one-sentence public rationale.
Beginner
Competent
Strong
A list of settings with no decisions.
Each setting classified with a reason.
At least a third moved to "decide", with defaults chosen from real user evidence.
4
Things 3
Taught by Cultured Code
A personal task manager that wins by modelling how one person thinks about a day (today, this evening, someday) and by making every interaction feel physical and unhurried, while flatly refusing to become a team tool.
MakerCultured Code, Stuttgart
Year2017 (Things 1 was 2009)
CategoryPersonal task manager, Apple platforms
Study it forMental models, restraint, motion, the Magic Plus button
Things 3 shipped in 2017 after years of quiet work, and won an Apple Design Award. Its competitors had more features: shared lists, comments, integrations. Things had a better model of a single person's day. It still sells as separate one-time purchases per platform, with free sync, and no subscription.
Schematic of the Today view. One list, split in two by time of day, with one floating button. The sidebar (left) and a project with headings (right) are shown for context.
Today is a list you curate, not a filter of due dates. You decide what goes in Today. Due dates and scheduled dates feed it, but the list is a promise to yourself, short enough to finish. Cost: people who want an automatic "everything due" view must learn the difference between "when" and "deadline".
This Evening. A tiny split that matches how many people live: work things, then home things. It keeps Today from feeling like a single wall. Cost: almost none, which is why it is a lovely decision.
The Magic Plus button. Tap it to add at the end; drag it to place a new to-do exactly where you want it in the list, or drop it on the left to send to Inbox, or create a heading. One control, many outcomes, all learned by direct manipulation. Cost: discoverability. People who only tap never find the drag.
A small, fixed set of lists. Inbox, Today, Upcoming, Anytime, Someday, Logbook. Not a user-defined system. The model comes from the Getting Things Done tradition, simplified. Cost: people with an elaborate personal system feel boxed in.
Headings inside projects. A project can be divided into sections without becoming sub-projects. Shallow structure stays shallow. Cost: no deep nesting, by design.
Deadlines are rare and red. A deadline is separate from "when" and shown with a quiet countdown. Red appears only there, so it means something. Cost: you need to understand two date concepts.
Tags are light and optional. Small grey lozenges, filterable, never required. Cost: tag-heavy users want more.
Quick Entry everywhere, with natural dates. On the Mac a global shortcut opens a small window; you can type "tomorrow" or "next fri" in the when field. Capture must cost under five seconds or ideas are lost. Cost: another shortcut to learn.
No collaboration, by design. No shared lists, no assignees, no comments. Cost: families and teams leave for Todoist, Reminders or a team tool. Benefit: none of the screens carry the weight of other people.
Lab: drag-to-insert (the Magic Plus idea)
Send invoice to Asha
Draft release notes
Call the bank
This Evening
Read chapter 4
Drag the + into the list, or use the arrow buttons.
Notice: placing the item while creating it removes a separate "move" step. One gesture answers two questions: "add" and "where". Tap the + to compare: the item lands at the end and you would have to move it.
Trade-offs and criticisms
Things releases slowly; years can pass between visible features, and some users read that as neglect. It is Apple-only, so anyone on Android or Windows is out. Its refusal of collaboration rules out households. And some power users find the fixed model too gentle: no task dependencies, limited recurrence logic compared with OmniFocus. Every criticism points to a door Cultured Code chose to keep closed. The lesson is that saying no costs customers, and the product is better for those who stay.
Don't
Capture as paperwork. Six questions before a thought is saved, and the position still has to be fixed afterwards.
Do
Capture as gesture. Position is chosen while adding, the title is the only required field, and dates can come later.
Steal this for your software
Model the user's real day, not your database. Name lists after moments ("this evening") rather than fields ("priority 2").
Let one direct-manipulation gesture answer two questions at once.
Make the required input for capture exactly one field.
Reserve your loudest colour for one meaning (deadlines, errors) and use it nowhere else.
Decide who you are not for, and let the product show it.
Copy
A small fixed set of views based on a clear model.
Gestures with a tap fallback.
Calm motion that confirms state (items settle, not bounce).
Don't copy blindly
Hidden gestures as the only route to a feature.
Slow release cadence without telling users what you are working on.
A single-person model if your users really share work.
Related products
OmniFocusThe Omni Group, 2008
A deep Getting Things Done tool with perspectives, contexts and review. The opposite bet: power over calm. Both are coherent.
TodoistDoist, 2007
Cross-platform, natural-language entry ("every Monday at 9"), shared projects. Wins on reach and sharing where Things refuses.
Apple RemindersApple, 2011
Free, shared lists, grocery sections. The default you are always competing with.
Common mistakes when copying Things
Copying the polish, not the model
The animations and spacing are what screenshots show.
Write your product's model first (what lists exist and why). Polish a weak model and it stays weak.
Gesture-only features
Drag-to-insert is delightful, so it feels like enough.
Always give a tap and keyboard path. Things does: tap adds at the end, and the Mac has full shortcuts.
Check yourself
Users of your habit app keep asking for "priority levels 1 to 5". What would a Things-style answer look like?
Things answers the need behind "priority" (what should I do now?) with a list the user curates. That respects the request without importing a field that becomes noise. Ignoring users is not the lesson; translating their request into your model is.
Exercise 4.1 45 minutes · on your own product
Find your "This Evening"
Write the main list or view of your product as it is today.
Interview yourself (or one user) about the moments they use it: morning, commute, evening, weekend.
Propose one split or label that matches a real moment, like Today and This Evening.
Sketch the view with the split, and list what it costs (one more concept to learn?).
You're done when: you have a before and after sketch and one sentence on the moment it serves.
Beginner
Competent
Strong
A new filter or field, not a moment.
A split based on a real moment, with a cost noted.
The split removes a setting or field elsewhere, so total complexity falls.
5
Apple Notes and Bear
Taught by Apple and Shiny Frog
Two note apps that show two kinds of good defaults: Apple Notes is approachable because it asks nothing (open, type, done), and Bear is approachable because its structure grows out of the text itself (a hashtag in a note is the organization).
MakersApple; Shiny Frog (Italy)
YearsNotes on iPhone 2007, big rework 2015; Bear 2016, Bear 2 in 2023
CategoryNote-taking
Study it forZero-setup defaults, tags as structure, typography
Notes apps live or die on the first ten seconds: an idea arrives, and the tool must catch it before it fades. Apple Notes takes the shortest path: the first line you type becomes the title, there is no "save", and the note lives in the last folder you used. Bear, which won an Apple Design Award in 2017, keeps that speed and adds a structure most people can learn in one sentence: type #work/clients anywhere in a note, and the note appears under that nested tag in the sidebar.
Schematic of Bear. A tag written in the note (2) creates the nested entry in the sidebar (1). Links between notes use double brackets (4). The editor renders Markdown styles inline.
Tags are the folders. Bear has no separate folder system. Nested tags (#work/clients) give hierarchy, and a note can live in several places at once. Cost: a folder-minded person has to unlearn the idea that a note lives in one place.
Structure is typed, not filed. You never stop writing to organize. Typing the tag is the filing. Cost: renaming a tag means rewriting text in many notes (Bear does this for you, which is a necessary feature that comes with the choice).
Typography is a feature. Bear ships carefully chosen themes and fonts, generous line spacing and a reading width. Notes feel like something worth rereading. Cost: design effort that does not show up in a feature list.
Wiki-style links. Double-bracket links connect notes by title, a lightweight version of what Obsidian does with files. Cost: links depend on titles staying stable.
One search box does most of the work. Special search terms exist, but plain search is the main tool. Cost: power filtering is less visible.
The Panda editor (Bear 2, 2023). Bear rebuilt its editor to be closer to standard Markdown, so text moves more cleanly in and out. Cost: a rewrite of the core of the product, years of work for a small team, with changes that some long-time users had to adjust to.
Apple Notes: zero decisions at capture. No title field, no save, no folder prompt. The first line is the title. Cost: notes pile up unsorted; Apple added tags, smart folders and Quick Note later to help.
Apple Notes: the free default. Pre-installed, synced, shared. Its existence sets the bar every paid notes app must clear. Cost to competitors, not to Apple.
Don't
Filing before writing. Three choices block the only thing that matters: getting the thought down.
Apple Notes
Write first, never file. The default does all the deciding.
Bear
Write first, file in the flow. Organization is part of the text, so it never interrupts.
Trade-offs and criticisms
Bear is Apple-only for its full app (a web version arrived later), and its sync relies on iCloud, which limits who can use it. Tags-as-folders confuses people who want one canonical location. Apple Notes, for its part, has no export story most people trust, uses a closed format, and gets messy at scale. Both are good at the first ten seconds and less good at the ten-thousandth note.
Steal this for your software
Make capture require zero decisions. Every field at capture time is a reason not to capture.
Let structure emerge from content (a typed tag, a mention, a date in text) instead of from forms.
Treat reading typography as a feature even in a "utility".
Know your free, pre-installed competitor, and be clearly better at one thing it does badly.
Copy
First line becomes the title.
Inline organization (tags, mentions).
A renaming tool for anything users type as structure.
Don't copy blindly
Tags as the only structure if your users need a single home per item (invoices, contracts).
A closed storage format for long-lived personal data.
Related products
SimplenoteAutomattic, 2008 onward
Plain text, tags, fast sync, free. The minimum viable notes app, still useful.
Google KeepGoogle, 2013
Card grid with colours and labels. Capture-first on Android, with visual scanning instead of typography.
Craft2020
Blocks and rich pages with a native feel. A middle road between Bear and Notion.
Common mistakes
Required titles
Databases want a name for every row.
Derive the title from content. Let people rename later.
Two parallel structures
Teams add tags on top of folders to please everyone.
Choose one primary structure. Bear chose tags; Apple Notes chose folders, then added tags carefully as a secondary filter.
Check yourself
Your bookmarking app asks users to pick a collection before saving a link. Saves are low. What is the Bear lesson?
Remembering the last collection helps a little, but any decision at capture time lowers capture. Saving instantly and letting structure come from typed tags or later review matches how Bear and Apple Notes keep capture at zero decisions.
Exercise 5.1 30 minutes · on your own product
Count decisions at capture
Time yourself creating the most common item in your product (a note, task, entry, record). Count every tap, field and choice.
Do the same in Apple Notes or Bear.
Redesign your capture flow so the required decisions fall to one. Move the rest to "later" or infer them.
You're done when: you have a before and after count (taps, fields, seconds) and a sketch of the new flow.
Beginner
Competent
Strong
Counts recorded but no redesign.
Redesign with one required decision.
Redesign infers at least one field from content, and you tested it on yourself for a day.
6
Day One (and Apple Journal)
Taught by Paul Mayne and Bloom Built, with Apple
A journaling app that makes the hardest part of journaling (starting) easier by doing the remembering for you: it captures date, place, weather and photos automatically, then gives your past back to you on the anniversary.
MakerBloom Built (Paul Mayne); acquired by Automattic in 2021
Year2011
CategoryJournaling
Study it forAutomatic context, gentle return loops, privacy as design
A blank journal is intimidating. Day One's design answer is that an entry should never start fully blank. It already knows the date, often the place and the weather, and it can suggest photos you took today. And it offers the strongest reason to keep journaling: "On This Day", which shows what you wrote a year or five years ago. The reward for writing today is a future surprise. Apple's own Journal app (iOS 17.2, December 2023) took a similar path with "journaling suggestions" drawn from your photos, places and workouts.
Schematic. The entry starts pre-filled with when, where and weather (1), today's photo (2), and the app offers your past (3) and a prompt (4). Encryption (5) and multiple journals (6) handle privacy and separation.
Automatic metadata. Date, location, weather and device are attached without asking. An entry is never empty, and old entries are rich with context you would never type. Cost: privacy questions, which is why location can be turned off and why encryption matters.
Photos as a starting point. A picture from today is an easy first line. Cost: a photo-heavy journal can become a photo album without reflection.
On This Day. The return loop is your own past, not a streak or a points system. It rewards consistency with meaning rather than numbers. Cost: it can surface painful memories; good apps let you control or hide it.
Prompts and templates. For the "I don't know what to write" moment. Cost: prompts can make entries feel like homework if pushed too often.
End-to-end encryption. Journals are among the most private data a person creates. Day One added end-to-end encryption for synced journals, turning privacy from a policy into a property. Cost: if you lose your key, Day One cannot recover your data. The design must explain this without scaring people.
Multiple journals with colours. Work, family, travel, dreams. Separation lets people write honestly in each. Cost: one more decision at capture, softened by a default journal.
Gentle reminders. A daily reminder at a time you choose, with no guilt copy. Compare Duolingo in chapter 19. Cost: lower engagement numbers than a nagging app, probably.
For the solo creator
Automatic context is cheap to build and huge in value. If your app knows the date, the device, the last thing the user did, or the file they came from, put it in the new item for them. Each field you fill automatically is a field you never have to design a form for.
Trade-offs and criticisms
Day One's richest features sit behind a Premium subscription, and long-time users of the original paid app did not all welcome the change. The Automattic acquisition reassured some (a stable owner) and worried others. Apple Journal, being free and built in, takes the casual journaler; Day One must win on depth, export, cross-platform reach and longevity. And automatic metadata only helps if people trust it: one creepy location tag and the whole system feels like surveillance.
Don't
The blank-page tax. The hardest moment of the habit gets no help.
Do
A page that already began. The app writes the boring parts, so you only write the part that matters.
Steal this for your software
Never start a user on an empty page if you can pre-fill honest context.
Build return loops out of the user's own past work, not points.
Make privacy a technical property (encryption, local storage) and say so plainly in the UI.
Write reminders that invite, never scold.
Copy
Automatic, editable context on every new item.
Anniversary and "look back" features.
Plain explanations of what encryption means for recovery.
Don't copy blindly
Location tagging on by default without a clear first-run explanation.
Prompts every day whether or not people want them.
Related products
Apple JournalApple, iOS 17.2, 2023
Suggestions from your photos, workouts and places, chosen on device. The platform owner can do automatic context with less creepiness because data stays on the phone.
Google Photos "Memories"Google
Resurfaces photos from past years. The same return loop without writing.
Stoic, Reflectly and others2010s–2020s
Prompt-led journaling with mood tracking. More structure, more guidance, less freedom.
Common mistakes
Streaks for reflection
Streaks increase daily opens, so they look like success.
For reflective habits, reward with meaning (your past) rather than counts. A broken streak should never make someone feel they failed at their own life.
Silent metadata
Automatic capture is meant to be invisible.
Show captured context visibly on the item, editable in one tap, so people can trust and correct it.
Check yourself
Your reading-notes app has low retention after week two. Which Day One idea fits best?
The user's own past is the most meaningful reason to return, and it gets more valuable the longer they use the app. Readwise built a business on exactly this. Streaks and guilt pushes can raise short-term opens while making the product feel like a chore.
Exercise 6.1 45 minutes · on your own product
Pre-fill one empty state
Find the emptiest moment in your product: a new document, a new project, a first entry.
List every piece of context you already know at that moment (time, last action, device, account data).
Design a pre-filled version that uses two or three of them, each visibly editable.
Write one "look back" feature that would bring a user's own past work back to them.
You're done when: you have a before and after sketch of the empty state and a one-paragraph spec for a look-back feature.
Beginner
Competent
Strong
Generic tips text added to the empty state.
Real context pre-filled and editable.
The look-back feature uses data you already store and needs no new tracking.
Connect the ideas · Part two recap
iA Writer, Things, Bear and Day One share one decision more than any other. Which?
Each protects the doing moment: iA by having no toolbar, Things with one-field capture and drag-to-place, Bear with typed tags, Day One with pre-filled context. This is the "reduce decisions" idea from The Human Mind (Hick's law, cognitive load) applied to real products. The business models differ (one-time purchases, subscriptions).
Part three
Speed as a feature
Four products that treat speed and the keyboard as design material, not engineering hygiene. Linear and Superhuman made "fast" a brand. Raycast and Spotlight made the keyboard a universal remote. Stripe made the developer's time the thing to optimize. As you read, notice that speed is never one decision. It is architecture, interaction, words and business model pointing the same way.
7
Linear
Taught by Karri Saarinen, Tuomas Artman and Jori Lallo
An issue tracker for software teams that bet on one claim, that work tools should feel as fast and well made as consumer apps, and backed it with an architecture (local data, instant updates), an interaction model (keyboard first, command menu) and an opinion about how teams should work.
MakerLinear (Saarinen, Artman, Lallo)
YearFounded 2019
CategoryIssue tracking and project planning
Study it forPerceived speed, keyboard UX, opinionated workflow
Before Linear, issue trackers were mostly configurable databases: custom fields, custom workflows, slow pages, many clicks. Linear's founders came from design and engineering roles at large tech companies and built the tracker they wanted. The product feels instant because the data your screen needs is already on your machine. Changes appear immediately and sync in the background. That architectural choice is a design choice: it is the only way to make every click feel like nothing happened between intention and result.
Schematic. The command menu (1) lists every action with its single-key shortcut (2). Issues are dense rows with an ID, priority and status shape. Cycles (4) and Triage (5) encode a workflow opinion.
A command menu for everything (Cmd+K). Every action is reachable by typing its name. A newcomer can search; an expert can type. Cost: the menu must be maintained as carefully as the visible UI, and actions need good names.
Shortcuts are shown where actions are listed. The menu teaches its own shortcuts: after choosing "Assign to…" a few times you notice the A beside it and start pressing A. Cost: shortcut collisions get harder as features grow.
Instant by architecture. Linear keeps workspace data in the client and applies changes locally first (optimistic updates), syncing in the background. Every action feels like it happened when you pressed the key. Cost: a complex sync engine and conflict handling, a large engineering investment for a "feeling".
Cycles, not open-ended sprints. Teams work in fixed time boxes that start and end automatically, and unfinished work rolls over. Planning becomes a rhythm rather than a meeting. Cost: teams with other rhythms must bend to it.
Triage as a default inbox. New issues from other teams or integrations land in Triage, so someone decides before anything enters the backlog. Cost: someone must own triage.
Dense, typographic rows. Small status shapes, monospaced IDs, priority bars instead of words. Fifty issues fit on a laptop screen. Cost: newcomers need a moment to learn the symbols.
Opinions, published. "The Linear Method" is a public set of practices (for example, short specs, momentum over ceremony). The product implements the opinions; the writing explains them. Cost: customers who disagree feel the tool fighting them.
Craft as marketing. Linear's website and release notes are carefully made, and its dark, gradient-lit landing-page style was copied widely across the industry in the early 2020s. Cost: imitators made the style generic, which pushes Linear to keep evolving.
Lab: feel the difference between waiting and optimistic updates
ENG-409 · Crash when importing CSV · In progress
ENG-412 · Sync fails on slow networks · Todo
Ready. Press the button.
Rough guide from response-time research (Nielsen, Miller): under about 100 ms feels instant, up to about 1 second keeps your flow, beyond that your attention leaves. Try 1200 ms with "wait", then with "optimistic". Then try "fails" and watch how an honest rollback has to look.
Trade-offs and criticisms
Opinionated workflow is a selling point until your team works differently; then it is friction. Dense, symbol-heavy rows are fast for daily users and confusing for occasional ones (designers or managers who visit once a week). And the "Linear look" became so common in startup marketing that it now signals "generic SaaS" as often as it signals craft. The deeper lesson survives the fashion: the speed is architectural, and you cannot copy it with a dark theme.
Don't
The UI waits for the server. Each action costs a second of your attention, and a dozen actions per minute break flow.
Do
The UI trusts the user. The change is shown at once; a small indicator handles sync, and a failure is rolled back with an explanation.
Steal this for your software
Add a command menu with every action and its shortcut. It is cheap and it scales.
Make your three most frequent actions optimistic. Design the failure rollback at the same time.
Put your workflow opinion into defaults, then write it down in public.
Use symbols for things seen hundreds of times a day, and words for everything else.
For the solo creator
You do not need Linear's sync engine to get most of its feel. Cache what the current screen needs, update the UI before the network call returns, and keep a small queue of pending writes with retry. On the web, a local-first library or even careful use of a client cache gets you far. See Motion & Feel for perceived performance.
Copy
Command menu with visible shortcuts.
Optimistic updates plus honest rollback.
A workflow opinion, explained.
Don't copy blindly
The dark gradient aesthetic as a substitute for speed.
Symbol-only rows for occasional users.
Single-letter shortcuts in apps where people type a lot of text in the same view.
Related products
JiraAtlassian, 2002
Configurable to any process, used by huge organizations. Flexibility serves big companies and slows individuals; Linear chose the opposite end.
GitHub IssuesGitHub
Lightweight, close to the code, keyboard shortcuts and a command palette. Proximity to work can beat a separate tool.
Height, Plane and others2020s
Trackers that adopted command menus and fast UIs. A good pattern becomes the baseline quickly.
Common mistakes
Optimism without rollback
The happy path is easy to demo.
For every optimistic action, design the failure: revert visibly, explain why, offer retry.
Command menu as a junk drawer
It is easy to dump every action into it.
Name actions as verbs users would type, rank by frequency, and include the shortcut.
Check yourself
Your app's "archive" action takes 700 ms to confirm with the server and fails about once in 2,000 tries. What should you do?
With a failure rate that low, optimism is the right default: 1,999 times out of 2,000 the user gets an instant result. The design work is in the honest rollback for the remaining case. Spinners and dialogs add cost to every action to protect a rare one.
Exercise 7.1 60 minutes · on your own product
Your speed budget
List your product's five most frequent actions.
Time each one from input to visible result (use the browser's performance panel or a screen recording at 60 fps).
Mark each as instant (under 100 ms), flow (under 1 s) or wait (over 1 s).
Pick one "wait" or "flow" action and design an optimistic version, including its failure state.
You're done when: you have a table of five actions with timings and a sketch of one optimistic redesign with its rollback.
Beginner
Competent
Strong
Guessed timings.
Measured timings and one redesign.
Redesign shipped, re-measured, and the failure path tested by forcing an error.
8
Superhuman
Taught by Rahul Vohra, with Sean Ellis's product-market fit question
An email client that charges a premium for one promise, that you will get through your inbox faster than anywhere else, and designs everything around it: sub-100 ms interactions, a keyboard for every action, a split inbox, and onboarding that once happened in a one-to-one call.
MakerSuperhuman (Rahul Vohra); acquired by Grammarly in 2025
YearFounded 2014; invite-only for years
CategoryEmail client (Gmail and Outlook accounts)
Study it forSpeed as positioning, teaching shortcuts, measuring fit
Email is a solved problem in the sense that Gmail is free and works. Superhuman asked a very high monthly price (around $30 a month for years) and found people who paid it gladly. The design explains why: for someone who spends hours a day in email, saving minutes per hour is worth real money. Every decision serves that one customer, and the company was unusually explicit about choosing that customer, using a survey method that has since become standard reading for founders.
Schematic. Split tabs by kind of mail (1), a highlighted current row that the keyboard moves (2), and an always-visible hint of the core shortcuts (3). Reaching an empty inbox (4) is framed as an achievement.
The 100 ms rule. The team set a target that interactions should respond within about 100 milliseconds, the threshold at which people perceive a response as instant. Speed is not polished later; it is a requirement on every feature. Cost: features that cannot be fast are delayed or refused.
Keyboard for everything, taught deliberately. Every action has a shortcut, and the command menu shows them. Hints nudge you when you use the mouse for something that has a key. Cost: a learning curve the product must pay for with teaching.
One-to-one onboarding. For years, new users got a live session with a Superhuman specialist who set up their inbox and drilled shortcuts. It is expensive and does not scale, which was part of the point: it guaranteed that early users reached the fast state, and it taught the company what confused them. Cost: slow growth; later the company shifted toward self-serve onboarding.
Split inbox. Mail is divided into streams (important people, team, news, calendar and so on), so you triage one kind of mail at a time. Cost: some setup, and mail occasionally lands in the wrong split.
Opinions about inbox zero. "Done" (archive) is the main action, reminders bring mail back later, and an empty inbox is celebrated with calm imagery. Cost: people who use email as an archive or a to-do list may find the push uncomfortable.
A premium price as a filter. A high price signals seriousness and funds the onboarding and speed work. Cost: most people will never try it.
Read statuses, and a correction. Superhuman originally showed whether and where a recipient opened your email, using tracking pixels, on by default. After public criticism in 2019 (notably a widely read post by designer Mike Davidson), it removed location data and turned read statuses off by default. Cost: a lesson in how a "power feature" for one user can be surveillance for another.
The product-market fit survey
In a 2018 First Round Review essay, Vohra described how Superhuman used a single question popularized by Sean Ellis: "How would you feel if you could no longer use this product?" with answers very disappointed, somewhat disappointed, not disappointed. Ellis's benchmark is that products with fit tend to have at least 40% "very disappointed". Superhuman started at about 22%. It then segmented respondents, focused on the people who loved it, studied what they valued, asked the "somewhat disappointed" what held them back, and spent its roadmap roughly half on doubling down and half on removing those blockers. Vohra reported the score rising to 58% over the following quarters.
This matters to a designer because it turns "is this good?" into a number you can watch and a segment you can design for. Play with the calculator below.
Lab: the 40% test
Very disappointed
0%
Somewhat disappointed
0%
Not disappointed
0%
0%very disappointed
Start at Superhuman's early numbers. Now imagine you stop designing for the "not disappointed" group (move their slider down as they churn or you stop targeting them): the score rises because the segment is sharper, not because the product changed. That is the method's power and its risk. With fewer than about 40 responses the percentage is noise.
Don't
A wall to memorize. Shortcuts presented out of context are forgotten before they are used.
Do
Taught at the moment of use. One shortcut, shown right after you did the slow version of the same thing.
Trade-offs and criticisms
The price excludes most people, and early invite-only access read to some as exclusivity theatre. One-to-one onboarding does not scale, and a product that needs a human to teach it has a design debt to repay eventually. The read-receipt episode showed how a feature optimized for one user (the sender) can harm another (the recipient). And the core insight, speed, is copyable: Gmail, Spark and others added split inboxes and better shortcuts. What remains distinctive is the discipline of saying no to anything slow.
Steal this for your software
Set a numeric speed budget (100 ms for frequent actions) and treat it as a feature requirement.
Teach shortcuts in context, after the user did the slow version.
Onboard your first users personally, on a call, and write down every confusion.
Run the 40% survey once you have 40 or more active users, and design for the "very disappointed" segment.
For any feature that observes someone, ask how it feels to the person observed.
For the solo creator
One-to-one onboarding is the most solo-friendly idea in this guide. You cannot outspend anyone, but you can personally walk your first fifty users through your product. It is the best usability research you will ever do, and it builds the kind of loyalty that big companies cannot buy. Stop when the same confusions repeat; that is when to redesign.
Copy
A speed budget.
Contextual shortcut hints.
The PMF question, asked of active users.
Don't copy blindly
Premium pricing without the time savings that justify it.
Invite-only scarcity as marketing theatre.
Tracking features that the other party cannot see or refuse.
Related products
GmailGoogle, 2004
Free, keyboard shortcuts (opt-in), tabs for categories. The default; Superhuman's design only matters where Gmail is slow.
HEY37signals, 2020
A different opinion: screen first-time senders, block tracking pixels, separate "Imbox" from "The Feed" and "Paper Trail". Opinionated email that chose privacy as its edge.
SparkReaddle
A smart inbox that groups mail by type, free tier plus team features. The split-inbox idea at a mass-market price.
Common mistakes
Surveying everyone
More responses feel more reliable.
Survey people who used the product recently (Vohra's essay suggests at least twice in the past two weeks), or the score mixes tourists with users.
Shortcuts without discovery
Power users find them, so it seems fine.
Show shortcuts in menus and tooltips, and hint after slow actions.
Check yourself
Your survey shows 31% "very disappointed". Most of them are freelance designers; most "not disappointed" are students who signed up from a launch post. What next?
This is the Superhuman playbook: segment, find the people who already love it, design for them, and remove blockers for similar people who are almost there. Chasing the least engaged group spreads the product thin.
Exercise 8.1 2 hours over a week · on your own product
Run the 40% survey
Write the survey: the Ellis question, plus "What type of people do you think would most benefit?", "What is the main benefit you receive?" and "How can we improve it for you?"
Send it only to users active in the last two weeks.
Compute the score overall and per segment (role, use case).
Write a one-page plan: one feature to double down on for the "very disappointed", one blocker to remove for the "somewhat disappointed".
You're done when: you have a score per segment and a one-page plan with two items. If you have fewer than 40 active users, interview five instead and write the same plan.
Beginner
Competent
Strong
One overall score.
Scores by segment and a two-item plan.
The plan quotes users' own words and names the segment you will design for.
9
Raycast, Alfred and Spotlight
Taught by Apple, Running with Crayons and Raycast
The launcher pattern: one global shortcut opens one text field, and typing a few letters reaches any app, file, command or action; Raycast extends the pattern into a platform where third parties add commands that all look and behave the same.
Study it forCommand interfaces, fuzzy search, extension design
Menus scale badly. A menu with eight items is easy; with eighty it is a maze. A launcher replaces navigation with recall: you know the name of the thing you want, so type it. Spotlight brought the idea to the Mac in 2005 (Command-Space). Quicksilver and LaunchBar had explored it earlier, Alfred built a business on it with paid workflows, and Raycast turned it into a developer platform where anyone can write a command in TypeScript and React that renders with Raycast's own list, form and detail components.
Schematic. One field (1); fuzzy results ranked by your history (2); commands from apps and extensions in one list (3); a footer showing the primary action and the shortcut to more (4); result types labelled (5).
One global shortcut, one field. The entire product is behind one key combination. There is no window to manage. Cost: if users never learn the shortcut, the product does not exist for them.
Fuzzy matching and learned ranking. "cl" finds Clipboard History, Calendar and "Create Linear issue". Results you choose often rise to the top. Cost: rankings shift as habits change, which occasionally surprises muscle memory.
Everything is a command in one list. Apps, files, system actions, calculations and extension commands share one result list. Cost: name collisions, solved by labelling the type of each result.
Primary action plus an actions menu. Enter does the obvious thing; Command-K shows every other action for the selected item. Two levels, consistent everywhere. Cost: actions must be named and ordered with care for every result type.
Extensions use the host's components. Raycast extensions are written with its UI components (lists, forms, details), so every third-party command looks native and keyboard-complete. Cost: extension authors give up visual freedom; that is the point.
Built-in utilities that replace small apps. Clipboard history, window management, snippets and quicklinks. Cost: Raycast competes with many small developers' products.
Business model: free core, paid Pro and team features. Raycast's core is free; paid plans add AI features, sync and team sharing. Alfred sells a one-time Powerpack license for workflows. Spotlight is part of the OS. Each model shapes how much the launcher pushes you toward its extras.
Lab: a working command palette
The matching is fuzzy: letters must appear in order, not next to each other. Matches at the start of words rank higher. Run a command twice and watch it rise: the palette learns your habits. That is the whole launcher pattern in about 60 lines of code.
Trade-offs and criticisms
Launchers are invisible to people who do not know they exist, so they serve experts first. Fuzzy ranking that learns can feel unpredictable. Raycast's breadth (AI chat, notes, window management, clipboard) risks becoming the cluttered menu it set out to replace, and its extension store means quality varies between authors. Spotlight's newer versions (Apple expanded it substantially with actions in macOS 26, 2025) narrowed the gap for casual users, which is the usual fate of a third-party pattern the platform owner decides to absorb.
Don't
Navigation as memory test. You must remember where an action lives, not just what it is called.
Do
Search as navigation. The command menu also teaches the shortcut for next time.
Steal this for your software
Add a command palette before you add a second level of menus.
Rank results by frequency and recency of the user's own choices.
Use "Enter for the obvious, one shortcut for all other actions" as a rule everywhere.
If you allow plugins, make them use your components so quality and keyboard support are guaranteed.
Copy
Fuzzy matching with word-start bonus.
Result type labels.
Shortcuts displayed in results.
Don't copy blindly
A palette as the only way to reach features (casual users never open it).
Unlimited extension freedom that breaks consistency.
Related products
QuicksilverBlacktree, 2003
Noun-verb commands: pick a thing, then an action. The ancestor of Raycast's action menu.
VS Code Command PaletteMicrosoft, 2015
Ctrl/Cmd-Shift-P for every editor command. Made the palette standard in developer tools.
Slack, Notion, Figma quick actions2010s–2020s
Cmd-K or "/" menus inside apps. The launcher pattern moved inside products.
Common mistakes
Exact-match search
Simple string matching is the first thing you write.
Use subsequence (fuzzy) matching with bonuses for word starts and recent use. It is a small function (see this page's source).
Command names written for engineers
Actions get named after functions in code.
Name commands with the verbs users would type, and add synonyms ("delete", "remove", "trash").
Check yourself
Your app has 60 actions spread across four menus, and support emails ask "where is X?". What is the best first move?
A palette solves "I know what I want but not where it is" without taking away the browsable menus that casual users rely on. Removing menus hurts discoverability; a tutorial does not scale to 60 actions.
Exercise 9.1 90 minutes · on your own product
Build a palette
List every action in your product as a verb phrase, with one or two synonyms each.
Implement a minimal palette (or copy the logic from this page) with fuzzy matching and recent-first ranking.
Show the shortcut next to each action that has one.
Use it yourself for two days and note which actions you reached for that were missing.
You're done when: the palette works in your product (even behind a flag) and you have a list of missing actions it revealed.
Beginner
Competent
Strong
A list of actions, no palette.
Working fuzzy palette with shortcuts.
Ranking learns from use, and synonyms cover the words real users wrote in support email.
10
Stripe
Taught by Patrick and John Collison and Stripe's design and docs teams
A payments company whose product is largely an API, and which therefore treated developer experience (docs, error messages, test mode, consistent naming) as the main design surface, then carried the same care into its hosted payment page and dashboard.
Study it forDX as design, documentation, honest errors, Checkout
In 2010, accepting card payments online meant merchant accounts, gateways, forms and weeks of paperwork. Stripe's early pitch was that a developer could start accepting payments with a few lines of code. That promise moved the design work to unusual places: the docs page, the API's naming, the JSON of an error response, the test card number 4242 4242 4242 4242. For a developer, those are the interface.
Schematic of the docs layout. Navigation (1), prose with numbered steps (2), and a code column with language tabs (3) whose sample can include your own test key when you are signed in (4). The test card number (5) is part of the docs' design.
Three-column docs: navigate, read, copy. Prose and the code it describes sit side by side, so you never scroll between explanation and example. Cost: on narrow screens the layout must collapse carefully, and every prose change needs a matching code change.
Personalized samples. When you are signed in, code samples can include your own test API key, so pasted code runs as is. Cost: docs become a logged-in product with security considerations (only test keys, never live ones).
Test mode as a first-class world. Separate test keys (sk_test_…), a dashboard toggle and documented test cards for success, decline and authentication. Developers can rehearse every path, including failure. Cost: two parallel environments to keep consistent.
Errors written for the reader. An API error carries a machine type, a code, the parameter at fault, a human message and often a link to the docs. Errors are documentation that arrives exactly when needed. Cost: every error path needs writing and maintenance.
Consistent, guessable naming. Objects and parameters follow strict conventions, and API versions are pinned per account so changes do not break integrations. Cost: heavy internal review for every new endpoint.
Checkout: from a modal to a hosted page. Early Stripe Checkout was a pop-up form on the merchant's site. In 2019 Stripe launched a new hosted Checkout page, which made it easier to support new rules (such as Europe's Strong Customer Authentication), wallets and local payment methods without each merchant rebuilding forms. Cost: merchants give up some control over their page.
A brand that signals care. Stripe's site is known for its animated gradients and precise typography. For a company selling invisible infrastructure, visible care is evidence. Cost: high expectations for every page, and the gradient became an industry cliché.
An error message as interface
Compare the two responses below. Both report the same problem. Only one lets a tired developer fix it in under a minute.
Don't
HTTP 400
{ "error": "Bad Request" }
A status, not a message. Which field? Why? What now? The developer starts guessing and searching.
Type, code, cause, field, words, link. The machine can branch on code, the human reads message, and the docs are one click away. (Shape modelled on Stripe's documented error object.)
Trade-offs and criticisms
Stripe's product surface has grown enormous (billing, tax, identity, issuing, terminals and more), and its docs and dashboard now carry that complexity; newcomers can feel lost where they once felt welcomed. Fees are higher than some local alternatives, so in markets like India many businesses choose local gateways. Hosted Checkout trades merchant control for compliance and conversion. And the visual brand's success turned "Stripe gradient" into a template that many startups copy without the substance behind it.
Steal this for your software
If your users are developers, your docs and errors are your UI. Design them with the same care as screens.
Put explanation and example side by side.
Give every error a code, a cause, a human sentence and a next step.
Offer a safe practice mode with clearly fake data and documented failure cases.
Version your contracts (APIs, file formats) so users' work never breaks silently.
For the solo creator
Even if your product has no API, you have a "developer experience": the import format, the export file, the webhook, the CSV template, the settings URL. Each is a tiny Stripe-sized opportunity. Write one docs page per integration point, with a copyable example and the three most common errors explained. It will cut your support email more than any visual redesign.
Copy
Example beside explanation.
Structured, linkable errors.
Test mode with documented failure cases.
Don't copy blindly
The animated gradient as a brand shortcut.
A sprawling docs tree for a small product: one good page beats twenty thin ones.
Related products
Twilio2008
Developer-first communications API with quick-start docs. DX as a go-to-market strategy predates and parallels Stripe.
RazorpayIndia, 2014
Developer-friendly payments for Indian businesses, with UPI and local methods built in. The same DX lesson adapted to local rails.
Vercel, Supabase2020s
Docs with copyable commands, clear error pages and dashboards built around developer flow. A whole generation of tools absorbed the Stripe approach.
Common mistakes
Errors as status codes
Frameworks return generic errors by default.
Wrap every error in a consistent object with code, message, field and help link.
Docs that only describe
Writing prose is easier than maintaining runnable examples.
Lead every docs page with a working example; explain after.
Check yourself
Users of your CSV import keep failing with "Import error". What Stripe-style change helps most?
Specific location plus cause plus a known-good example is the Stripe error pattern applied to an import. Colour and FAQs do not tell users what to fix.
Exercise 10.1 60 minutes · on your own product
Rewrite your five worst errors
Search your code for every user-facing error string. Pick the five most frequent (from logs or support).
Rewrite each with: what happened, why, and what to do next. Add a code you can search in logs.
Where there is a field at fault, point to it.
Write one docs page that lists the codes with fixes, and link each error to it.
You're done when: five errors are rewritten in code, each with a code and next step, and a docs page lists them.
Beginner
Competent
Strong
Friendlier wording only.
Cause, next step and code for each.
Errors link to docs, logs carry the code, and support volume for those errors is tracked.
Connect the ideas · Part three recap
Linear, Superhuman, Raycast and Stripe all "feel fast". Which statement is most accurate?
Speed is a stack, exactly like the nine lenses in chapter 1. Animation and visuals can make a fast product feel faster (see Motion & Feel), but cannot rescue a slow architecture or a confusing error.
Part four
Craft on a small screen
Four products made by tiny teams or single people, all on the phone, all remembered for touch and feel. A camera for photographers, a podcast player from one developer, a feed reader from another, and the app that invented pulling to refresh. These are the closest models for your own situation: small teams whose taste and care are the competitive advantage.
11
Halide
Taught by Sebastiaan de With and Ben Sandofsky (Lux Optics)
A pro camera app that gives iPhone photographers manual control without menus, by mapping each control to a gesture or dial within thumb reach, and by borrowing visual aids from real cameras (focus peaking, histograms) so the screen tells you what the sensor sees.
MakerLux Optics (de With, Sandofsky)
Year2017; Halide Mark II 2020
CategoryCamera app, iPhone
Study it forExpert controls, gestures, reachability, honest feedback
Apple's Camera app is built for everyone and hides almost every control. Pro camera apps before Halide often went the other way, exposing every setting as a tiny button. Halide's founders (a designer and an engineer, both photographers) asked what a physical camera does well: controls are where your fingers already are, and each control has one job. Halide maps that onto glass. It also writes publicly and in depth about iPhone camera hardware on its blog, which educates its users and markets the app at once.
Schematic. Swipe up or down on the viewfinder to change exposure (1). A focus dial near the thumb switches between auto and manual focus (2), and in manual focus the in-focus edges glow (3). A small histogram (4) and a large shutter at the bottom (5), with the mode readouts at the top (6), where they are read but rarely touched.
Gestures on the image, not buttons over it. Swiping vertically anywhere on the viewfinder adjusts exposure. The whole screen is the control, so you keep your eye on the picture. Cost: gestures must be taught, and accidental swipes must be easy to undo (a tap returns to auto).
Manual focus as a dial under the thumb. Focus is adjusted by sliding along a control near the bottom corner, the way a lens ring sits under your fingers. Cost: left-handed use and large phones need care.
Focus peaking. While focusing manually, edges that are in focus are outlined in colour. It borrows a decades-old aid from video and mirrorless cameras to answer the question "is it sharp?" on a small screen. Cost: visual noise when on, so it appears only during manual focus.
Live histogram and readouts. Small, legible, honest data about the exposure. Pros read them; beginners can ignore them. Cost: screen space.
Reachability first. Frequently touched controls cluster at the bottom, within a one-handed thumb arc. Rarely touched indicators sit at the top. Cost: the top of the screen becomes "read only", which some users find odd at first.
Opinionated output options. Halide offers RAW capture and, from 2024, "Process Zero", a mode that skips Apple's heavy computational processing for a more natural, film-like file. The product takes a position on what a photo should be. Cost: images look less "finished" than the default camera's, which some people dislike.
Teaching as marketing. Long blog posts analyse each new iPhone's camera in detail. Users learn the craft, and trust the app made by people who know it. Cost: time spent writing instead of building, which is a fine trade for a small team.
Place controls by frequency and reach. The idea comes from Steven Hoober's research on how people hold phones. Halide puts what you touch often in the green arc, and what you only read at the top. More in Structure & Interaction.
Don't
Controls as a dashboard. Small buttons in the hardest place to reach, covering the image.
Do
Controls as an instrument. The picture dominates; the few controls you touch live where the thumb rests.
Trade-offs and criticisms
Gesture-heavy interfaces are invisible until learned, and Halide relies on a short tutorial and on users who want to learn. Pro features shift with every iPhone generation, so the app must constantly chase hardware changes. Some photographers want more manual controls, others fewer, and the app's personality (dark, precise, camera-like) suits some tastes more than others. The pricing, a subscription with a one-time purchase option, tries to serve both the casual and the committed.
Steal this for your software
Rank controls by how often they are touched, and place them by reach. Read-only information can live far away.
Use the whole content area as a gesture surface for the most frequent continuous control.
Borrow feedback aids from the physical craft your users already know.
Show modes and aids only while they matter (focus peaking only in manual focus).
Teach the craft in public; it builds trust and markets the product.
Copy
Controls in the thumb arc.
Contextual visual aids.
A one-tap way back to automatic.
Don't copy blindly
Gestures with no visible hint at all.
A dark "pro" look for an app used by beginners.
Related products
Apple CameraApple
Minimal controls, heavy automatic processing. The default Halide defines itself against.
VSCO2012
Film-like presets and a minimal camera. Taste as product, aimed at mood rather than control.
Manual control apps with different densities. Compare how each solves reach and visibility.
Common mistakes
Designing on your own phone size
You test with the device in your pocket.
Test reach on the largest and smallest supported phones, held in one hand, both left and right.
Hidden gesture, no escape
Gestures feel elegant in a demo.
Pair every gesture with a visible indicator and a one-tap reset.
Check yourself
In your workout app, people adjust the weight between sets dozens of times per session, with sweaty hands. Where should the control go?
Frequent, continuous adjustments belong in the easy thumb zone with large targets. That is Halide's exposure and focus logic applied to a different job. Typing and top-corner controls cost reach and precision.
Exercise 11.1 45 minutes · on your own product (mobile)
Map your controls to the thumb
Screenshot your product's busiest mobile screen.
Draw the thumb zones over it (easy, stretch, hard) for a right-handed one-handed grip.
Label each control with how often it is used (often, sometimes, rarely).
Move every "often" control into the easy zone and every "rarely" control out of it. Sketch the result.
You're done when: you have a before and after with thumb zones drawn and every control labelled by frequency.
Beginner
Competent
Strong
Zones drawn, no changes.
Frequent controls moved into reach.
Tested on two phone sizes and both hands, with one gesture added for the most frequent action.
12
Overcast
Taught by Marco Arment
A podcast player built and run by one developer, distinguished by two audio features (Smart Speed and Voice Boost) that improve the thing people actually came for, the sound, and by a business model that shows its workings openly.
MakerMarco Arment (solo)
Year2014
CategoryPodcast player, iPhone and Apple Watch
Study it forSolo product strategy, invisible features, honest monetization
Marco Arment built Instapaper and was an early engineer at Tumblr before making Overcast alone. Podcast apps mostly compete on directories and lists. Overcast competes on what you hear. Smart Speed shortens silences in speech without changing the speed of voices, and the app tells you how much time it has saved you in total. Voice Boost evens out loudness and adds clarity so quiet hosts and loud guests sound balanced, which matters in a car or on a noisy bus.
Schematic. Two audio features as simple toggles (1, 2), a running total of time saved (3), large skip and play controls for use while walking or driving (4), and a plain progress bar (5).
Smart Speed: remove silence, not syllables. Shortening pauses saves time without making voices sound sped up. It is a feature you cannot see, only hear. Cost: occasional clipped dramatic pauses, and heavy engineering in audio processing.
Voice Boost: fix the audio, not the UI. Loudness normalization and clarity, tuned for speech. Cost: it alters the producer's mix, which some audio purists dislike, so it is a toggle.
Show the invisible benefit. A cumulative "time saved" figure turns a hidden feature into a felt one. Cost: almost none, and it is a quiet form of marketing users share.
Big controls for distracted moments. Skip buttons and play are large because podcasts are heard while walking, cooking or driving. Cost: less room for metadata.
Business model in public. Overcast began with a paid unlock, moved in 2015 to all features free with optional patronage, and later settled on unobtrusive ads plus a paid subscription that removes them. Arment explained each change publicly, including his reasoning about not tracking listeners. Cost: lower revenue than an aggressive model; gain: trust.
Scope set by one person's capacity. iPhone, iPad and Watch, with a web player; no Android app. One developer cannot do everything, so the platform choice is a decision about quality. Cost: a large market not served.
Redesign when the foundation ages. Arment has rewritten large parts of the app over the years, including a major rewrite and redesign in 2024, accepting the cost of change to keep a one-person codebase maintainable. Cost: some long-time users disliked the new layout at first.
Lab: Smart Speed, simplified
Original 0:00With Smart Speed 0:00Saved 0%Over 10 h of listening a week: 0 min
Bars are speech; gaps are silence. Shortened gaps are marked in the accent colour. This toy model uses made-up but realistic pause lengths. The real feature is more careful, and the percentages it achieves depend heavily on how a show is edited.
Trade-offs and criticisms
A one-person product moves at one person's pace: feature requests wait, and some never come (no Android). Opinionated redesigns can upset long-time users, and with no team to absorb feedback the developer carries all of it. The ad-supported tier depends on the podcast ad market. And because the best features are audio, they are hard to show in screenshots and App Store pages, which is why "time saved" matters so much.
Don't
Engineering name, invisible benefit. The feature exists but the user cannot feel or explain it.
Do
Human name, visible benefit. One sentence explains it; one number proves it.
Steal this for your software
Improve the substance of the experience (the audio, the text, the data), not only the screens around it.
Make invisible features visible with a running total of their benefit.
Explain your business model in plain words, and change it in public when you must.
Choose platforms by the quality you can sustain alone.
For the solo creator
Overcast is the clearest example in this guide of a sustainable one-person product. Three habits stand out: a small number of excellent features rather than parity with big competitors; frequent public writing and podcasting about decisions, which builds an audience that forgives slowness; and willingness to rewrite when the codebase would otherwise slow every future change. Read The Solo Practice next to this chapter.
Copy
A signature feature in the core content.
Benefit counters.
Transparent pricing changes.
Don't copy blindly
Rewrites without a migration plan for users' data and habits.
Skipping a platform your core users actually need.
Related products
Pocket CastsShifty Jelly, 2010; now Automattic
Cross-platform, "Trim Silence" and volume boost. The same audio ideas with broader platform reach.
Castro2014
A triage model: new episodes go to an inbox, you choose what enters the queue. A different signature: workflow rather than audio.
Apple PodcastsApple
The pre-installed default. Third-party players must be distinctly better at something specific.
Common mistakes
Feature parity as strategy
Competitor feature lists feel like a to-do list.
Pick one thing users care about that big players treat as secondary, and be the best at it.
Silent business model changes
Announcing price changes feels risky.
Explain the why before the change, honour existing customers where you can, and answer criticism directly.
Check yourself
Your PDF reader compresses scanned books so they load faster, but nobody mentions it in reviews. What is the Overcast lesson?
Smart Speed's "time saved" counter shows that invisible benefits become valued when they are named simply and quantified. An onboarding slide is forgotten; a running total is seen every time.
Exercise 12.1 40 minutes · on your own product
Name and count an invisible feature
List features in your product that work silently (caching, auto-save, deduplication, smart defaults).
Pick the one with the biggest real benefit.
Give it a human name and a one-line explanation.
Design a small running total or "since you started" figure, and decide where it lives (settings, a stats screen, a monthly email).
You're done when: you have the name, the sentence, a mock of the counter and the data you would need to compute it.
Beginner
Competent
Strong
A name, no counter.
Name, sentence and counter mock.
Counter shipped, computed from real data, with no extra tracking beyond what you already store.
13
Reeder
Taught by Silvio Rizzi
A feed reader made by one designer-developer that set the standard for calm reading on iOS and macOS, then, in 2024, rethought itself from an inbox of unread items into a single timeline you simply scroll, with no unread counts.
MakerSilvio Rizzi (solo, Switzerland)
YearOriginal Reeder 2010; new Reeder September 2024
CategoryRSS and feed reader, Apple platforms
Study it forReading typography, gestures, rethinking a mental model
You met Silvio Rizzi in the starter guide. This breakdown looks at a rare thing: a successful product that changed its core model. Classic Reeder treated feeds like email: every article is unread until you read it or mark it read, and the counts pile up. Many people experience that as a chore. In 2024 Rizzi released a new app called simply Reeder, which pulls in RSS, YouTube, Reddit, Mastodon, Bluesky, podcasts and more into one timeline, remembers your position across devices, and drops unread counts entirely. The previous app continues as Reeder Classic.
Two models, one designer. Classic Reeder counts what you have not read (1) and offers a gesture to clear it (2). The new Reeder mixes sources in one stream (3, 4) and remembers where you stopped (5) instead of judging what you missed.
Unread counts removed. A number on every feed turns reading into a debt. The new Reeder replaces "what have I not read?" with "where was I?". Cost: completionists who liked clearing their inbox felt the product had been taken away; hence Reeder Classic remains available.
One timeline for many sources. Articles, videos, social posts and podcasts arrive in the same chronological stream, each with a light source label. Cost: mixing media types makes typography and layout harder, and some users want separation.
Position sync as the core promise. Pick up exactly where you left off on any device. It is what makes a timeline without counts work at all. Cost: sync must be reliable; a lost position breaks the model.
Reading typography first. Both apps open articles in a clean reader view with careful line length, spacing and fonts. Cost: original site styling is lost, which is the point.
Gestures carried over. Swipes for common actions (save, star, share) and pull gestures keep the feel that made Reeder famous. Cost: discoverability, as always with gestures.
Keeping the old app alive. Instead of forcing the change, Rizzi kept Reeder Classic for people who want the inbox model. Cost: two products to maintain for a solo developer.
A new business model with the new app. The new Reeder is sold as a subscription with a trial, where earlier versions were one-time purchases. Cost: some loyal users resisted the change; gain: income for continuous work on many integrations.
Trade-offs and criticisms
The rethink split the audience, as any model change does. Reviewers noted that the timeline is great for skimming but worse for "I must read every post from this one blog". Some missed the feature of marking things read. The lesson is not that the timeline is right. It is that a mental model (inbox versus stream) is the deepest design decision in a product, and changing it is a new product, which is why Rizzi shipped it as one rather than as Reeder 6.
Don't
Counts as guilt. Red numbers make leisure feel like overdue work.
Do
Position as kindness. The app remembers where you were and asks nothing more.
Steal this for your software
Audit every count and badge: is it information, or is it guilt?
When the mental model must change, ship a new product and keep the old one available for a while.
Sync position, not just data. "Where was I?" is often the real question.
Put reading typography before chrome in any app where people read.
Copy
A "you were here" marker.
Source labels that are quiet but always present.
Clean reader views.
Don't copy blindly
Removing counts in a product where completeness matters (support tickets, bills).
Mixing media types without a strong typographic system.
Related products
NetNewsWireBrent Simmons, 2002; open source since 2019
A free, native, inbox-model reader. The classic model done with care and no business model at all.
Feedbin, Inoreader, FeedlyWeb services
Sync services and readers with different densities and AI features. The backend market Reeder relies on.
Counts are easy to compute, so they appear everywhere.
Show counts only where the user must act on every item. Elsewhere show recency or position.
Forcing a model change
You are convinced the new model is better.
Offer the old model as a mode or separate app for a transition period, and explain the reasoning.
Check yourself
Your newsletter-reading app shows "312 unread". Users say they feel anxious opening it. What is the strongest Reeder-style response?
Grey badges, caps and "mark all read" all accept the inbox model and soften it. Reeder's move was to change the model itself: no debt, just a place to return to. Whether that fits depends on whether your users must read everything.
Exercise 13.1 30 minutes · on your own product
The badge audit
List every number, badge and dot your product shows.
For each, write the action the user should take because of it.
If there is no action, or the action is "feel behind", propose a replacement (recency, position, nothing).
You're done when: you have a table of indicators with "action" and "keep, replace or remove" for each.
Beginner
Competent
Strong
List only.
Each indicator justified or replaced.
You removed at least one indicator and checked support or analytics a week later for any harm.
14
Tweetie and Letterpress
Taught by Loren Brichter
Two apps by one developer that show two kinds of invention: Tweetie turned a list's natural physics (scroll past the top) into a command, pull to refresh, that every platform adopted; Letterpress turned a word game into a lesson in flat colour, clear state and turn-based calm.
MakerLoren Brichter (atebits)
YearsTweetie 2008, Tweetie 2 in 2009 (acquired by Twitter in 2010); Letterpress 2012
CategoryTwitter client; word game
Study it forGesture invention, performance as design, visual language
Tweetie was a Twitter client for iPhone that was fast, dense and elegant at a time when most apps were none of these. Tweetie 2 introduced pull to refresh: drag the timeline down past the top, an arrow flips to say "release", let go, and new tweets load. Twitter bought atebits in 2010 and Tweetie became the official Twitter app. Brichter also wrote openly about how he made scrolling fast by drawing each table cell as a single flat image rather than many layered views, a reminder that "feel" is often an engineering decision. In 2012 he released Letterpress, a two-player word game whose flat, bold colour fields looked strikingly different from the textured iOS design of the time, a year before iOS 7 went flat.
The gesture is the list's own physics. You already scroll to the top to look for new things, so overscrolling becomes the command (1). The arrow flip marks the commit point (2), and the new items appear where your eye already is (3).
Pull to refresh uses a motion users already make. People scroll to the top to see what is new. Extending that motion past the edge needs no new button and no new concept. Cost: the action is invisible until learned (the text hint solves it).
A visible threshold. The arrow flips and the label changes from "pull" to "release" at the commit point, so you can cancel by not pulling far enough. Feedback makes a gesture safe. Cost: none worth naming; it is a model of good gesture design.
New content arrives where you are looking. Fresh items appear at the top of the list, under your thumb. Cost: the list position must be managed so you do not lose your place.
Performance as design. Fast, smooth scrolling made the dense timeline readable in motion. On 2008 iPhone hardware, that required custom drawing. Cost: a lot of low-level engineering for something users only notice when it is missing.
Letterpress: a flat colour language. Tiles take your colour or your opponent's; protected tiles become a darker shade. The whole game state is readable at a glance from colour alone. Cost: colour must be paired with shade differences for colour-blind players (Letterpress offered alternative colour themes).
Letterpress: turns, not real time. Built on Game Center's turn-based play, games can last days. It is a calm social game, the opposite of an arcade. Cost: games can stall when opponents vanish.
Letterpress: generous free, simple paid. The game was free to play, with a one-time purchase unlocking extra features such as unlimited simultaneous games and themes. Cost: lower revenue than ads or energy timers; gain: a clean experience.
Lab: pull to refresh
↓Pull down to refresh
@lauren Shipped the new onboarding today.
@ravi Reading about calm technology on the train.
@mei Hot take: settings are a design failure.
@sam Coffee first, then code.
Drag the list down with mouse or finger. Release before the arrow flips and nothing happens; release after and new posts load. The threshold is 70 px. The button shows the accessible alternative every gesture needs.
Trade-offs and criticisms
Pull to refresh became so common that it spread into apps where it made no sense (lists that update live anyway), and Brichter himself has said in interviews that he has mixed feelings about its overuse and about the pull-to-refresh "slot machine" feeling in social feeds. Twitter later held a patent on the gesture, though it committed to using it only defensively. Letterpress's flat colour language, admired in 2012, helped push a trend that sometimes went too far, stripping affordances from buttons across the industry. Inventions escape their context; the designer cannot control what the industry does with them.
Steal this for your software
Look for motions users already make and ask whether extending them could be a command.
Give every gesture a visible commit point and a way to cancel.
Treat performance in core interactions (scroll, type, open) as design work.
Design a colour language where state is readable at a glance, and test it without colour.
Ask whether a gesture you add could become a compulsion loop. Prefer live updates where possible.
Copy
Threshold feedback on gestures.
Button fallbacks for every gesture.
State through colour plus shade.
Don't copy blindly
Pull to refresh on content that is already live.
Flat design that removes the cues showing what can be tapped.
Related products
iOS and Android lists2013 onward
Platform refresh controls (UIRefreshControl on iOS, SwipeRefreshLayout on Android) made the gesture standard. A third-party invention became a platform convention.
ClearRealmac and Impending, 2012
A to-do app built almost entirely on gestures (pinch, pull, swipe). Shows the limit: delightful, but hard to learn.
WordleJosh Wardle, 2021
A word game with colour as state and one puzzle a day. Letterpress's calm, readable-state lesson in a new form.
Common mistakes
Gesture without threshold
The first prototype fires on any drag.
Add a visible commit point and allow cancellation by releasing early.
Colour-only state
Colour reads instantly for you.
Pair colour with shade, shape or label, and test with a colour-blindness simulator. See Accessible & Inclusive.
Check yourself
Your chat app already receives new messages live over a socket. Should you add pull to refresh?
Pull to refresh solves "I want to check for new items". Live content removes that need. Adding it anyway teaches users to doubt that the app is up to date. If the overscroll gesture is free, use it for something meaningful.
Exercise 14.1 45 minutes · on your own product
Invent one gesture from existing motion
Watch yourself use your product for ten minutes, ideally on a screen recording. Note repeated motions (scroll to top, swipe back, long press).
For one motion, propose an extension that becomes a command, the way overscroll became refresh.
Design its threshold, feedback, cancel and button fallback.
Decide whether it could become compulsive, and how you would prevent that.
You're done when: you have a three-frame storyboard (start, threshold, result) plus the fallback and a one-line ethics note.
Beginner
Competent
Strong
A gesture with no threshold or fallback.
Threshold, feedback, cancel and fallback designed.
Prototyped in code and tried by someone who was not told it exists; they found it.
Connect the ideas · Part four recap
Halide, Overcast, Reeder and Tweetie were made by one to two people. What do they suggest about competing as a solo creator?
Each app has a signature quality that big platform apps treat as secondary: audio, reading calm, manual control, gesture feel. Each maker writes publicly about decisions. Each chose platforms and features it could do well. This is the solo strategy from The Solo Practice.
Part five
Models, canvases and platforms
Three chapters about products whose core design decision is a model of the world: blocks or files, a shared canvas, a browser as a workspace. These are bigger, more ambitious products than the ones before. Study them for how a model creates power and confusion at the same time, and for the costs of ambition.
15
Notion and Obsidian
Taught by Ivan Zhao and Notion, with Shida Li, Erica Xu and Steph Ango (Obsidian)
Two answers to "where should my knowledge live?": Notion says everything is a block in a shared, cloud-hosted workspace you can shape into anything; Obsidian says everything is a plain Markdown file on your own disk, connected by links. Each model makes some things effortless and others impossible.
YearsNotion 2016, with databases from 2018; Obsidian 2020
CategoryNotes, docs and knowledge tools
Study it forConceptual models, flexibility vs opinion, blank canvas, ownership
In Notion, a paragraph, a heading, an image, a to-do and an entire database are all blocks. Type / and you can turn any line into any block. Pages contain blocks; databases contain pages; views show databases as tables, boards, calendars or galleries. With a few primitives you can build a wiki, a CRM or a habit tracker. In Obsidian, a note is a .md file in a folder (a "vault"). You connect notes with [[double bracket links]], and the app shows backlinks and a graph of connections. Obsidian's CEO, Steph Ango, summed up the philosophy in a 2023 essay titled "File over app": the files should outlive the app.
Two conceptual models. Notion's power is composition (blocks inside pages inside databases). Obsidian's power is durability and connection (plain files plus links; a dashed note is a link to a page that does not exist yet).
Everything is a block. One primitive, endlessly combined. Cost: abstraction. New users must learn what a block is before they can build anything beyond a page of text.
The slash menu. Type / to insert any block by name: a command palette inside the text. Cost: none worth naming; it became a pattern across the industry.
Databases with views. One set of rows can be a table, a kanban board, a calendar or a gallery. Cost: people build systems more complex than their needs, and maintaining them becomes a hobby.
Templates against the blank canvas. Because the canvas can be anything, a new user facing an empty page has no idea where to start. Notion answers with template galleries, including a large community of template makers. Cost: users adopt someone else's elaborate system and abandon it.
Cloud-first and collaborative. Workspaces, sharing and permissions made Notion a team tool. Cost: dependence on the network; Notion has long been criticized for speed and offline behaviour.
Calm, neutral visuals. Monochrome UI, emoji page icons and cover images let users bring the colour. Cost: workspaces can become visually noisy because users decorate.
Plain files in a folder you own. Notes are Markdown files; quitting Obsidian loses nothing. Cost: features that need a database are harder, and sync is your problem or a paid add-on.
Links and backlinks as the main structure. Typing [[ links notes; each note shows what links to it. Ideas connect without a hierarchy. Cost: messy vaults if you never tidy, and link rot when renaming (Obsidian updates links for you).
The graph view. A visual map of notes and links. Cost: often more impressive than useful; it is a motivating picture rather than a daily tool.
A plugin ecosystem. Thousands of community plugins add calendars, databases, task systems. Cost: quality varies, plugins break on updates, and setups grow fragile and personal.
Business model: free for personal use, pay for services. The app is free; Sync and Publish are paid. Obsidian has no venture capital, by choice. Cost: a small team serving a huge user base.
"File over app" as a public value. The essay explains why durability matters more than any feature. Cost: some conveniences (real-time collaboration) are ruled out.
Flexibility versus opinion
Notion and Obsidian are both flexible, and both pay the flexibility tax: the user becomes the designer of their own system. That is a joy for some and a burden for most. Compare Things (chapter 4) and Bear (chapter 5), which make the system decisions for you. Neither approach is right in general. Ask who your user is. A person who enjoys building systems will love blocks and plugins. A person who wants to get on with work will abandon them after the first weekend.
A placement, not a ranking. Positions are approximate. Where would your product sit, and is that where your users want it?
Don't
The blank canvas. Power users see possibility; everyone else sees homework.
Do
Starting points. A few simple, specific templates, with the empty page still one tap away.
Steal this for your software
Write down your product's primitives (blocks? files? items?) and make sure there are as few as possible.
Use a slash or command menu for inserting things into text.
Defeat the blank canvas with two or three small, specific templates, not a gallery of elaborate systems.
If users' data is personal and long-lived, prefer open formats ("file over app").
Decide where on the opinion-flexibility spectrum you sit, on purpose.
For the solo creator
Do not build a Notion. A flexible platform needs years of work on primitives, performance, permissions and templates before it beats a focused tool. A solo product wins by being opinionated about one job. If you love flexibility, make it an escape hatch (export, an API, a plain-text format) rather than the core experience.
Copy
Few, composable primitives.
Slash insertion.
Backlinks for anything linkable.
Don't copy blindly
Unlimited flexibility for users who want answers.
A plugin system before your core is stable.
A graph view as a selling point without a daily use.
Related products
Roam Research2019
Popularized bidirectional links and daily notes for a devoted audience. Obsidian adopted the ideas with local files.
Coda, Airtable2010s
Docs-as-apps and spreadsheet-databases. Notion's database side, pushed further toward building tools.
Logseq2020
Open-source outliner on local files. Blocks and files combined, with different trade-offs.
Common mistakes
Flexibility as a substitute for decisions
"Users can configure it how they like" avoids hard choices.
Ship a strong default system; offer flexibility at the edges.
Template galleries as onboarding
Templates look generous.
Offer two or three small templates tied to the user's first task. Large systems belong later.
Check yourself
You are building a recipe app for home cooks. A friend says "make it like Notion so people can organize recipes however they want". What is the best reply?
Home cooks want to cook, not design a database. An opinionated model serves them, and export protects their data. Flexibility belongs where needs vary (dietary tags, units), not at the core.
Exercise 15.1 45 minutes · on your own product
Write your primitives
List the nouns your product is made of (items, lists, documents, tags, users).
Merge any that could be the same primitive with a property.
Place your product on the opinion-flexibility line and write one sentence on why.
Design the first screen a new user sees with no data. Replace any blank canvas with two or three specific starting points.
You're done when: you have a primitive list of five or fewer, a spectrum placement with a reason, and a new empty-state sketch.
Beginner
Competent
Strong
List of features, not primitives.
Five or fewer primitives and a placement.
The primitive merge removed a feature or screen from your roadmap.
16
Figma
Taught by Dylan Field and Evan Wallace
A design tool that put the whole file in the browser and made it multiplayer, so that designing became something several people can do on one canvas at once, with cursors, comments and links instead of exported files and version names.
MakerFigma (Dylan Field, Evan Wallace)
YearFounded 2012; public launch 2016
CategoryInterface design and collaboration
Study it forCollaboration as model, web as platform, constraints, growth through sharing
Before Figma, interface design happened in desktop apps (Sketch was the favourite), and sharing meant exporting, syncing files and naming versions like final_v7_REAL.sketch. Figma rendered a full vector design tool in the browser using WebGL and compiled C++ (later WebAssembly), which looked like an engineering stunt. The design consequence was the real point: a design became a URL. Anyone with the link could look, comment or edit, at the same time, with no install.
Schematic. Avatars of everyone in the file (1), live named cursors (2), comments pinned to the exact place on the canvas (3), constraints and auto layout that make frames behave like real responsive UI (4), and frames that are both design and prototype (5).
The browser as the platform. No install, any operating system, always the latest version. A design is a link. Cost: a huge engineering bet on rendering performance in the browser, and dependence on connectivity (desktop apps exist, but they wrap the same web engine).
Multiplayer by default. Live cursors with names show who is where. You can click an avatar to follow someone's view during a review. Cost: the anxiety of being watched while you work, and conflicts that need careful merging on the server.
Comments pinned to the canvas. Feedback lives on the exact pixel it is about, not in an email thread. Cost: comment clutter on busy files.
Constraints, components and auto layout. Frames resize like real interfaces; components and variants enforce consistency; auto layout (2019) brought flexbox-like behaviour. Design files moved closer to code. Cost: a steeper learning curve than drawing rectangles.
Free viewers, paid editors. Anyone can view and comment, so a designer pulls the whole company into the tool. Growth came from sharing. Cost: pricing tension as companies try to minimize paid seats.
Community and plugins. Public files, templates and plugins (from 2019) turned users into contributors. Cost: moderation and quality control.
Expansion beyond design. FigJam (2021) for whiteboarding, Dev Mode (2023) for developers, and later AI and site-building features. Cost: a growing, more complex product; an attempted acquisition by Adobe, announced in 2022, was abandoned in late 2023 after regulatory scrutiny.
Feedback: file-based versus canvas-based
onboarding_v6.sketchMon
onboarding_v7_final.sketchTue
onboarding_v7_final_REAL.sketchWed
Email: "In screen 3, the button, the second one?"Wed
Export PNGs again for the developerThu
figma.com/file/… (one link)Always current
Comment pinned on the "Get started" buttonResolved
Developer inspects spacing directlyNo export
Version history named only when it mattersAutomatic
Files: every handoff is a copy, and feedback points vaguely at a picture of a picture.
Shared canvas: one source of truth, and feedback attaches to the exact object. The design cost is that everyone sees your mess.
Trade-offs and criticisms
Figma made collaboration so easy that it changed design culture, not always for the better: work in progress is visible to everyone, and some designers describe feeling watched, or note that reviews multiply because they are so easy. The product has grown heavy as it expanded. Pricing changes have frustrated teams. And because Figma became the standard, alternatives struggle, which concentrates power over a profession's main tool in one company.
For the solo creator
Figma's collaboration features matter less to you; there is no team in the file. What transfers is the idea that a link is better than a file, and that feedback should attach to the exact thing. When you ask users for feedback, send a link to a live prototype or a staging build, and give them a way to point at the exact element (a screenshot tool with arrows, or a feedback widget that records the element). And remember you can also design directly in code; see The Solo Practice.
Steal this for your software
Make your user's work addressable by URL, down to the item if possible.
Attach comments and feedback to the exact object, not to the whole document.
Let viewers in for free if sharing grows your product.
Show presence (who else is here) only when it helps people coordinate.
Copy
Deep links to objects.
Pinned comments.
Free read access for collaborators.
Don't copy blindly
Live cursors in a single-user product.
Real-time sync when users rarely work at the same time (simpler sync is enough).
Related products
Google Docs2006
Real-time co-editing of documents in the browser. Figma brought the same model to a far harder medium.
SketchBohemian Coding, 2010
The Mac-native tool that defined UI design in the 2010s, later adding collaboration. A native-quality single-user tool overtaken by a collaborative model.
PenpotOpen source
An open-source, browser-based design tool built on web standards. An answer to concentration of power in one vendor.
Common mistakes
Collaboration features nobody needs
Multiplayer is fashionable.
Count how often your users actually work at the same time as someone else. If rarely, links and comments beat live cursors.
Feedback without location
Email and chat are the default channels.
Give every piece of feedback a pointer to the exact thing it is about.
Check yourself
Your invoicing app is used by freelancers who send invoices to clients. Which Figma idea fits best?
Free viewer access and comments pinned to the exact thing are the transferable ideas. Freelancer and client do not work on the invoice at the same moment, so live presence adds nothing.
Exercise 16.1 30 minutes · on your own product
Make it a link
Find one thing in your product that users export, screenshot or copy to share.
Design a shareable link for it: what a non-user sees, what they can do (view, comment, approve), and how it expires.
Decide what a comment attaches to.
You're done when: you have a sketch of the shared view and a short spec of permissions and expiry.
Beginner
Competent
Strong
A public link with no permissions thought.
Viewer page with clear permissions and expiry.
Comments attach to specific objects, and the owner sees them in context.
17
Arc
Taught by The Browser Company (Josh Miller and team)
A browser that reimagined tabs as a workspace (a vertical sidebar, separate Spaces, tabs that tidy themselves away) and won passionate fans, then showed the limit of ambitious redesign when its makers concluded it asked too much of ordinary people and moved on to a simpler, AI-centred browser.
MakerThe Browser Company (New York); acquired by Atlassian in 2025
YearsMac public release 2023; Windows 2024; new feature work largely stopped late 2024; Dia browser from 2025
CategoryWeb browser
Study it forRethinking a mature category, auto-tidying, the cost of novelty
Browsers had barely changed in a decade: a row of tabs that shrink until unreadable. Arc moved tabs into a vertical sidebar, separated work and personal browsing into Spaces with their own colours, split tabs into pinned (kept) and today (temporary), and archived temporary tabs automatically after a period of inactivity (12 hours by default). It was beautifully made and deeply loved by a minority. In October 2024 the company told users it would stop major feature development on Arc to focus on a new product, and in 2025 it released Dia, a simpler browser built around AI. In a public letter, CEO Josh Miller reflected that Arc had been too different, too many new things to learn, for most people. In September 2025 Atlassian announced it would acquire the company.
Schematic. A command bar at the top of the sidebar (1), favourites as icons (2), pinned tabs that stay (3), today tabs that archive themselves when idle (4), and Spaces at the bottom (5). The page gets all the remaining room.
Vertical tabs in a sidebar. Titles stay readable however many tabs you open. Cost: horizontal space, and a break with twenty years of habit.
Pinned versus today. Two kinds of tab for two intentions: things you return to, and things you are just looking at. Cost: a new concept to learn on day one.
Auto-archive. Unpinned tabs you have not viewed for a while (12 hours by default, adjustable) slide into an archive. Tab hoarding is solved by forgetting on your behalf. Cost: the occasional panic of "where did that tab go?", softened by a searchable archive.
Spaces with their own colour and profile. Work and home are separated visually and by login. Cost: more structure to set up.
The browser as a creative object. Boosts (restyle any site), Easels (collage boards), split view and Little Arc windows. Cost: feature sprawl; each delight is another thing to learn.
Strong visual identity. Coloured gradients, playful motion and a carefully crafted onboarding. Cost: high expectations and a look that ages quickly.
The decision to stop. The team concluded that Arc's learning curve limited it to enthusiasts, and redirected effort to a simpler product. Cost: disappointed loyal users. Gain: a lesson, stated in public, that most products never admit.
Lab: auto-archive
0 tabs visible, 0 archived.
Pinned tabs (tinted) never archive. Everything else archives once it has been idle longer than the limit.
Drag the limit from 1 hour to 7 days. Notice that the right answer depends on the person: a researcher might want a week, a quick browser a few hours. Arc offered a few presets rather than a free slider, a good example of constraining a setting to sensible choices.
Trade-offs and criticisms
Arc is the clearest case in this guide of the novelty tax: every new concept (Spaces, pinned versus today, archive, Boosts) was good on its own, and together they were too much for people who just wanted to open a website. Fans loved it precisely because of that richness. The business never found a revenue model before the pivot. And the turn to an AI browser raised questions about whether the company's attention had followed the product or the hype. Whatever you think of the pivot, the honest public reflection is rare and worth reading.
Don't
Novelty stacked up front. Each idea is good; the sum is a course.
Do
Novelty in doses. Start from what people know, and introduce one new concept when it becomes useful.
Steal this for your software
Count the new concepts a first-time user must learn. Keep it to one or two.
Let the product tidy itself (archive, expire, collapse) with a clear, searchable way back.
Split one ambiguous thing into two clear intentions when it helps (keep versus glance).
Offer a few presets instead of a free slider for settings with sensible ranges.
When something is not working, say so in public and explain what you learned.
Copy
Auto-tidying with an archive.
Clear separation of contexts.
Honest retrospectives.
Don't copy blindly
Many novel concepts at once.
Delight features before a business model.
Changing deep habits (tabs, keyboard shortcuts) without a familiar fallback.
Related products
Safari and Edge tab groups, vertical tabs2020s
Mainstream browsers adopted vertical tabs and groups as options. Bold products often seed ideas that the incumbents adopt gently.
Zen BrowserOpen source, Firefox-based
Brought Arc-like sidebars and workspaces to Firefox. A loved model outlives its product.
DiaThe Browser Company, 2025
A conventional-looking browser with an AI assistant built in. The same team chose familiarity first the second time.
Common mistakes
Judging adoption by your fans
Enthusiasts are loud and articulate.
Watch a non-enthusiast use your product for ten minutes. Count the concepts they had to learn.
Automatic tidying without recovery
Auto-archive feels clean in testing.
Always show where things went and make them searchable.
Check yourself
Your new calendar app introduces "streams", "blocks", "anchors" and "drift" on its first screen. Early fans love it; most trial users leave in a day. What is the Arc lesson?
Arc's problem was not any one idea; it was the stack of new concepts. Familiar first, novelty in doses, keeps the good ideas and lowers the entry cost. Removing everything novel removes the reason to exist.
Exercise 17.1 30 minutes · on your own product
The novelty budget
List every concept a new user must understand to complete your core task (including your own invented names).
Mark each as familiar (exists in other apps) or novel.
Keep at most two novel concepts on day one. Schedule the rest: when does each become useful?
Rename any novel concept that could use a familiar word.
You're done when: you have a concept list, a day-one set of at most two novel ideas, and a schedule for introducing the rest.
Beginner
Competent
Strong
Concept list only.
Day-one budget respected and a schedule.
Two concepts renamed to familiar words and onboarding updated.
Connect the ideas · Part five recap
Notion, Obsidian, Figma and Arc are all ambitious models. What is the common risk the chapters point to?
All four ask more learning than a focused app. Notion counters with templates, Obsidian with plain files, Figma with the network effect of sharing, and Arc did not overcome it. Compare the "conceptual model" ideas in The Human Mind and Structure & Interaction.
Part six
Appropriateness and scale
Three chapters about products used by hundreds of millions or billions of people. Their lessons are about fit: a design that is "ugly" but right, a habit system that works perhaps too well, and the plain, robust flows that move money and messages across India. Here, the most important lens is often the first one: who exactly is this for, on what phone, in what moment?
18
Google Search and Craigslist
Taught by Google's early search team and Craig Newmark
Two of the web's oldest surviving pages: Google's homepage stayed almost empty for decades because the job is one question, and Craigslist stayed dense and plain because the job is scanning many listings fast. Both are lessons in appropriateness, the match between form and job, rather than in style.
YearsGoogle 1998; Craigslist began as an email list in 1995, website 1996
CategorySearch; classifieds
Study it forFit over fashion, density, longevity, speed
In the late 1990s, rival search sites became "portals" stuffed with news, weather, stock prices and ads. Google's homepage offered a logo, a box and two buttons. The emptiness made the job obvious and the page fast on dial-up modems. Craigslist, meanwhile, looks like a page from 1999 because, in spirit, it is one: a city, a grid of category links, then lists of text listings. Designers love to mock it, and it has served huge numbers of people for decades. Both pages teach the same lesson from opposite ends: the right amount of design depends on the job.
Schematic, simplified. Google: one field (1) and two buttons (2), nothing else. Craigslist: dozens of category links on one screen (3) and listing rows of pure text with price (4). (City and listings invented for illustration.)
Google: one field, centred. The page has one job and shows one control. Cost: Google had to resist years of pressure to use the most visited page on the web for promotion.
Google: the results page carries the density. The homepage is empty because the results page is full: titles, links and snippets you scan in seconds. Simplicity at the entry, density where the work happens. Cost: as results pages filled with ads, cards and, from 2024, AI-generated answers, the clarity of the ten blue links eroded.
Google: play, carefully placed. Doodles change the logo for holidays and anniversaries without touching the box. Personality lives in one controlled spot. Cost: almost none.
Google: speed as a value. Results arrive fast and the page is light. Every extra kilobyte was treated as a cost. Cost: constant engineering discipline.
Craigslist: everything on one screen. The home page lists every category as a link, so you navigate by scanning, not clicking through menus. Cost: overwhelming at first glance; rewarding after one visit.
Craigslist: text over images. Listings are rows of text with price and place, so you scan dozens per screen. Images appear inside listings. Cost: less appealing for visual goods; competitors with photo grids took some categories.
Craigslist: change almost nothing. Regular users know exactly where everything is. Stability is a feature for a tool used for years. Cost: missed improvements (mobile ergonomics, safety features) that rivals exploited.
Craigslist: business model shapes design. Most listings are free; fees apply to a few categories in some cities. Without an ad business, there is no reason to add engagement features. Cost: a smaller company that innovates slowly.
Portal (1999)
Wrong for one question. The main job competes with everything else.
Google
Right for one question. The emptiness is the instruction.
Craigslist
Right for browsing many. Density is a feature when the job is scanning.
Trade-offs and criticisms
Google's homepage is still minimal, but the results page has become one of the most contested designs on the web: ads that look like results, then panels, then AI summaries that answer without sending traffic to the sites they draw on. Minimal entry and maximal results are now in tension. Craigslist's refusal to change left openings for competitors: Facebook Marketplace, OLX and Quikr in India, and many category-specific apps took share with photos, profiles and safety features. Appropriateness is not permanent. The job changes, the devices change, and so must the form.
Steal this for your software
Match density to the job: sparse for one decision, dense for scanning many.
Keep the entry point simple and put density where the work happens.
Give personality one controlled place (a logo, an empty state) rather than spreading it everywhere.
Value stability for tools people use for years. Change only what clearly helps.
Re-check fit when devices or user habits change.
Copy
One primary action on entry screens.
Text-dense lists for scanning.
Speed budgets for pages.
Don't copy blindly
"Ugly works" as an excuse for not caring.
Minimalism that hides needed information on working screens.
Related products
Hacker NewsY Combinator, 2007
A dense, text-only list that barely changes. Craigslist's lesson in a community product.
DuckDuckGo2008
A search engine that kept results simpler and made privacy its edge. Fit can be a position against the leader.
OLX, Facebook Marketplace2006; 2016
Photo-first classifieds with profiles and chat. A changed job (mobile, visual goods, trust) needed a changed form.
Common mistakes
Minimalism everywhere
Minimal looks like good taste.
Ask what the screen's job is. Working screens often need more density, not less. See Information & Data.
Redesign for freshness
Old designs feel embarrassing to their makers.
Redesign when the job or devices change, and measure whether regular users get slower.
Check yourself
Your admin dashboard for a small shop shows four big cards with one number each. The owner checks 30 orders every morning. What would a Craigslist-minded redesign do?
The job is scanning 30 orders. Density serves scanning; big cards serve a single glance. Keeping the totals in one compact row gives both.
Exercise 18.1 40 minutes · on your own product
Density audit
List your product's main screens and write each screen's job in one line: "decide one thing" or "scan many things".
Count items visible without scrolling on each screen.
For each "scan many" screen with fewer than 10 items visible, sketch a denser version. For each "decide one" screen with more than one primary action, sketch a sparser version.
You're done when: you have a table of screens, jobs and item counts, and two sketches (one denser, one sparser).
Beginner
Competent
Strong
Table only.
Both sketches, matched to jobs.
Denser screen timed with a real task: faster than before.
19
Duolingo
Taught by Luis von Ahn and Duolingo's growth and design teams
A free language-learning app that may be the most effective habit machine in consumer software: streaks, a mascot with a personality, short lessons, leagues and relentless testing. Study it for how well those mechanics work and for the honest question of whether they serve learning or engagement.
MakerDuolingo (Luis von Ahn, Severin Hacker)
YearPublic launch 2012
CategoryLanguage learning, freemium
Study it forHabit design, gamification, A/B testing, ethics of engagement
Learning a language takes hundreds of hours. Most people quit within weeks. Duolingo's design bet is that the hard part is not teaching, it is coming back. So the product makes coming back easy (lessons of a few minutes), rewarding (XP, sound, animation) and costly to skip (a streak you do not want to lose, an owl who reminds you). The company tests constantly and has written publicly about how the streak became one of its most important features. It also uses spaced-repetition research to schedule review of words you are likely to forget.
Schematic. The streak counter sits at the top, always visible (1). Hearts and gems are scarcity and currency (2). A path of short lessons with one obvious next step (3, 4). The mascot carries the voice of reminders and praise (5).
The streak. A count of consecutive days with at least one lesson. It turns a vague goal (learn Spanish) into a concrete daily one (keep the number going), and loss aversion does the rest. Cost: people do the minimum to protect the number, and a broken long streak can make someone quit entirely.
Streak protection. Streak freezes (and similar features) let a day be missed without loss. They reduce the cliff of a broken streak. Cost: they also make the streak something you can buy, which blurs the line between motivation and monetization.
Lessons of a few minutes. The unit of commitment is tiny, so starting is easy. Cost: depth; real conversation needs longer, harder practice.
One path, one next step. The home screen is a single path; the next lesson is obvious. No choice paralysis. Cost: less learner control.
A mascot with a voice. Duo the owl delivers reminders, jokes and guilt. Personality makes nagging tolerable, even shareable; the "menacing owl" became an internet meme that the company embraced in marketing. Cost: the joke depends on a relationship built on mild pressure.
Leagues and social comparison. Weekly leaderboards with promotion and demotion. Cost: extrinsic motivation can crowd out intrinsic interest; some users grind easy lessons for points.
Hearts and freemium limits. Mistakes cost hearts in the free tier; the subscription removes limits and ads. Cost: the learning mechanic (mistakes) is tied to a monetization mechanic (limits), which can punish exactly the behaviour learning needs.
Testing everything. Many changes ship as experiments measured on retention. Cost: what is measured (daily activity) can drift from what matters (actual language ability).
Two reminders for the same missed day
Your 128-day streak is about to end!
You have 2 hours left. Don't let it slip away.
Still there?
These reminders don't seem to be working…
Three minutes of Spanish?
Your next lesson: ordering food. Your streak is safe with a freeze if today is busy.
You learned 40 new words this month
Want a short review before they fade?
Pressure: loss aversion and guilt. Effective at bringing people back today; costly to how people feel about the product and themselves. (These are illustrative, written in the style the app is known for.)
Invitation: a concrete, small task, a safety net, and progress framed as gain. Probably a bit less effective at daily opens, and kinder. Which would you be proud to ship?
The ethical debate
Duolingo's mechanics clearly increase daily practice, and daily practice is good for learning. Critics argue that the mechanics optimize for the streak and the app, not for fluency: people complete easy lessons to keep a number alive, and guilt-based reminders train anxiety. Defenders reply that without the mechanics, almost nobody would practise at all. Both are partly right. The useful question for you is not "is gamification bad?" but "does each mechanic reward the behaviour that actually achieves the user's goal?" A streak for a daily habit the user chose is a tool. A streak that keeps someone tapping after the habit stopped serving them is a trap. Read Honest & Calm alongside this chapter.
The same loop can point two ways. Rewards that describe real progress strengthen the user's goal. Rewards that only protect a number strengthen the metric.
Steal this for your software
Make the smallest unit of progress tiny, so starting is easy.
Show one obvious next step on the home screen.
If you use streaks, add a safety net, and celebrate real progress more than the count.
Give reminders a consistent, kind voice, and stop sending them when they are ignored.
Pair every engagement metric with a value metric (words learned, tasks finished) and watch both.
Copy
Small daily units.
Personality in the voice of the product.
Rewards framed as real progress.
Don't copy blindly
Guilt notifications.
Tying learning mistakes to paywalls.
Leaderboards in products where comparison hurts (health, money, grief).
Related products
AnkiDamien Elmes, 2006
Spaced repetition with almost no gamification. Very effective for motivated learners; very hard for everyone else.
Headspace, Calm2010s
Meditation apps with streaks and gentle reminders. The same mechanics in a domain where guilt is especially counterproductive.
Snapchat SnapstreaksSnap, 2015
Streaks between friends. A widely criticized case of streaks creating social obligation.
Common mistakes
Streaks without exits
Streaks lift retention charts quickly.
Add freezes or weekly goals, and design a kind restart after a break.
Measuring only engagement
Daily active users is easy to count.
Define one value metric (did the user achieve their goal?) and give it equal weight in decisions.
Check yourself
Your budgeting app's retention rose after adding a "days under budget" streak. Support emails now include people hiding expenses to protect their streak. What should you do?
The streak rewards a metric (under budget) that users can game by hiding data, which defeats the product's purpose. Rewarding the behaviour that serves the goal (honest logging) keeps motivation without the perverse incentive.
Exercise 19.1 40 minutes · on your own product
Audit your loops
List every cue your product sends (notifications, emails, badges).
For each, write the reward the user gets for responding.
Mark each reward as "goal" (real progress) or "metric" (a number you care about).
Rewrite two metric-rewards as goal-rewards, and write a kind restart message for a user returning after two weeks away.
You're done when: you have a table of cues and rewards, two rewrites, and one restart message.
Beginner
Competent
Strong
Cues listed only.
Rewards classified and two rewritten.
You added a value metric to your dashboard and set a rule for stopping ignored reminders.
20
WhatsApp and UPI payments
Taught by WhatsApp (Jan Koum, Brian Acton) and India's UPI apps (Google Pay, PhonePe and others, on NPCI's rails)
Two flows that hundreds of millions of Indians use daily, many on inexpensive phones and patchy networks: a messenger whose ticks make an invisible network visible, and a scan-and-pay flow with one decision per screen. Both are lessons in designing for everyone, not for designers.
MakersWhatsApp (Meta since 2014); UPI by NPCI, apps by Google, PhonePe, Paytm and banks
YearsWhatsApp 2009; UPI 2016; Google Pay India launched as Tez in 2017
CategoryMessaging; real-time payments
Study it forFeedback, robustness, inclusion, flows for billions
WhatsApp became the default way India communicates, not because it was beautiful, but because it worked: small, fast on cheap Android phones, tolerant of bad networks, identity by phone number (no username to invent), and voice notes for people more comfortable speaking than typing. UPI did the same for money. You open any UPI app, scan a QR code at a tea stall, type ₹20, enter your UPI PIN and see a big tick. The shopkeeper's speaker box announces the amount out loud. In a few years, this became how India pays, with billions of transactions a month.
Schematic. Tick states (1 sent, 2 delivered, 3 read), hold-to-record voice (4). The UPI flow: scan (5), a standard PIN screen (6), a large success state (7), and an audio confirmation for the merchant (8). Names and amounts are invented.
Ticks make the network visible. One grey tick: sent to WhatsApp's server. Two grey ticks: delivered to the phone. Two blue ticks (added in 2014): read. In places where networks drop and phones die, knowing whether a message arrived is half the value. Cost: read receipts create social pressure, so they can be turned off (which also hides others' receipts from you).
Phone number as identity. No username, no password at sign-up; your contacts are already there. Cost: privacy, since your number is exposed to every group you join.
Voice notes as first-class. Hold to record, slide to cancel, lock to record hands-free. Voice works across literacy levels, scripts and languages. Cost: long voice notes are hard to skim (WhatsApp later added faster playback and transcripts).
Built for cheap phones and bad networks. Small app, efficient data use, messages queue and send when the network returns. Cost: engineering constraints on features.
Friction against misinformation. After viral rumours spread through forwarded messages, especially in India, WhatsApp labelled forwarded messages (2018) and limited how many chats a message can be forwarded to at once. Deliberate friction as a safety feature. Cost: inconvenience for legitimate sharing.
UPI: one decision per screen. Scan, confirm amount, enter PIN, see result. Each screen asks one question with one large button. Cost: little room for extras, which is correct.
UPI: a standard PIN step. PIN entry is a standardized, bank-backed step that looks much the same across UPI apps, which builds familiarity and trust whichever app you use. Cost: apps cannot customize it; that is the point.
UPI: success that is unmissable, for both sides. A full-screen tick and sound for the payer, and a voice announcement on the merchant's speaker box, so a shopkeeper does not need to look at a phone. Cost: hardware and audio in a noisy shop; and fake "success" screens became a known scam, which is why the merchant's independent confirmation matters.
Lab: delivery states as feedback
Reached home safely
9:41◷
Not sent yet.
Send with different conditions. Each state answers a real worry: did it leave my phone, did it reach theirs, have they seen it? The clock means "waiting for network". Turn read receipts off and the message never shows blue, even after it is read.
Trade-offs and criticisms
Read receipts gave people a new source of anxiety ("they read it and didn't reply"). Phone numbers as identity expose users in large groups. WhatsApp's very success in India made it a channel for misinformation, and its fixes are friction, not cures. Meta's ownership raises privacy concerns, even with end-to-end encryption of message content (since 2016). On UPI, the ease of paying invites scams: requests to "collect" money that people approve by mistake, and fake success screens. Every simplification shifts the burden somewhere; good design moves it to where it can be handled, like an independent audio confirmation for the merchant.
Don't
Decisions stacked at the worst moment. Offers and options compete with the one thing that matters: the amount.
Do
One question per screen. The payee's name confirms you scanned the right code; the amount is huge; the button repeats it.
Steal this for your software
Show the state of anything that crosses a network (queued, sent, delivered, seen).
Design for the cheapest phone and worst network your users have. Test on one.
Ask one question per screen in any flow involving money or risk.
Confirm important outcomes in more than one channel (visual and audio, payer and payee).
Use deliberate friction where speed causes harm (mass forwarding, irreversible actions).
Support voice and low-literacy use where your audience needs it.
For the solo creator
Buy or borrow an inexpensive Android phone and keep it on your desk. Run every release on it, on a throttled network (Chrome DevTools can simulate slow 3G). If you serve Indian users, this one habit will catch more real problems than any design review. Also try your product in Hindi or another language your users speak; see Accessible & Inclusive.
Copy
Visible delivery states.
Huge, unambiguous success screens.
Offline queues that send later.
Don't copy blindly
Read receipts on by default without a way to turn them off.
Promotions inside a payment flow.
Phone numbers as public identity where users need privacy.
Related products
SignalSignal Foundation
Similar ticks and simplicity with a stronger privacy stance and usernames. The same interaction model with different values.
M-PesaSafaricom, Kenya, 2007
Mobile money over basic phones using SMS menus. Inclusion through the most basic interface available.
PhonePe, Paytm, BHIMIndia, 2016–
UPI apps with the same core flow and different extras. When the rails are shared, the core flow converges; differentiation moves to the edges.
Common mistakes
Designing on a flagship phone with fast Wi-Fi
It is the device on your desk.
Test on a low-end phone with a throttled network before every release.
Silent sending
Background sync feels clean.
Show queued and failed states clearly, with a retry, for anything users send.
Check yourself
Your field-survey app is used by health workers in rural areas. Forms are submitted from places with no signal. What WhatsApp-style decision matters most?
An offline queue with visible delivery states is exactly what the clock and ticks do. Errors and disabled buttons lose work or force users to remember to retry, which fails in the field.
Exercise 20.1 60 minutes · on your own product
The cheap-phone test
Run your core flow on the least powerful phone you can find, with the network throttled to slow 3G.
Record the screen. Note every moment with no feedback for more than a second.
Redesign one flow so that each screen asks one question and each network action shows its state.
You're done when: you have the recording, a list of feedback gaps with timings, and a redesigned flow sketch.
Beginner
Competent
Strong
Tested on your own phone only.
Low-end test done and gaps listed.
Redesign shipped with an offline queue or visible states, and retested.
Connect the ideas · Part six recap
Google, Craigslist, Duolingo, WhatsApp and UPI serve enormous audiences. Which statement best summarizes this part?
Craigslist is dense, Google sparse, UPI one-question-per-screen: all fit their jobs. Duolingo and WhatsApp show that mechanics (streaks, read receipts, forwarding) shape behaviour at population scale, for better and worse. See Honest & Calm.
Part seven
Synthesis
Eighteen breakdowns are only useful if they become patterns you can reach for. This part lines the products up side by side, maps them to principles and to the other guides, and hands you a template for writing teardowns of your own, which is where the real learning happens.
21
Side by side: comparison and pattern index
Taught by all of the above
Seen together, the products show that great software is coherent rather than perfect: each chooses one bet, makes every layer serve it, and pays openly for what it refuses.
Read the table across a row to see one product's logic: its bet, the decision that expresses it, the business model that funds it, the thing it refuses and the cost it accepts. Read down a column to compare. You will notice that the refusals column is as telling as the signature column. Then use the pattern index when you face a design problem: find the principle, then study the products that exemplify it.
Product
Core bet
Signature decision
Who pays
Refuses
Main cost
iA Writer
Attention is scarce
Focus mode, one type system
User, upfront
Settings, toolbars
Writers who want control
Things 3
Model one person's day
Today and This Evening; Magic Plus
User, per platform
Collaboration
Families and teams
Bear, Apple Notes
Capture without decisions
Typed tags; first line as title
Subscription; free with OS
Filing at capture
Mess at scale
Day One
Never start blank
Automatic context; On This Day
Subscription
Guilt mechanics
Privacy trust burden
Linear
Work tools can feel instant
Local data; command menu
Teams, per seat
Custom workflows
Teams that work differently
Superhuman
Time is worth money
100 ms rule; keyboard
Premium subscription
Anything slow
Most people cannot afford it
Raycast, Spotlight
Recall beats navigation
One field for everything
Free core, Pro; OS
Menus
Invisible to novices
Stripe
Developers are the users
Docs, errors, test mode
Per transaction
Vague errors
Sprawl as it grows
Halide
Camera controls belong under thumbs
Gestures, focus peaking
Subscription or one-time
Buttons over the image
Learning curve
Overcast
Improve the sound itself
Smart Speed, Voice Boost
Ads or subscription
Tracking, Android
One person's pace
Reeder
Reading is not debt
Timeline with no counts
Subscription (new app)
Unread badges
Completionists
Tweetie, Letterpress
Use motions people already make
Pull to refresh; flat colour state
Paid; free with unlock
Extra buttons
Gesture invisibility
Notion, Obsidian
Users build their own system
Blocks; files and links
Seats; paid services
Fixed structure
Blank canvas, over-building
Figma
Design is a team sport
Multiplayer canvas in browser
Editors pay, viewers free
Files and installs
Feeling watched; weight
Arc
The browser is a workspace
Sidebar, Spaces, auto-archive
None found before pivot
Tab bar conventions
Novelty tax
Google, Craigslist
Fit the job
Empty entry; dense lists
Ads; a few paid listings
Decoration
Erosion; rivals with photos
Duolingo
Coming back is the hard part
Streaks, owl, short lessons
Freemium plus ads
Long lessons
Metric over learning
WhatsApp, UPI
Work for everyone, everywhere
Ticks; one question per screen
Business messaging; ecosystem
Complexity at the counter
Social pressure; scams
A pattern, not a law. Products paid for directly by their users tend to give attention back; products free to the user tend to ask for more of it. Exceptions (Craigslist, Overcast's privacy-respecting ads) show that the business model sets a pull, not a fate. Where would you put your product, and where do you want it?
Pattern index
When you face a problem in your own product, start here. Each row names a principle, the breakdowns that show it best, and the guide that teaches the underlying theory.
A collage of greatest hits. Each piece made sense inside its own product's logic. Together they contradict each other.
Do
Coherence. Borrow a decision only if it serves your bet, and adapt it to your context.
Do
Name your product's single bet in one sentence.
Borrow decisions that serve that bet.
Write your refusals down as deliberately as your features.
Don't
Assemble a product from other products' signatures.
Copy a business model's UI side effects (streaks, badges) without its reasons.
Treat the table as rankings; it is a map.
In the wild
Product clonesEvery year
Many launches each year are "X for Y" clones that copy a famous product's visuals into a different job. The ones that last translate the bet, not the look.
Things vs OmniFocusLong-running rivals
Two coherent bets (calm versus power) for the same category, both sustained for over a decade. Coherence beats feature counts.
Gmail adopting split inbox ideas2010s
Incumbents absorb good patterns from bold products. A pattern alone is not a moat; a coherent whole is harder to copy.
Common mistakes
Greatest-hits design
Each famous pattern looks like a proven win.
Write your bet first; reject any pattern that does not serve it.
Forgetting the refusals column
Features are visible; refusals are not.
Keep a "we don't do this" list in your product doc and publish parts of it.
Check yourself
You are building a calm, paid, single-person reading app. Which combination of borrowed decisions is most coherent?
All four serve "give attention back to one reader who pays". The others serve engagement, collaboration or aesthetics that the bet does not need.
Exercise 21.1 45 minutes · on your own product
Your row in the table
Add your product as a row to the comparison table: core bet, signature decision, who pays, refuses, main cost.
Place it on the who-pays versus attention chart. Mark where it is today and where you want it.
Pick three rows from the pattern index that match problems you have now, and list one decision to borrow from each.
You're done when: you have your row, your two chart positions, and three borrowed decisions, each checked against your bet.
Beginner
Competent
Strong
Row filled with vague phrases.
Specific bet, refusals and costs.
Borrowed decisions adapted to your context, with one refusal you will publish.
22
Write your own teardown
Taught by you, with everything above
The point of reading breakdowns is to become someone who writes them: a teardown a week, done with the protocol from chapter 2 and this template, will train your eye faster than any amount of browsing.
Every chapter in this guide followed the same skeleton: facts, the core bet, a pinned screen, a numbered list of decisions with costs, trade-offs and criticisms, things to steal, and a test of understanding. Use the same skeleton. Fill it with your own product choices, and keep your teardowns in one place. After ten of them, you will see patterns that no article could hand you, because they come from your own eye and your own questions.
Seven sections, one page. Keep it to one page per task. Longer teardowns get written once and never reread.
The template
Copy this into your notes app (it is plain Markdown, so it works in iA Writer, Bear, Obsidian or a text file). Fill one per task.
# Teardown: [Product] · [Task in the user's words]
Date: [YYYY-MM-DD] · Platform: [iOS / Android / Web / Mac] · Starting state: [fresh install / returning user with data]
## A. The bet (one sentence)
[This product believes that ...]
## B. Facts
- Maker / team size:
- Year and version:
- Who pays, and how:
- Main rival I compared against:
## C. Screens
[Strip of numbered screenshots: 01-..., 02-...]
## D. Decisions (one per pin)
| # | Decision (what) | Reason (why I think) | Cost (what it gives up) | Confidence |
|---|-----------------|----------------------|-------------------------|------------|
| 1 | | | | high / med / guess |
| 2 | | | | |
## E. The nine lenses (one line each)
1. Purpose / job:
2. Conceptual model:
3. Structure:
4. Interaction:
5. Visual and type:
6. Feel and motion:
7. Words:
8. Business model's effect:
9. What is left out:
## F. Trade-offs and rival
- Who this design fails:
- Three differences from [rival]:
## G. Steal
- Patterns worth borrowing (and does each fit MY bet?):
- My one change this week (specific, shippable):
- How I will know it worked:
A worked micro-example
Here is section D from a short teardown of one task: "add a rupee expense while standing in a shop", in a hypothetical expense app compared with typing it into Apple Notes.
#
Decision
Reason
Cost
Confidence
1
App opens straight to a number pad
The amount is the only thing you are sure of at the counter
Category must be inferred or asked later
High
2
Category guessed from the last expense at the same location
Removes a decision at capture
Wrong guesses need an easy fix
Medium
3
Large "Saved ₹180" toast with Undo for 5 s
Unmissable feedback, reversible
Toast covers the bottom bar briefly
High
4
No budget warning at capture
Guilt at the counter is not useful; review happens weekly
Some users want a warning
Guess
Notice the confidence column. Being honest about guesses keeps a teardown from becoming fan fiction about a product's intentions.
Checklist: is my teardown good enough?
Scope
Evidence
Judgement
Don't
The epic. Ambitious, exhausting, and it never produces a change in your product.
Do
The weekly page. Small enough to finish in an evening and to reread in two minutes.
For the solo creator
Publishing a teardown is also marketing for a solo creator. A careful, generous breakdown of a well-known app, posted on your blog or social account, shows your taste to the exact audience that might buy your product. Keep the tone respectful: credit the makers, mark guesses as guesses, and avoid dunking. Designers remember who was kind about their work.
Do
One task per teardown, one page long.
Keep all teardowns in one folder with the same template.
Reread old teardowns before designing a similar screen.
Don't
Write teardowns of whole apps.
Publish other people's screenshots without commentary or credit.
Present guesses about intent as facts.
In the wild
Designers' public teardownsBlogs and newsletters
Many designers built audiences with regular, careful breakdowns of apps they admire. Consistency matters more than length.
Lux's camera reviewsHalide blog
Each iPhone generation gets a deep, honest teardown of its camera. Teardowns can be your product's best marketing.
Apple Design Awards and Behance case studiesAnnual
Winners' and authors' own write-ups explain their decisions. Compare their stated reasons with your teardown's guesses.
Common mistakes
Teardowns without a change
Analysis feels productive on its own.
No teardown is finished until section G names one shippable change.
Only tearing down favourites
It is pleasant to study what you love.
Alternate: one admired product, one product you find frustrating, one direct competitor.
Check yourself
Which teardown task will teach you the most about a habit tracker's design?
The return after a break is where a habit tracker's values show: guilt or welcome, reset or continuity. A specific task with a meaningful starting state reveals real decisions.
Exercise 22.1 2 hours · on a product you use daily
Your first full teardown
Pick a product you use daily and one task in it, with a starting state.
Run the protocol from chapter 2: capture, strip, pins.
Fill the template above completely, including the nine lenses and the rival.
Run the quality checklist above.
Ship your one change, or put it at the top of next week's work.
You're done when: you have a one-page teardown that passes the checklist, saved in your teardowns folder, and the change is scheduled.
Beginner
Competent
Strong
Template partly filled; mostly observations.
All sections filled with reasons, costs and a rival.
Published (with credit and care), and the change shipped in your product.
Wrap-up
Ten things to remember
You cannot steal a feeling. Name the decision, its reason and its cost, then decide whether to borrow it.
Read software top to bottom (job, model, structure, interaction, visuals, feel, words), and remember the business model underneath and the omissions around it.
Great products are coherent: one bet, every layer serving it, refusals stated openly.
Protect the user's scarcest resource, usually attention or time, and make your defaults defend it (iA Writer, Superhuman).
Model the user's real life, not your database (Things, Reeder, Day One).
Speed is architecture plus interaction plus words, not a dark theme (Linear, Stripe).
Gestures need thresholds, feedback and button fallbacks (Tweetie, Halide).
Density should match the job: sparse for one decision, dense for scanning many (Google, Craigslist).
Engagement mechanics are powerful; reward real progress, not the metric (Duolingo, Day One).
For a solo creator, depth in one experience, public writing about decisions and honest business models beat feature parity (Overcast, Reeder, Halide).
Self-assessment: I can…
Practice assignment for the next two weeks
Days 1–2: Set up. Create your teardowns/ folder and paste the template. Write your own product's row for the comparison table (exercise 21.1).
Days 3–4: Admired product. One-task teardown of a calm app you love (iA Writer, Things, Bear or similar). End with one change.
Days 5–6: Frustrating product. One-task teardown of an app that annoys you. Find at least two decisions that are actually reasonable from its business model's point of view.
Days 7–8: Direct competitor. Tear down the same task in your closest competitor and in your own product, side by side.
Days 9–10: Ship. Ship the best one of the three changes you collected. Measure something simple before and after (time on task, taps, support emails).
Days 11–12: India test. Run your core flow on a low-end Android phone on a throttled network (exercise 20.1), and tear down your own app's result.
Days 13–14: Publish and reflect. Polish one teardown and publish it with credit. Write a half-page reflection: which lens do you now see easily, and which is still your blind spot from exercise 1.1?
Reading list
The Design of Everyday Things (revised edition, 2013)
Don Norman · the vocabulary of conceptual models, feedback and mapping behind every lens in this guide.
The Elements of User Experience (2002; 2nd ed. 2010)
Jesse James Garrett · the five planes, a clear model of how abstract decisions shape visible ones.
"Web Design is 95% Typography" (2006) and the iA blog
Information Architects · the thinking behind iA Writer, including essays on focus, fonts and AI authorship.
"How Superhuman Built an Engine to Find Product/Market Fit" (First Round Review, 2018)
Rahul Vohra · the 40% survey method in detail, with the segmenting and roadmap logic.
The Linear Method
Linear · a short, opinionated set of practices that the product encodes; read it next to the app.
"File over app" (2023)
Steph Ango · a short essay on durability and ownership, the philosophy behind Obsidian.
Stripe API reference: Errors
Stripe · a model of error design you can copy for any product with integrations.
"How Do Users Really Hold Mobile Devices?" (UXmatters, 2013)
Steven Hoober · the research behind thumb zones and Halide-style reachability.
The Halide blog (Lux)
Sebastiaan de With and Ben Sandofsky · deep camera teardowns; a model of teaching your craft in public.
marco.org
Marco Arment · years of posts about building and pricing Overcast alone; essential solo-creator reading.
Hooked (2014)
Nir Eyal · the habit loop explained by an advocate; read critically, alongside the next item.
Calm Technology (2015)
Amber Case · principles for technology that informs without demanding attention; the counterweight to Duolingo-style loops.