The list of what you don't do yet goes stale too
A product page usually carries two lists: what the thing does, and what it does not do yet. The first gets checked constantly, because everyone notices when a feature is missing from it. The second is checked by nobody, and it is the one that breaks in the quietest possible way — by your team succeeding at something.
Published — written and checked by hand.
We made this mistake on our own site this week, found it, and fixed it, so this is a description of a live failure rather than a hypothetical one. The shape of it is general enough that it is worth writing down.
A denial is a claim, and it expires
Most copy that goes wrong goes wrong by being overtaken: a price rises, a dispatch time slips, a size runs out. You notice because reality moved away from the sentence. A roadmap sentence fails the other way round. It says "we do not do this yet", and the way it becomes false is that somebody on your team does the work. The sentence does not drift. It is falsified by a success, on a day everyone is pleased.
That is why it survives. Shipping a feature creates a long list of tasks and none of them is "find the page that says we have not". The feature lives in the product; the denial lives in marketing copy; and nothing connects the two except a person remembering. On our page the connection existed as a comment addressed to a future human — read the settings before restoring this sentence — which is to say it did not exist.
This is the third way we have found that a published sentence can go quietly wrong, and the three do not overlap. One is a figure copied from a setting that is now edited somewhere else. Another is a promise with no figure in it at all, which nothing can check because there is no second value to compare. This one is neither: the sentence is accurate, has no number, and becomes false through work going well.
The worse half: the status was a picture
Our two lists — the five things that work and the five that are planned — were built from the same markup. Same list element, same spacing, same type. The only difference between a shipped feature and a planned one was the small icon in front of it: a solid ring with a tick, or a dashed ring without. Both icons were marked as decoration, so neither contributed a single character of text.
For a sighted reader on the page that is perfectly clear. There is a heading saying "Not built yet", the section has its own background, and the dashed rings read as pending at a glance. For anyone or anything reading the text alone, it is ten features. The heading that would have disambiguated them sits around fifty words above the third item, which is further than a quoted fragment usually reaches.
That matters more than it used to. A sentence from your site can turn up on its own, lifted out of its section, in a search result snippet, a summarised answer, a screen reader's run through a list, or a customer's copy-paste into an email to you. In every one of those the icon is gone. If the only thing marking a sentence as aspirational is next to the sentence rather than in it, the sentence travels without its qualifier.
What we changed, which took five minutes
The planned marker now writes words into the page as well as drawing a ring. The visual design is untouched — the eyebrow, the heading and the dashed outlines were already doing their job for people looking at the page — but the text layer now says that each of those five items is planned, so a fragment lifted out of the list carries its own status.
Then we wrote a check that fails our build. It is tied to the switch that actually governs the feature, so the rule it enforces is a real one rather than a style preference: while that switch is off, the sentences denying the feature must still exist on the pages that carry them, and no sentence may promise the feature unless it is inside a line that says it is planned. If somebody turns the feature on, the build stops and names the pages that now lie.
The version for a shop
You almost certainly have the same two lists, under different names. "Coming soon." "Currently unavailable." "We do not ship outside the UK yet." "Gift wrapping is on the way." "Pre-order — ships in November." Every one is a claim about the future, and every one is scheduled to become false by someone doing their job well.
- Write down every sentence on your site that denies something or defers it. It is usually a short list, and almost nobody has it written down.
- Against each one, name the thing whose completion falsifies it — a supplier, a stock arrival, an integration, a settings toggle. If you cannot name it, the sentence is vaguer than you think.
- Put the sentence on that thing's own checklist, not on a content calendar. The person finishing the work is the only one positioned to notice.
- Then read each of those sentences on its own, with no heading above it and no icon beside it. If it reads as a feature when you do that, the status is in the picture and not in the words.
That last test is the cheap one and it catches the most. Cover everything around the sentence and see what is left. A badge, a colour, a strikethrough and an icon all vanish the moment anybody quotes you.
The underlying habit is the same one that makes a page worth re-reading after you fix something elsewhere: copy is not a single object you maintain in one place, it is a set of copies that drift apart, and the ones you are not looking at are the ones that drift. A roadmap is simply the set you are least likely to look at, because reading it feels like reading your own plans rather than your own claims.
It is also, for what it is worth, the most forgivable kind of wrong copy and the most annoying to be on the receiving end of. Nobody minds a shop that has not built something. Everybody minds finding out that the thing they chose you for was a plan.
Read enough? Watch your own product.
One photo in — a cinematic product video and a full set of marketing photos out. Your first one is free.