None of this happened suddenly.
No one voted on it. There was no announcement, no terms update — well, there were terms updates, hundreds of them, but nobody read those either. There was no single moment where the world shifted from “this is how things should work” to “this is how things work now.”
It just drifted.
And we drifted with it.

There’s an old metaphor about a frog in a pot of water. Raise the temperature slowly enough and it never jumps out. Not because it can’t. But because at no single moment does the change feel worth reacting to.
Software did this to us. Slowly, methodically, and with extraordinary patience.
Think about the first time you were asked to create an account just to use a tool. You probably hesitated. Maybe you even left the site. “Why do they need my email for this?” you might have thought. That was a reasonable thought. It was the right thought.
But then you came back. Because you needed the thing done. And you gave the email. And nothing bad happened. And the next time it was easier. And the time after that, you didn’t even notice.
That’s normalisation. And once it happens, it’s almost impossible to see.
The pattern is always the same. It has three stages, and they happen so gradually that you can’t point to the transition between them.
Stage one: Friction. Something feels wrong. An unnecessary step. A request for information that doesn’t seem relevant. A paywall where there didn’t used to be one. You notice it. You might even complain about it.
Stage two: Resignation. You encounter the same friction enough times that complaining feels pointless. “Whatever,” you say. “That’s how it is.” You adapt. You find workarounds. You develop a muscle memory for clicking “Accept” without reading.
Stage three: Invisibility. The friction disappears — not because it’s gone, but because you’ve stopped perceiving it. It’s become part of the landscape. Like living next to a highway. At first, it’s loud. Then you stop hearing it.
This is normalisation. And it might be the most powerful force in software. Not because it’s clever, but because it’s invisible. You can’t fight what you can’t see.
Here’s why this matters: every dark pattern, every manipulative design choice, every extraction mechanism in modern software depends on normalisation having already happened.
Upload gates only work if you don’t question why a tool needs your files on their server.
Subscription models only work if you’ve stopped expecting to own things.
Sludge — the deliberate friction designed to prevent you from cancelling — only works if you’ve already given up expecting the exit to be as easy as the entrance.
Data collection only works if you’ve accepted that your information is the price of admission.
Normalisation is the soil. Everything else grows in it.
I want to be clear about something: this isn’t a conspiracy. No one sat in a room and said, “let’s slowly erode people’s expectations over two decades.” It’s more mundane than that. It’s a thousand product managers optimising for engagement. A thousand A/B tests that discovered people will tolerate more than they think. A thousand quarterly targets that rewarded extraction over value.
The system wasn’t designed to exploit you. It just discovered that it could. And then it optimised for that discovery. Relentlessly. Quarter after quarter. Feature update after feature update.
And we adapted. Because that’s what humans do. We’re extraordinarily good at adapting. It’s our greatest evolutionary advantage and, in this context, our biggest vulnerability.
I started noticing this about a year ago. Not because anything dramatic happened, but because I needed to do something simple with a file.
I went to one of the popular free tools. It asked me to upload. I did. It asked me to create an account. I started to. Then I stopped.
“Why does this tool need my email address?”
It was such a small question. But it was the first time I’d asked it in years. And once I started asking, I couldn’t stop.
Why does this tool need my file on their server? Why can’t it just run on my computer? Why do I need an account to use something that should take four seconds? Why is there a monthly fee for software that does one thing?
The answers, when I found them, were depressingly simple: because that’s how you build a business model around someone else’s inconvenience. You take a task that should be solved locally, move it to a server, wrap it in an account system, and charge for access.
It’s not evil. It’s just architecture. And it’s architecture that depends entirely on you not questioning it.
I don’t think the answer is anger. Anger implies someone did something to you, and the truth is more diffuse than that. We all participated. We all clicked “Accept.” We all chose convenience over principle, a hundred times a day, until the principles stopped seeming relevant.
The answer, I think, is just noticing again.
That’s it. That’s the whole intervention.
Notice that the upload isn’t necessary. Notice that the subscription isn’t inevitable. Notice that the account requirement isn’t a law of nature. Notice that the terms you’re agreeing to weren’t written for your benefit.
None of this was always normal. We just adapted.
And if we adapted in one direction, we can drift back.
This is the first in a series about how software stopped working for us — and what it would look like if it did.