When seamless becomes invisible.

In 2018 I was building artificial intelligence for homes. A system that adjusted your heating, learned your habits, responded to your behaviour. It worked in the background, which was the whole point. The best interface is no interface, as the saying goes.

A challenge was that users forgot it existed. New features went unused, because users didn’t really engage with the app. They couldn’t tell you what the product was doing for them, because they never saw the alternative. The heating was comfortable, but it had always been comfortable, as far as they could remember. They didn’t see the energy they didn’t use or the adjustments they didn’t have to make. And because the AI’s decisions were invisible, they couldn’t tell us when it got things wrong either. The system would learn a pattern, adjust for it, and nobody would know whether the adjustment was clever or just lucky. The product’s success made it invisible, and invisible products don’t get valued.

We never solved this properly. We could have required some engagement, a weekly summary to acknowledge, a prompt asking whether the temperature felt right, something that created a moment of awareness. But every option felt like it contradicted the product’s core promise: you shouldn’t have to think about this. The tension between seamless and understood is real, and it’s not easy to design around.

The default: remove all friction

The entire product design playbook for the last decade has been about removing friction. Reduce time to value. Smooth onboarding. Eliminate steps between the user and the outcome. This is correct for most products most of the time, and I’ve spent a lot of time optimising for it.

But it’s a one-directional lens. It assumes friction is always cost. It never asks what happens when the user needs to feel something working, or when skipping the friction skips the understanding.

The friction that works best is the friction people like least

There’s a growing body of research on what academics call cognitive forcing functions: deliberate design interventions that interrupt the flow to make people think rather than accept.

In 2021, a group of researchers studied how people work with AI decision-support tools and found that people overrely on AI even when it’s demonstrably wrong. The natural assumption is that adding explanations would help, showing the user why the AI made its recommendation. It doesn’t. People treat the presence of an explanation as a signal of competence rather than actually reading it. The AI explained itself, so it must know what it’s doing.

What did work was forcing people to make their own decision before seeing the AI’s suggestion, or hiding the suggestion behind a click, or simply making them wait 30 seconds. These interventions significantly reduced overreliance. But people rated them as more complex, less preferred, and less trustworthy.

A 2026 study applied this specifically to AI-generated execution plans, the kind of step-by-step plans that tools like Claude produce before implementing something. They tested two forcing functions: one that asked users to identify the assumptions behind the plan, and one that asked “what if this key step changed?” The assumptions prompt reduced over-reliance without increasing cognitive load. The what-if prompt felt more helpful to users but was actually less effective. And combining both was counterproductive. More friction doesn’t compound. It collapses.

A useful framing from a CHI’26 workshop paper is: generative friction vs protective friction. Protective friction is a gate. It asks “should I accept this?” and exists to prevent errors. Generative friction is an invitation. It degrades AI output from a finished product into semi-finished material, inviting the user to work with it rather than consume it. The researchers found that some people experienced these disruptions as liberating (“it’s forcing me to use my own brain”), while others experienced pure obstruction (“just give me the answer”). They called this friction disposition, and it’s as much a function of the person as the design.

Education theory has the foundation beneath all of this: the disposition to think critically is separate from the ability. You can have the skills and choose not to use them when it feels effortful. Good friction design creates the conditions where people are willing to engage, not just able to.

Two invisibility problems

As AI steps in to help, more products are becoming invisible, and the invisibility creates problems on both sides of the builder-user relationship. The paradox is the same in both cases. The better the system works, the less the human engages with it, and the less they engage, the more they lose.

Invisible products. AI services that work in the background, autonomous agents, smart home systems, anything where the product’s success means the user doesn’t interact with it. The user never sees the counterfactual, the thing that would have gone wrong without the product. You need deliberate friction to surface value, drive upgrades, and create understanding. Not interrupting the experience permanently, but creating moments where the product’s work becomes visible. The challenge I faced at my startup is becoming more common as more products move toward autonomous operation.

Invisible processes. I skim Claude’s plans and hit go. The code works. Tests pass. But I’m not building the detailed knowledge to direct the work well. My automated checks, TDD, linting, code review, are quality assurance for the AI. They force the AI to validate its own work. They don’t force me to understand it. The downstream checks can tell me if the code is correct, but not if the technical approach was right. And the one moment where my questions would compound through the entire build, the planning stage, is the one I’m skimming.

The design challenge

Friction design is harder than friction removal. Removing friction is subtractive and generally safe. Adding friction requires getting three things right: what kind (generative or protective), for whom (friction disposition means the same design works differently for different people), and how much (too many introduce friction fatigue).

There’s also a business tension that’s hard to ignore. In a commercial product, “least acceptable” translates to funnel drop-off. The case for friction is a retention argument, not a conversion argument: a user who understands why they’re paying stays longer than one who converted faster but never felt the product working. That’s a harder case to make in a two-week sprint review, but it’s the right one.

Format matters as much as the intervention itself. A plan presented as 40 lines of markdown in a terminal is designed to be skimmed. But take the same plan and render it in a way that surfaces what the plan doesn’t address, the gaps it glosses over, the assumptions behind each step, the risks that haven’t been resolved, and suddenly you can’t nod along anymore. You’re not just reading steps, you’re confronting the reasoning. That’s generative friction applied to the invisible process problem: the content invites engagement because ignoring it would mean ignoring the things you actually need to evaluate.

Where this goes

Friction design has been studied in medicine and aviation for decades, in the form of checklists, diagnostic time-outs, and mandatory second opinions. It’s been studied in AI-assisted decision-making since 2021. It’s barely been discussed in the product-building and AI-assisted-development communities, even though these are the communities building the invisible products and using the invisible processes where it matters most.

I’ve been circling this idea since 2018, when a product I built worked too well for users to notice. We actually had a timeline in the app showing every decision the AI made. The problem was nobody opened the app, because the product was working and there was no reason to check. Transparency without friction is a dashboard nobody visits.

The obvious answer is conditional friction: keep the system invisible and only interrupt when the AI identifies a moment worth surfacing. But the whole point of a good invisible product is that those moments don’t arise. The AI handles the anomalies too. There’s nothing to be conditional about, because everything just works, quietly, every day, and the user has no idea any of it is happening. You could design the AI to deliberately surface decisions that don’t need surfacing. Route a percentage of routine choices through the user just so they see the work. But that’s its own kind of dishonesty, manufacturing friction to simulate value rather than creating it.

That’s the problem I couldn’t solve in 2018. The research gives us vocabulary we didn’t have then, generative friction, protective friction, friction disposition, cognitive forcing functions, and that vocabulary changes how you think about the design space. But the hardest version of the problem, how to create engagement with a product that genuinely never needs your input, is still open.

The question isn’t whether to add friction. It’s where, for whom, and how much. And whether the product that works perfectly in silence can ever make itself heard without breaking the silence.