Friction Is the Feature

A lot of apps borrowed the worst parts of game design. Not the mastery, not the agency, not the satisfaction of earning a win. Just the carrot on a stick: timers, cooldowns, paywalls, red-dot badges. So how do you actually borrow from games without becoming manipulative?

Without stakes, software is meaningless. If a button takes zero effort and carries zero risk, the user feels nothing. It's a ghost town of hollow engagement. Real engagement comes from stakes, identity, and mastery you had to earn.

But friction isn't a universal fix. Most "add friction" advice skips the part that actually matters: knowing whether your product can support it in the first place. Here's the full version.

Part I: The Eligibility Test

Friction only works on a specific kind of relationship between a user and a product. Apply it outside that zone and you just make people angry. Run these four questions first. A "no" on any of them means stop, build an elevator instead.

1. Is this identity-driven or task-driven? If the product vanished tomorrow, would the user feel a loss of self, or just an inconvenience? Fitness, learning, creative tools, games: identity. Banking, taxes, healthcare portals, expense reports, ops tools: task. Friction only pays off on the identity side. On the task side it's pure cost.

2. Did they opt into the challenge, or just want the outcome? Someone downloading a chess app wants to get better at chess. The struggle is the product. Someone filing a tax return wants the return filed. The struggle is a bug. If the goal is the destination, not the climb, friction is just stealing their time.

3. Do they have spare capacity for this right now? A power user on a hobby app in their free time has bandwidth to spare. Someone doing a stressful, compliance-mandated task with limited time or energy doesn't. Same feature, same app, different verdict depending on who's using it and when. This is also an accessibility issue: what feels like productive struggle to one person is just a barrier to another. Any friction needs an ongoing, accessible low-friction path, not just a smooth onboarding.

4. Can you measure a real skill being built? Chess rating, running pace, fluency. That's real mastery. No measurable capability means you're not building mastery, you're gating access and calling it one.

Shortcut test: would the user brag about doing this the hard way? People brag about finishing a marathon. Nobody brags about filing a W-2. If the answer's no, you're not in mountain territory.

Part II: Why Difficulty Creates Love

Here's the counterintuitive bit: the harder something is, when it's done right, the more people love it. We binge shows on hard mode, pay to run marathons, spend hours dying to the same boss in Elden Ring.

Two things explain this:

The Endowed Progress Effect. The closer you feel to a goal, the harder you'll work for it, and the more the win means because of what it cost.

The IKEA Effect. People overvalue things they struggled to build, compared to the same thing handed to them free.

Every bit of friction costs energy. When the payoff outweighs the cost, it sticks. Convenience builds temporary users. Stakes and identity build lifelong ones.

None of this works without autonomy, though. Self-determination theory is why chosen difficulty builds engagement and imposed difficulty just breeds resentment. A marathon you signed up for and a form your bank forces you through aren't the same kind of hard. That's exactly what the Eligibility Test is for.

Part III: The Mountain and the Elevator

Designers often assume every user wants an elevator for everything. The best products give them both.

The elevator is for acquisition and utility. Zero-friction onboarding. Nobody should fight an app just to sign up.

The mountain is for retention and transformation. Curated, optional friction that forces the user to adapt and grow.

Chess is both at once. The rules fit on a napkin. Mastery takes a lifetime. If your product is a pure utility, build the elevator. If it's meant to transform the user, and it passed the Eligibility Test, build the mountain.

Part IV: The Friction Audit

Once a product's mountain-eligible, use these four checks to keep the difficulty strategic instead of toxic.

Cost-of-error rule. Match the speed bump to the mistake. A one-second fix stays frictionless. A ten-hour mistake earns a confirmation step.

Consented vs. imposed. Ask if the friction serves the user's own goal, or a retention metric at their expense. Duolingo's streak guilt and a predatory cooldown timer use the same lever, loss aversion, so "does this feel challenging rather than trapping" isn't enough on its own. Better question: would the user defend this if you explained exactly how it worked?

Identity test. Does beating this friction make the user provably more capable, not just feel that way for a second?

Falsifiability test. Make a real prediction before you ship: if removing this friction increases long-term retention, it was imposed friction dressed up as mastery. Judge by retention against a frictionless control, not by how much the people who stuck around say they love it. The ones who quit never get interviewed.

Part V: Where Friction Breaks

Strategic friction works. Careless friction breaks people, usually one of these ways.

Streak fatigue. One unforgiving penalty and a single sick day turns into permanent abandonment. Fix: a grace mechanism, a streak freeze that cushions the drop without killing accountability.

Forced publicness. Mandatory competition drives off users who wanted privacy. Fix: leaderboards opt-in only.

Hollow rewards. Badges and generic notifications fade fast because nothing real got earned. Fix: tie every unlock to an actual mastery metric.

The quit threshold. No relief valve, no place to breathe or explore, and people don't get better. They just quit and don't come back.

Information scarcity. Hidden stats and invisible timers make friction feel unfair instead of hard. Good friction gives you the tools to win. Bad friction just punishes you for trying.

All of this is basically Csikszentmihalyi's Flow: challenge has to track skill in real time or you get boredom on one side and anxiety on the other. Treat it as a heuristic for one person's moment, not proof a mechanic works across millions of users over months. That's what the falsifiability test is for.

Case Study: Elden Ring

Goal: reach the Erdtree at the center of the world. Friction: Margit, a punishing boss blocking the early path. Loop: die, learn, get stronger elsewhere, come back, win.

Beating Margit feels huge, the Endowed Progress Effect doing exactly what it's supposed to. The game is merciless but never unfair. Every death teaches you something.

Worth being honest: Elden Ring is one celebrated win from a genre full of failures nobody writes about. Difficulty alone doesn't make people love something. FromSoftware's execution is doing as much work as the friction. Friction multiplies good design, it doesn't replace it.

And it clears every gate in the Eligibility Test. Players chose it, opted into the challenge, brought spare time and attention, and left with a real skill. Change any one of those and the same difficulty stops being mastery and starts being punishment.


The Goldilocks Zone

Friction is a tool, not a virtue or a vice, and it doesn't belong everywhere.

Too little and you get hollow experiences. Too much and you get quitting. The wrong product entirely and you get resentment no matter how well it's tuned. The right friction on the right product gets you mastery, joy, loyalty.

Ask, in order: is this product even a candidate? If so, what's it cost the user and is it worth it? And after you ship: was I right?

Get it right and people don't just use your product. They grow because of it. They come back, not out of habit, but out of love.

 
 
 
 
 
 
 
Abdi Jama