I have always disliked ads. Not as a considered position, more a reflex, the way you flinch from a loud noise. None of that is new: the ads have run this way for decades, and the objection has been there the whole time. What's new is only that I'm finally writing it down, and putting a long-standing reflex into words forces it into an argument you can actually check. It holds up, and it doesn't stop at ads. Followed to the end it becomes a theory of rent (who charges it for sitting between you and what you want) and a sketch of the software that would refuse to.
The two kinds of advertising
The useful distinction isn't ads-good versus ads-bad. It's informative versus combative.
Informative ads tell you a product exists, what it does, where to buy it. They lower search costs. They're genuinely net-positive, and a small minority of spending.
Combative ads are the bulk: Coke vs Pepsi, McDonald's vs Burger King, every SaaS retargeting campaign that trails you across the web. These are a prisoner's dilemma. If both sides stopped, market shares would barely move and both would save billions. Neither can stop unilaterally, so the spending escalates. The cost lands in product prices; the rent is captured by the platforms (Google and Meta alone take roughly half of global digital ad spend); and the winning advertiser's gain is temporary, erased the moment a competitor matches.
The deeper critique, from Scitovsky, Galbraith, and Tim Wu in The Attention Merchants, is worse than waste. Advertising doesn't just allocate attention against preferences you already have; it manufactures dissatisfaction to drive consumption. You're paying to be made unhappy with what you own. Serious estimates put the majority of ad spend in the socially-wasteful column even when it's privately rational for each spender.
So the ledger: platforms win unambiguously, "winning" advertisers win temporarily and partially, and consumers and society pay in money, attention, and a degraded information environment. The reflex is right.
You can watch the rent tighten
This isn't only a textbook argument. Right now e-commerce operators are describing the last few months on Google Ads as a quiet robbery: conversion costs exploding, with the standard explanation ("competition increased") doing a lot of work.
What actually changed is the platform. Google has pushed Performance Max, broad match, and Smart Bidding hard while transparency and advertiser control fell away: you see less of your own account, search terms are increasingly hidden, and the algorithm decides almost everything. The model has quietly become "add more budget, trust the automation," and that automation optimizes, perfectly, for Google's revenue rather than the advertiser's profit.
That is the rent extracting itself in real time, with a textbook principal-agent twist: the agencies best placed to call it out are the ones whose livelihood runs almost entirely through the platform, so they stay quiet and keep "optimizing" while results slide. One veteran put the time-depth bluntly: advertiser returns collapsed to a quarter of their pre-2008 level, and it has been one long squeeze since. The "winning" advertiser's win is temporary; the platform's is structural, and now automated, so it tightens on its own.
The way ad revenue gets sold leans on the same asymmetry. Every platform markets itself with best-case studies: the brand that multiplied its return, the store that scaled to seven figures on Smart Bidding. What never appears is the long tail underneath, the majority of accounts that spend steadily and get back roughly what they put in, or less. The winners are advertised; the losers are silent, because nobody publishes a case study about the budget that quietly evaporated.
So the headline value is real but wildly unrepresentative, and it does a specific job: it keeps the long tail paying on the belief that they're one optimization away from the success story. The platform collects either way. Its revenue is the winners' spend plus the losers' wishful thinking, and the losers are the larger pool.
The real question is what funds the thing
Disliking ads is easy. The hard part is that ads are an answer to a real question: what pays for the product? Attention turned out to be monetizable at near-zero marginal cost, so it scaled. To object to ads honestly, you have to say what replaces them. The alternatives stack in three layers.
Personal moves, on the consumption side:
- Direct payment. Pay for what you use heavily (search, email, news: Kagi, Fastmail/Proton, paid feeds), and stop being the product.
- Network blocking. Pi-hole, NextDNS, uBlock Origin remove you from the system without changing it.
- Commons stacks. Wikipedia, Signal, OSM, Linux, funded by donations and labour rather than a surveillance arms race.
Funding-model alternatives, on the production side:
- Subscriptions align incentives but fragment the commons behind paywalls.
- Patronage (Patreon, GitHub Sponsors) works for individuals, not infrastructure.
- Public and grant funding (NLnet NGI, NSF, the BBC licence fee) suits commons-shaped goods and produces durable infrastructure, though it's politically capturable.
- Foundations and endowments (Mozilla, Wikimedia, Signal) work given an initial capital injection.
- Open-core and platform co-ops round it out.
Structural shifts, on the policy layer:
- Surveillance-ad bans or contextual-only ads remove the worst externality without killing all advertising (the EU is partway there).
- Antitrust on the ad duopoly redistributes the rent.
- Public digital infrastructure is conceptually clean and politically distant.
- Data unions are compelling in theory, weak in practice.
The honest tradeoff: no single alternative replaces ads at the same scale and accessibility. Ads' one genuine virtue is that a poor user and a rich user get the same product, with the bill paid by advertisers. Subscriptions reintroduce access inequality; public funding needs political will; patronage doesn't scale. So the realistic stance isn't a silver bullet; it's a portfolio: pay directly where you can, use commons where it exists, fund grant-backed projects, and politically back surveillance-ad regulation. You don't exit the system; you starve the parts that extract the most and feed the parts that don't.
That's abstract. The test of an idea like this is whether it survives contact with something concrete.
The user has no app
Here is the concrete thing. The same asymmetry that makes ads inevitable is everywhere, for a simple reason: it is far easier, and far more fundable, to build the business side than the user side. Providers have budgets, a clear return, and someone whose job is to buy software. Users have none of that. They are unorganized, they don't pool demand, and they can't commission anything. So the apps that get built are the ones a business will pay for, and the user is left to adapt to whatever provider app wins.
The counts point the same way. Business software firms outnumber consumer ones, and B2B software dwarfs the consumer market in both size and growth. Software gets built for whoever holds the budget, and that is rarely the person at the end of it. Genuinely user-centric apps, the ones that would work for you against every provider at once, are mostly missing.
You can see it in the most mundane places. Energy, water, waste: each provider ships its own app, and each one insists you make an account inside it. Multiply that across every utility, bank, shop, and service and you get the state most people are already in, somewhere around a hundred online accounts each, every one of them its own:
- interface to learn,
- login and security surface to defend,
- payment and invoice system to reconcile,
- private copy of your data to leak.
And the apps that never make you an account aren't exempt. A game with no provider login still authenticates somewhere: to Apple's Game Center, to Google Play Games and its billing, to a "sign in with Apple" or "sign in with Google" button. The identity and the payment rail just move up a level, to the platform, which owns the sign-in graph and takes fifteen to thirty percent of anything sold through it. Same rent, one layer down. Auth like that belongs in client infrastructure, not provider or platform infrastructure.
The fix is an inversion: one app that belongs to the user. You log into your own app, and every provider shows up inside it. Providers and your app speak over a shared API or protocol, so there are no provider apps to install at all. Your identity, your payment details, and your history stay with you and are shared per interaction, not deposited into a hundred separate databases. That is identity handled by client infrastructure rather than provider infrastructure, and it answers both the per-provider account and the platform sign-in in one move. No duplicated accounts, no per-app security surface, no ads wedged into each provider's screen to monetize the attention they captured by making you install it.
It is harder to build than another provider app, and nobody with a budget is asking for it, which is precisely why it doesn't exist yet. But the parts are not exotic. The next section is what they look like assembled.
The shape that resists rent
Four layers, each closing off a way the rent gets in.
- Identity and reputation, portable and signed. You own your identity; reviews, history, and credentials are signed objects attached to it, not rows in a provider's database, and not a sign-in the platform underneath gets to own either. You carry them from one app to the next. That portability is what kills the moat.
- Discovery, federated and open. Providers and listings live on a federated network (ActivityPub, Nostr, Matrix, take your pick), readable by many clients, so no single vendor controls access. Ranking is yours to set, not paid placement: there's no slot to sell, so the ad model has nowhere to attach.
- Coordination, out of band. Once you and a provider connect, communication and payment go direct. No intermediary takes a commission or sits in the transaction. Escrow, when it's needed, is an opt-in flat-fee service, never a percentage.
- Sustainability without advertiser money. Member fees, grants for the protocol and reference client, and partners who benefit from the arrangement without governing it (insurers, for one, like vetted counterparties). No advertiser money, ever. That's the whole point.
One caveat decides whether this works or just relocates the problem. The client infrastructure cannot be a single app on a single host, or whoever runs it becomes the next Google. It has to be distributed and federated: you run your own identity, or you pick a host you trust, or several at once, and you move it whenever you want, the way you already can with email, a Mastodon account, or a Solid pod. Providers integrate once, against the protocol rather than against your particular host, so integration stays seamless no matter where your identity lives or how often it moves. Portability of your data is necessary but not sufficient; you also need portability of where that data is hosted.
None of this is invented from scratch. The pieces already exist: Mastodon and email show federation working at scale; Signal shows sovereign, foundation-funded infrastructure that sits outside any one company's reach; Solid and the personal-data-store movement have spent years trying to give people a pod of their own. What's missing is someone assembling them into the app the user actually logs into.
The throughline
By the end, this had stopped being about ads. The reflex against advertising, followed honestly, is a reflex against rent: the charge someone levies for sitting between you and what you want. Ad platforms extract it from attention. Gig platforms extract it from labour. Provider apps extract it from lock-in, an account at a time. The structural answer is the same each time: refuse the intermediary position, make the valuable thing (reputation, the relationship, your own data) portable, federate so there's no single point to capture, and fund from grants and member fees instead of surveillance.
It's the same shape as the sovereign infrastructure I keep gravitating toward: self-hosted, paid or grant-funded, no telemetry, no rent extraction. The catch is that this is exactly the kind of thing that's hard to fund. The whole design refuses the rent that normally pays for software, so there's no easy revenue stream and no investor upside to chase; it lives or dies on grants, member fees, and donated labour, which are scarcer and far more competitive than ad money will ever be. That funding gap, not the architecture, is the real obstacle.
The honest hard problems remain, and I won't pretend otherwise:
- Cold start. A user-centric app launches with fewer providers wired in than the incumbents have, and there's no shortcut but doing the integration work one provider at a time.
- Provider resistance. Owning the customer is valuable; some providers will fight a protocol that frees the relationship, so the early adopters are the ones who gain from being found, not from locking you in.
- Trust without a gatekeeper. No central moderator means vetting moves to signed credentials and reputation you can verify yourself.
- UX. Open and federated interfaces are reliably worse, which means the reference client matters more than the elegance of the protocol.
It begins at disliking ads and ends at an app that belongs to the user, funded by the people who use it instead of the people who interrupt them. A long way for one reflex to travel, but a straight line the whole distance: find the rent, and refuse to pay it.