Spend the novelty budget on the model
Tags: platform, components, familiarity
Everyone has a finite amount of attention for learning something unfamiliar. A generated-output product already spends a great deal of it β the output moves, the capability has edges nobody can see, the interaction is new β and then, very often, the team designs custom chrome around it and spends the rest.
Unfamiliarity is a budget
Think of a first session as having a fixed allowance for things the user has to figure out. Every novel element draws on it: a navigation pattern they have not seen, a control that behaves unusually, a gesture with no precedent, an icon whose meaning has to be learned.
A generated-output product arrives with a large bill already. The user is working out what the thing can do, how far to trust it, and how to phrase what they want. Those are real, unavoidable costs, and they are the reason the product exists.
Custom chrome draws on the same allowance. A user working out how your bespoke sidebar collapses has less attention left for working out whether the answer is right. The two costs do not live in separate accounts.
Why AI products are especially tempted
The instinct runs the other way, and it is worth understanding why. A novel capability feels like it deserves a novel interface: something that looks as new as the technology is. Teams reach for distinctive surfaces to signal that this is not ordinary software.
But the signal is paid for by the user, in exactly the currency the product most needs them to have. An interface that looks unfamiliar does not make the model more capable; it makes the model harder to reach.
Spend it where it earns something
The rule is simple to state. Use the platform's own components for everything that is not the new idea β navigation, lists, sheets, settings, forms β so the user's existing competence carries them straight to the one place that needs their attention. Spend design effort, and the user's learning, on the part that is actually different.
Two consequences worth naming:
- Stock components are not a lack of ambition. They are a decision to make the new thing the only new thing, which is a stronger design position than making everything new.
- The platform improves for free. Stock components pick up accessibility, dynamic type, dark mode and new OS behaviour without anyone rebuilding them. Custom chrome freezes at the moment it was drawn.
When custom is right
- When the new idea genuinely needs a new surface. A canvas for arranging generated material, a comparison view with no platform precedent β build those properly.
- When the platform component actively misleads. If a stock list implies the items are final and they are provisional, that is a real reason to deviate.
- On the surface that carries identity. One distinctive moment is fine. Everything distinctive is noise.
Grounded in
WatchWorthy's rebuild moved the whole app to native SwiftUI on stock iOS components β the platform's own navigation, lists and sheets, behaving the way every iPhone user already expects.
The genuinely new thing in that rebuild was making the Worthy Score answerable rather than oracular: letting someone ask why a pick fits them. That is an unfamiliar interaction, and it is the part that needed the user's full attention to work. Everything around it was deliberately the platform's own, so the one unfamiliar idea sat inside a shell nobody had to learn.
Anti-patterns
- Novel chrome around a novel capability. Two unfamiliar things at once, competing for the same attention.
- Custom versions of solved components. A bespoke dropdown, a hand-rolled sheet β every one a small tax and a future maintenance bill.
- Distinctiveness everywhere. When every surface is branded, none of them communicates anything.
- Reinvented gestures. A swipe that does something the platform uses swipes for differently.
- Custom components that miss platform behaviour. No dynamic type, no reduced motion, no keyboard support β the costs of custom that do not show up in a mock.
The smallest version worth building
Mark every screen element as either the new idea or everything else. For everything else, find the stock component and use it unmodified.
What remains is the part worth designing β usually much smaller than the original scope, and much better for having the budget to itself.
Related patterns
- Make the score answerable β the novel interaction in the grounding above, and a good example of where the budget belongs.
- Capability before the cursor β the other half of first-session attention: what the user needs to learn about the capability itself.
- Generation touches tokens, never screens β the system-level version of the same restraint, applied to what a model is allowed to change.