Principles
Each principle here is kept because at least one finding breaks it: the list grows from evidence, not from taste. Each has a test you can run on your own page in about a minute. When a new kind of failure does not fit any of them, that is a new principle.
- A decision comes with what you need to make it (2 open)
- Work is never lost to one tap or a silent failure (1 open)
- The reader can always tell what the system is doing (1 open)
- The first screen is for a stranger (6 open)
- Nothing moves that the reader did not move (2 open)
- The same gesture gives the same result, so it can be learned (1 open)
- Label the money, and never surprise with a charge (4 open)
- A default is not an answer (2 open)
- Ask before keeping (2 open)
- Every view is a link (3 open)
- No dead ends (6 open)
- One source of truth for every fact (3 open)
- The publication is not the workshop (4 open)
- Feedback reaches someone, and the reader gets a receipt (3 open)
- Say how long, and what kind, before the reader commits (3 open)
- Say who wrote it, and how (4 open)
- Content is visible without waiting for scripts (2 open)
- What a page says about the present is true now (3 open)
- A vault app works inside the host, not just on its own (3 open)
1 A decision comes with what you need to make it
Any prompt that asks the reader to decide (allow, pay, share, delete) first says, in plain words, what will happen, what it touches, whether it can be undone, and why it is being asked. The raw detail is there for checking, not as the explanation.
- Why
- A decision the reader cannot judge is not a decision. They either refuse and stall the work, or learn to press Allow without reading, and a security prompt that trains people to press Allow is worse than no prompt at all.
- The test
- Show the prompt to someone for five seconds. Can they say what will happen if they press each button? If they would need to read code to answer, the prompt has failed.
Broken by 2 findings, 2 open.
2 Work is never lost to one tap or a silent failure
What the reader has made (a recording, a draft, a note) cannot be destroyed by a single unlabelled tap, and is kept when something fails. Destructive actions ask first or can be undone; failures keep the raw capture and offer a retry.
- Why
- Losing work once teaches the reader to distrust the whole tool. From then on they spend attention guarding against the tool instead of using it, and some stop using it at all.
- The test
- Make something, then press every button that could end the flow. Can any one tap destroy it without asking? Cut the network halfway: is what you made still there?
Broken by 1 findings, 1 open.
3 The reader can always tell what the system is doing
At every moment the interface shows whether it is listening, working, paused, done or failed. A process that stops shows that it stopped; it never just goes quiet.
- Why
- Silence is ambiguous. Without a visible state the reader cannot tell a slow system from a broken one, so they either wait for something that will never come or abandon something that was working.
- The test
- Start a long operation and watch it. If it stalled now, would anything on screen change? Can you tell "still working" from "failed" without waiting for the end?
Broken by 1 findings, 1 open.
What good looks like: EX-002 Dictation that shows your words as you speak them.
4 The first screen is for a stranger
On a phone, the first screen says what this is, who it is for, and where to go next. The lead is on it. Chrome, metadata and method come after.
- Why
- Most readers arrive from a link someone sent, on a phone, with one question and a few minutes. If the first screen does not answer 'what is this', the rest of the page is never read.
- The test
- Open the page at 390×844 with no history. Count the blocks above the lead. Can someone who has never heard of the site say what it is about?
Broken by 8 findings, 6 open.
- The first phone screen explains how the site is built, not what it is about
- The home page is 59 phone screens long, with 845 links
- There is no "start here" path
- Persona pages are a list, with no story, opinion or next step
- The editor's note is written for someone who read the last two editions
- Stacked tables on a phone lose their column labels
- The masthead line describes a method, not a subject
- File-path pills scrolled the whole page sideways at 390 px
5 Nothing moves that the reader did not move
While the reader is reading, the interface holds still. Toolbars, keyboards, banners and panels appear, move or take focus only on a deliberate gesture made for that purpose, never as a side effect of scrolling or reading.
- Why
- Movement pulls the eye. Every element that moves outside the reader's task forces a glance, a check and a return, which is a context switch the reader did not choose. On a reading page, concentration is the product.
- The test
- Read a long page on a phone or tablet: scroll down, scroll up a little, pause, carry on. Did anything appear, resize, shift or take focus that you did not ask for? Did the text you were reading stay where it was?
Broken by 3 findings, 2 open.
6 The same gesture gives the same result, so it can be learned
Every interaction behaves the same way every time, triggered by something the reader controls (where they tap, how far they scroll), never by something they cannot see or repeat (how fast they flicked, what state an animation was in).
- Why
- An interface teaches as it is used. When the same action always gives the same result, the reader learns it once and from then on can depend on it without thinking. When it depends on speed or timing, it can never be learned, and every use costs attention.
- The test
- Do the same thing five times: scroll, flick, tap, at slightly different speeds. Did the interface respond the same way each time? Could you reach the state you wanted on the first try?
Broken by 1 findings, 1 open.
What good looks like: EX-001 Safari on iPad hides its toolbars the same way every time, after a small scroll.
7 Label the money, and never surprise with a charge
Every number that is money says what it is. The first time anything is charged, the reader is told before or as it happens. Wording about balances never reads as debt or threat.
- Why
- An unexplained balance that changes is read as a bill. One confused moment about money ends the visit and the trust.
- The test
- Find every currency figure on the page. Does each have a label? Open a page that charges: did anything say so?
Broken by 5 findings, 4 open.
8 A default is not an answer
Inputs that ask the reader's opinion start empty. Only what the reader actually did is recorded.
- Why
- A scale preset to 3 cannot tell 'not rated' from 'useful'. The data looks real and means nothing, to the reader and to the author.
- The test
- Open the form fresh. Is any answer already chosen? Submit without touching it: what was recorded?
Broken by 2 findings, 2 open.
9 Ask before keeping
Nothing is added to the reader's lists, profile or storage because they opened something. Keeping is a tap the reader makes.
- Why
- State the reader did not ask for is clutter at best and surveillance at worst. It also makes the reader's own record useless as a record.
- The test
- Open a page, close it. Did anything appear in the reader's list, board or persona set?
Broken by 2 findings, 2 open.
10 Every view is a link
Anything a reader can see, they can send: a filter, a search, a tag, a desk, a part of a series. The address changes when the view does.
- Why
- The people who most need a subset of the site are the ones a reader would forward it to. A view without an address cannot be shared, bookmarked or found by search.
- The test
- Choose a filter. Copy the address. Open it in a private window. Is it the same view?
Broken by 4 findings, 3 open.
11 No dead ends
Everything that looks like a way in is one: tags link to pages, missing pages offer the way back, each article ends with one next step.
- Why
- A tag that does not link, a default 404 and an article that ends with seven options all stop the reader at the moment they were ready to go further.
- The test
- Click every pill, chip and label on a page. Visit a URL that does not exist. Reach the end of an article: what is the one next step?
Broken by 7 findings, 6 open.
12 One source of truth for every fact
Each piece of content is published once, at one canonical address. Every count, date and label is generated from one manifest at build time.
- Why
- Readers notice when two pages disagree, and they stop trusting both. A count that differs between three pages says the site does not know itself.
- The test
- Find the same number on three pages (article count, edition date, version). Do they agree? Does each article have exactly one canonical?
Broken by 4 findings, 3 open.
13 The publication is not the workshop
Reader pages carry reader things. How the site is built (versions, author tooling, agent strips, release history, admin) lives in one clearly separate area, one link away.
- Why
- Builder chrome on a reader page spends the reader's attention on something they did not come for, and makes the site look like a demo instead of a publication.
- The test
- List every element on a reader page that only the author or an agent needs. Each one is a finding.
Broken by 4 findings, 4 open.
14 Feedback reaches someone, and the reader gets a receipt
Every rating, request or 'what is missing' goes somewhere a person reads it, by default and with plain consent, and the reader keeps a receipt of what was sent.
- Why
- Feedback kept only in the reader's browser teaches the author nothing, and a reader who is never answered stops answering.
- The test
- Rate something. Where did it go? Who reads it, and when? What does the reader have to show they sent it?
Broken by 3 findings, 3 open.
15 Say how long, and what kind, before the reader commits
Every card and every link to a long piece shows reading time and format. Every long piece opens with a short version.
- Why
- A reader with three minutes will not start a 25-minute piece blind. Telling them lets them choose; not telling them makes them leave.
- The test
- Look at a list of articles. Can you tell which is a five-minute note and which is a 40-minute analysis?
Broken by 3 findings, 3 open.
16 Say who wrote it, and how
The byline names the person and the way the piece was made (with agents, from voice notes), where the reader looks, not in the footer. The purpose of the publication is one link away.
- Why
- Readers judge a piece by who stands behind it. Disclosure in the footer reads as concealment when it is found.
- The test
- From the top of any article, can a reader tell who wrote it, with what help, and why the publication exists?
Broken by 4 findings, 4 open.
17 Content is visible without waiting for scripts
The page renders its content in HTML and shows it at once. Scripts enhance; they never gate what the reader can see.
- Why
- A blank page for a second and a half on a slow phone is the page, for that reader. Agents, readers and search engines that do not run scripts see nothing.
- The test
- Load the page with JavaScript off, and on a throttled connection. Is the content there at once?
Broken by 2 findings, 2 open.
18 What a page says about the present is true now
Labels like 'edition of', 'currently', 'broken' and 'live' are dated or generated, and change when the facts do. A fixed problem is marked fixed, with the version.
- Why
- A page that describes a fixed bug as current, or labels today's front page with last week's date, tells the reader the rest may be stale too.
- The test
- Find every claim about now on the page. Is each dated? Is each still true?
Broken by 4 findings, 3 open.
19 A vault app works inside the host, not just on its own
An app is tested where readers open it: inside the vault host's sandboxed frame. Routing never assigns location.hash, storage goes through the host, and network reads come from the vault.
- Why
- The host frame behaves unlike a normal page. An app that works standalone can ship with every link dead and every saved note lost on reload.
- The test
- Open the published vault in the host, click every link, save something, reload. Check the console.
Broken by 3 findings, 3 open.