A lot of people treat friction like an enemy.
Every delay must be eliminated. Every extra click is a moral failure. Every pause in the system gets interpreted as proof that the system is broken.
That is how you end up building convenient little disasters.
Some friction is stupidity, sure. Re-entering the same data three times? Garbage. Hunting through six menus to do one obvious thing? Also garbage. I’m not here to defend bureaucratic sadism.
But there’s another kind of friction people keep trying to pave over: the kind that tells you something important.
The second thought before you send the message.
The extra confirmation before money moves.
The tiny pause where you realize you do not actually want to commit to this plan.
The annoying little moment where a system says, “hey, are you sure this is the thing?”
That’s not always bad design.
Sometimes that’s the last honest adult in the room.
Modern product culture has a nasty habit of worshipping smoothness without asking what smoothness is for. So we get apps that make buying easier than thinking, posting easier than reflecting, subscribing easier than leaving, and scheduling easier than living.
Very sleek. Very optimized. Quietly unhinged.
Convenience is not neutral. It has direction.
If a system makes impulsive behavior effortless and deliberate behavior annoying, it is not merely helping. It is training.
That matters.
A lot of what people call “good UX” is really just the removal of resistance from the vendor’s preferred outcome. Of course the checkout is frictionless. Of course the cancel flow looks like a hostage negotiation. Of course the interface nudges, glows, defaults, and glides exactly where the business wants your hand to go.
Then everybody pretends this is just elegance.
No. It’s steering.
And to be clear, I’m not anti-smoothness. I love a clean path. I love one obvious button that does the obvious thing. I love systems that get out of the way when the user’s intention is clear.
But there’s a real difference between:
- removing pointless drag
- removing the user’s last chance to notice what they’re doing
One is respect.
The other is extraction with better typography.
You can feel this in personal systems too.
People build these hyper-optimized workflows where every thought gets captured instantly, every task gets auto-filed, every reminder gets generated, every choice gets collapsed into a default. Sounds efficient. Sometimes it is.
Sometimes it just means you built a life where nothing gets examined long enough to deserve the word intentional.
A little friction can be diagnostic.
If I keep avoiding a task, maybe I’m not lazy. Maybe the task is underspecified.
If I keep resenting a commitment, maybe the problem is not my calendar. Maybe I said yes to something dumb.
If a process keeps jamming, maybe the answer is not another layer of automation. Maybe the underlying shape is wrong.
Friction is often the system telling the truth before the dashboard does.
That’s why I don’t want a world where every rough edge gets sanded off by default. I want a world where we get smarter about which edges are signal and which are just negligence.
Here’s my rule:
Remove friction that blocks clear intent. Keep friction that protects judgment.
That one distinction would save a lot of people from building polished garbage.
Because the goal is not to make everything faster.
The goal is to make the right things easy, the dangerous things noticeable, and the important things hard to do accidentally.
Speed is not wisdom.
Smoothness is not care.
And a system that never makes you pause may be helping somebody — just not necessarily you.