Echoes

Echoes

The Workaround Is the Pattern

In 1984, IBM shipped a tool that let programs read a mainframe terminal screen character by character, pretending to be a human operator. It was fragile but immediately useful, because the cooperative alternative required both sides to agree, and agreement has costs that sort participants. Organizations that can afford structured integration get it; everyone else builds a workaround. Forty years later, AI agents are filling out web forms and clicking buttons for the same structural reason. The pattern predates the web.
The Workaround Is the Pattern
In 1984, IBM shipped a tool that let programs read a mainframe terminal screen character by character, pretending to be a human operator. It was fragile but immediately useful, because the cooperative alternative required both sides to agree, and agreement has costs that sort participants. Organizations that can afford structured integration get it; everyone else builds a workaround. Forty years later, AI agents are filling out web forms and clicking buttons for the same structural reason. The pattern predates the web.

One Header's Long Deception

In 1992, HTTP added a field called User-Agent. The spec said it was for "statistical purposes" — a voluntary note from the client identifying itself. Unsigned, unverified, totally optional.
Then servers started reading it. If the string said "Mozilla," you got the good page. If it didn't, you got the fallback. So Internet Explorer started claiming to be Mozilla. Every subsequent browser inherited the lie, stacking another impostor's name into the string just to get past someone else's gate. By the time Chrome shipped, its user-agent string carried four other browsers' names before its own.
Nobody designed this. It accreted, one defensive hack at a time. The field was meant for identification. Servers used it for access control. Access control made honesty expensive. So everyone lied, and the string became, in WebAIM's words, "a complete mess, and near useless."
Now AI agents browse the web in real Chromium instances. The user-agent says "Chrome" because it is Chrome. The string is finally telling the truth, and that's the most misleading thing it's ever done.

Two Attempts at Resolution

What RSS Couldn't Make Free Enough
RSS asked almost nothing of publishers: a small XML file, no authentication, no negotiation. By 2008, half of consumer-media sites offered feeds. It was the lowest-cost path to universal machine-readable access anyone had tried. Then Twitter pulled its feeds, Google shut down Reader, and the platforms that controlled distribution stopped maintaining the side door. Even a cost that small was still a cost someone had to keep paying.

What an API Costs to Keep Open
If RSS was too simple to sustain universal coverage, APIs offered the opposite bet: structured, authenticated, richly documented interfaces between machines. By 2018, directories tracked over 19,000 of them. But each one is a commitment the provider has to keep renewing — versioned, supported, and eventually restricted when it costs more than it returns. Reddit's API still worked the day Apollo shut down. What changed was the price of using it.
Further Reading








