How much friction in a flow is healthy vs purely wasteful?

On this page

Friction is healthy exactly as far as it makes the user pause before something consequential or irreversible and serves their interest, and it turns wasteful the instant it adds a step that serves no one. The amount is not a number you tune toward zero. It is a line you draw by asking whose interest each step protects. A pause that gives a person a beat to catch a costly mistake is friction working for them. A field, a screen, or a tap that exists for the system’s convenience or out of habit is friction working against them. Deliberate friction has a reason you can name. Waste does not.

The reasoning is that friction is just resistance, and resistance can be either a guardrail or an obstacle depending on what it is placed in front of. Before a significant, hard-to-undo action, resistance is protective: it slows the user down at the one moment slowing down pays off, and they would thank you for it if a slip would have cost them. Resistance placed in front of a routine, recoverable, or trivial action is obstruction: it taxes the person for nothing, because there was no mistake worth preventing and no interest of theirs being served. The “remove all friction to make it effortless” reflex flattens this distinction by treating every step as equal drag, and in doing so it strips the useful pauses along with the wasteful ones. Effortless is the wrong target. Effortless where it should be easy, and deliberately resistant where it should be careful, is the right one.

Consider a checkout flow. A required account creation before a guest can buy is wasteful friction, a step that serves the store’s data goals and obstructs the customer who just wants to pay, and it is exactly the kind of resistance to cut. But a final review screen that shows the full order, the shipping address, and the total before the charge goes through is healthy friction, a pause that protects the customer from shipping to the wrong place or paying a surprise amount they cannot easily reverse. Same flow, two kinds of resistance, and the difference is entirely whether the step is there for the user or in spite of them.

Even protective friction has to stay proportionate. A pause earns its place by matching the weight of what it guards, so a confirmation before an irreversible deletion is fair while three confirmations before the same act is the protective instinct curdling back into waste. Friction can also be the right answer in spirit but the wrong size, too heavy for a small risk or too light for a large one, and “is this for the user” does not excuse “is this more than the risk deserves.” Useful friction is calibrated to consequence, not just justified by it.

When you audit a flow, walk it step by step and ask of each one whose interest it serves and what mistake it prevents. Where a step protects the user from a real, costly, or irreversible error, keep it and size it to the stakes. Where a step serves the system, a metric, or an old habit and guards against nothing the user would regret, cut it without hesitation. Stop measuring flows by how few steps they have and start measuring them by whether every remaining step is working for the person walking through it.

Leave a comment

Your email address will not be published. Required fields are marked *