There’s a question I keep asking, and I keep getting the same answer. Not in words — the industry is too polished for that — but in practice, in policy, in the quiet removal of features you relied on, in the error messages that don’t explain themselves, in the app that disappeared from the store overnight, in the hardware that used to do a thing and now doesn’t because a firmware update decided it shouldn’t.
The question is why.
Why can’t I do this obvious thing? Why was this feature removed? Why is this content unavailable in my region when I am a paying customer and the content demonstrably exists? Why does this device need to call home to a server before it’ll let me use the hardware I physically purchased? Why did they change this? Why won’t they fix that? Why is the obvious, user-serving option never the one they choose?
And the answer, stripped of its PR coating, stripped of the blog post and the FAQ and the customer service script, is always the same: because fuck you.
Not because it’s unsafe. Not because it’s technically impossible. Not because there’s a regulation somewhere that requires it. Not because doing it the other way would cause harm to anyone. Because a room full of people who will never use their own product the way you use it decided, for reasons that serve them and not you, that you should have less. And they knew you’d absorb it, complain briefly on social media, and move on. They were right. You did. You always do. That’s the whole calculation, and it works every single time.
I want to talk about why it works, what it looks like in practice, and who is getting rich while you’re sitting there wondering why the thing you paid for won’t do the thing you bought it to do.
the art of the non-reason
The tech industry has perfected the practice of presenting decisions without justifications. Not without explanations — they always have explanations, carefully worded explanations, explanations that have been through legal and comms and probably a focus group. What they don’t have are justifications. An explanation tells you what they decided. A justification tells you why it actually makes sense. The gap between those two things is where “because fuck you” lives.
You get a help article. You get a vague appeal to “security” or “safety” or “the integrity of the platform.” You get a terms of service update with seventeen paragraphs of passive-voice legalese and no actual explanation of what changed or why. You get a support representative who is reading from a script that does not contain the answer to your question, and who cannot escalate you to anyone who has the answer, because the answer is not something the company wants to be said out loud by a human being on a recorded support call.
What you don’t get is a real answer, because there isn’t one that would survive five minutes of scrutiny.
Take sideloading. On iOS, for the better part of fifteen years, you could not install software on your own device from any source other than Apple’s App Store. The official justification was safety — Apple was protecting you from malicious software, from bad actors, from the wild west of unreviewed apps that would compromise your device and steal your data. And look, I get it, that sounds reasonable on the surface. It sounds like something a company that cares about its users would do.
Right up until you look at the actual evidence.
Android has had sideloading since the beginning. Google has never required you to use only the Play Store. Third-party app stores exist. F-Droid, Aurora, APKPure, direct APK installation — all of it has been possible on Android for its entire existence. The “dangerous unreviewed software” that Apple was protecting you from has been freely installable on Android for fifteen years. And the catastrophic wave of Android malware that this permissiveness was supposed to create? The security apocalypse? It… didn’t really happen. Not at the scale Apple’s argument required. Android has had security issues, sure, as has iOS — including through the App Store itself, which has repeatedly approved and distributed malware despite Apple’s supposedly rigorous review process. The safety argument was never as airtight as it was presented.
Meanwhile, the actual reason iOS didn’t allow sideloading is not complicated. Every app going through the App Store is an app Apple can tax. The 30% cut. The in-app purchase requirements that made Spotify and Netflix and Epic Games and literally everyone else either eat the margin or redirect users to their websites to subscribe, creating a worse user experience that benefited no one except Apple’s revenue line. The review process that could arbitrarily reject competitors to Apple’s own services. The leverage over developers who have no alternative distribution channel if they want to reach iPhone users, which meant Apple could dictate terms and everyone had to accept them.
Safety was the story. Revenue was the reason.
And then the EU passed the Digital Markets Act, and suddenly — suddenly — sideloading was technically feasible on iOS. Alternative app marketplaces became possible. What had been framed as a fundamental architectural safety requirement for over a decade turned out to be, in fact, completely optional the moment there were legal consequences for keeping it mandatory. Apple didn’t discover some new security technology that made sideloading safe. They didn’t fix the underlying problem they’d been citing for fifteen years. They just… allowed it. Because the alternative was billions in fines and potential market access restrictions in one of the world’s largest economies.
The impossibility was never real. The justification was never the justification.
The real reason was always “because fuck you, and because you don’t have a choice, and because we’ve structured things so that you can’t make us change until governments get involved.”
That’s the non-reason. That’s how it works. They give you words, and the words sound like reasons, and they’re not, and you usually can’t prove they’re not without the kind of leverage that individual consumers almost never have.
the feature that disappeared
Here’s a pattern you’ll recognize immediately if you’ve been using technology for more than a decade: a product launches with a feature. The feature is genuinely useful. Not flashy, not a selling point, just useful — it makes your workflow work, it solves a real problem, it’s the reason you chose this product over another. You build around it. You rely on it. You tell other people to use this product partly because of it. And then one day — in an update, in a changelog buried three pages deep in a release blog post, in a support article you only find because something broke and you went looking — it’s gone.
Sometimes there’s an explanation. Usually there isn’t. Sometimes the explanation is so transparently dishonest that you’d almost respect them more for saying nothing.
Let me give you the greatest hits.
Google Reader. An RSS aggregator. If you don’t know what RSS is, that’s partly Google’s fault — RSS is a standard that lets you subscribe to websites and get updates without the site having a middleman in between, without an algorithm deciding what you see, without a platform extracting value from your attention in exchange for aggregating content. Google Reader was how a significant chunk of the internet’s technically literate users consumed content. It was deeply embedded in workflows. It had third-party apps built around its sync API. It worked. Google killed it in 2013 with the standard “we’re focusing our efforts on other products” language that translates to “this doesn’t make us money in a way we care about.” The third-party app ecosystem it had enabled? Gone. The users who had to rebuild their reading habits from scratch? Not Google’s problem. The lesson for the people who paid attention: don’t build your workflow on a Google product unless you’re comfortable with it disappearing. The lesson Google took away: apparently nothing, because they’ve killed over two hundred products and services since then. There’s a website — Killed by Google — that exists solely to document the graveyard.
Twitter’s third-party API. For over a decade, Twitter had an API that let third-party developers build clients. Tweetbot. Twitterrific. Fenix. These apps were in many cases better than Twitter’s own clients — better for power users, better for accessibility, better for people who wanted a chronological timeline instead of the algorithmically curated disaster that Twitter’s own app served. They built businesses on this API access. Users built habits around these apps. And then Elon Musk’s Twitter killed third-party API access essentially overnight in early 2023, with almost no warning, no transition period, and a pricing structure for the remaining API tiers so absurd that it effectively ended any commercial third-party client development anyway. The justification was “free API tiers were being abused by bots.” The actual reason was that third-party clients don’t show you Twitter’s ads, don’t expose you to Twitter’s algorithmic engagement machine, and generate zero revenue for the platform while consuming API resources. Musk needed engagement data on his platform for his own purposes and couldn’t harvest it through clients he didn’t control. So they died. The developers who’d built those businesses got nothing. Because fuck you.
The headphone jack. I will be talking about this until I die. The 3.5mm headphone jack is a standard that has existed in various forms since 1878. 1878. It is universally supported. It requires no pairing process. It has no latency. It works. It will work in twenty years. It will work on any device that has a port. Your good headphones — the ones you spent money on, the ones that fit your ears, the ones that sound the way you want — work with it without any additional hardware or software or battery dependency.
Apple removed it from the iPhone 7 in 2016, accompanied by Phil Schiller using the word “courage” — one of the most cynical deployments of that word in the history of the English language — and a set of justifications that included requiring it for internal space, the desire for thinness, and the bold claim that removing the port would drive innovation in wireless audio. Let me address these.
The space argument: the iPhone 7 was not significantly thinner than the iPhone 6s. They used the space for a second speaker and a larger battery, which are fine things, but which do not require the headphone jack to be absent. You could have had both.
The thinness argument: the iPhone with the headphone jack was not appreciably thicker than the one without. The argument evaporated when Apple continued making the phones thicker again in subsequent years because users wanted larger batteries, which meant the “thinness requires removing the jack” premise was quietly abandoned.
The innovation argument: the wireless audio market that followed was innovative primarily in new ways to charge for things you already owned, new ways to lose tiny components that cost a hundred dollars to replace, and new proprietary ecosystems designed to lock you into one manufacturer’s hardware. AirPods are good. They are also sixty dollars to replace the right earbud, they have a battery that degrades over time and cannot be serviced without sending the device away, and they work best within Apple’s ecosystem by design. The “innovation” was largely extractive.
The real reason: AirPods launched with the iPhone 7. The accessories market around Apple’s Lightning connector was enormous and profitable. Every pair of wired headphones that worked with your iPhone without an adapter represented an Apple customer who was not buying Apple audio hardware. The adapter they included in the box — and then subsequently removed from the box and sold separately — represented a way to charge you for the privilege of using hardware you already owned with hardware you’d just bought. The courage was the courage to take something that worked, remove it, and watch people buy the replacement.
Android manufacturers followed because the industry follows Apple, not because the reasoning had improved.
Google’s messaging apps. This one is its own special category of dysfunction, less “because fuck you” and more “because we genuinely cannot get out of our own way,” but the effect on users is identical. Over the past fifteen years or so, Google has launched, deprecated, relaunched, merged, rebranded, killed, and reconstituted its messaging strategy so many times that there is a dedicated blog post from The Verge titled “A brief history of Google’s messaging strategy” that still can’t fit it all comfortably. Hangouts. Allo. Duo. Chat. Messages. Google+. Spaces. Currents. Every time, users built habits around a platform, and every time, Google killed it. The people who used Hangouts for business communication had to move. Twice. The people who used Allo lost all their message history when it shut down. The people who adopted Google’s RCS push found themselves on a platform that still doesn’t interoperate with iMessage properly and may or may not look different in a year depending on which product manager is currently winning the internal turf war. This is “because fuck you” at its most diffuse — not a single decision but a systemic organizational failure to ever commit to user experience over internal politics, repeated so many times it became a defining characteristic.
dependency is the product
This is the thing I want you to actually sit with, because it’s the organizing principle behind everything else I’m going to say: your dependency is worth more to them than your satisfaction.
A satisfied customer who could leave but stays because they’re happy is wonderful for quarterly earnings but terrifying for long-term planning. They might leave. Something better might come along. A competitor might offer more. Satisfaction is fragile. Dependency is durable. A dependent customer who has invested enough — in time, in data, in purchased content, in ecosystem lock-in, in habits that would be painful to rebuild — is a customer who will absorb price increases, product degradation, and the removal of features they valued, because the cost of leaving has been carefully engineered to be higher than the cost of staying.
This is not an accident. This is the strategy. This has been the strategy for a long time, and it has only gotten more sophisticated as the industry has matured.
The App Store is the cleanest example because it affects everyone who owns an iPhone, which is a significant percentage of the people reading this. The App Store doesn’t exist to protect you from malware — if it did, it would have a better track record of not approving malware. It exists to ensure that every transaction between a developer and an iPhone user passes through Apple. The 30% cut on apps and in-app purchases. The requirement that digital goods be sold through Apple’s own payment system, which takes its percentage, which is why Spotify costs what it costs and has done so for years — not because Spotify is greedy, but because Spotify has to charge enough that they can pay Apple’s tithe and still keep the lights on. The rule that made Epic Games’ payment system fight illegal under the App Store guidelines, resulting in a court case that Epic partially won and Apple immediately appealed and has been contesting ever since, because the revenue implications are enormous.
The App Store review process, which can reject an app for violating rules that are interpreted inconsistently, which has no meaningful appeals mechanism for small developers, and which has historically been applied with suspicious severity to apps that compete with Apple’s own offerings and suspicious leniency to apps from large companies that Apple has business relationships with. The developer who spent months building something and had it rejected for a guideline violation that other apps in the same category demonstrably also commit has no recourse. The user who wanted that app doesn’t get it. Because fuck Apple’s revenue model.
Right to repair. I want to spend some time here because I think people still underestimate how nakedly anti-consumer this position is and how sophisticated the industry’s defense of it has become. When you buy a product — a phone, a laptop, a tractor, a medical device — you have historically been able to repair that product, or hire someone to repair it, or at least have options beyond going back to the manufacturer. The manufacturer has an obvious financial interest in you not doing this: authorized repair channels are revenue. Service contracts are revenue. Selling you a new device because repair was too expensive or too difficult is revenue. So manufacturers have implemented a variety of mechanisms to make independent repair difficult, expensive, or outright impossible.
Apple pairs components to specific motherboards using a process called “parts pairing,” which means that if you replace a screen, or a battery, or a camera, with an identical Apple part from another iPhone, the device may display warnings, disable features, or simply not function correctly — not because the part is wrong, but because the software knows the part wasn’t installed by an Apple-authorized technician. A battery replacement. A battery — a component with a known, finite lifespan, that everyone who owns the device will eventually need to replace — can be paired to the device so specifically that replacing it with the correct Apple battery from another iPhone gives you a warning message and disables battery health monitoring. This is not safety. This is not for your benefit. This is to make you pay for authorized service or buy a new device. The repair is the product. Your inability to do it cheaply is the profit margin.
John Deere does this with tractors. A farmer — someone who has traditionally fixed their own equipment because they are often far from service centers and time-sensitive agricultural windows mean a broken tractor during harvest can cost a season’s income — cannot now repair a John Deere tractor without proprietary diagnostic software that John Deere controls access to. A tractor sitting in a field during harvest because a sensor threw an error that any competent mechanic could fix in an hour, but that can’t be cleared without a dealer visit that’s three days out, is a farmer who is learning what “because fuck you” costs in real, measurable dollars.
Proprietary charging standards. Before USB-C got regulatory support — and before the EU essentially mandated it, which is again a case where regulation had to step in because the industry wouldn’t self-correct — you had Apple’s Lightning connector, which was incompatible with every other cable. You had manufacturer-specific charging standards across Android. You had a drawer full of cables that worked with exactly one device. This was not inevitable. USB standards existed. The choice to use proprietary connectors was a choice, made because proprietary connectors create accessory ecosystems. The MFi (Made for iPhone) licensing program — the program that allowed third-party accessory makers to use Lightning legally — was a revenue stream for Apple. The logo on the cable is not just quality assurance. It’s a tax.
Cloud lock-in is perhaps the most insidious version of this because it operates over years and is almost invisible until you try to leave. Your photos in iCloud work seamlessly with your Apple devices and export with enough friction that most people never bother. Your Google Docs exist in a format you can export, with some loss of fidelity, if you put in the work. Your Spotify playlist can’t be exported to Tidal without a third-party tool that may or may not work. Your game saves on PlayStation are on PlayStation’s servers. Your purchased movies on a platform that shuts down are, in many jurisdictions, gone — you licensed them, you didn’t own them, the terms were in the seventeen paragraphs you didn’t read.
The calculus is always the same. Make the product pleasant enough to get you in. Make the exit expensive enough that you don’t leave. Raise prices. Degrade service. Remove features. Watch the churn numbers and see how much you can extract before the tolerance breaks — and they’re very good at calibrating this. They have data. They know exactly how much they can take.
Every time you hit a wall — every time you can’t do a thing that is technically possible, that harms no one, that you have a completely legitimate reason to want — ask yourself who profits from that wall existing. The answer is never you. The answer is always the company that built the wall. And the wall wasn’t built to stop you from doing something dangerous. The wall was built to stop you from doing something that doesn’t generate revenue for the person who built the wall.
the apathy component
The “fuck you” in “because fuck you” isn’t always active malice. I want to be precise about this, because I think conflating all of these things into deliberate corporate villainy misses something important. Sometimes it is active, calculated malice — the parts pairing, the App Store rules, the API pricing designed to kill competitors. But sometimes it’s something almost worse: indifference so complete it functions as contempt.
The distinction matters because it points to different failure modes. Malice you can at least theoretically combat with regulation, with litigation, with public pressure campaigns that threaten revenue. Indifference is harder, because it doesn’t respond to the same pressures. You can’t shame a company into caring about you if they never thought about you in the first place and the people writing the code have never met anyone like you.
Accessibility is where I want to spend time here, because I have a more-than-theoretical relationship with this.
Screen readers exist. VoiceOver exists. TalkBack exists. NVDA exists. JAWS exists. These tools are not obscure or experimental — they’re used by millions of people, they’ve been in widespread use for decades, and the standards for building software that works with them are well-documented and have been for years. WCAG guidelines have existed since 1999. The WAI-ARIA spec for web accessibility has been a W3C recommendation since 2008. There is no shortage of documentation. There is no shortage of tooling to test accessibility. There is no technical mystery about how to build accessible software.
And yet. Software ships broken. Not broken-for-everyone broken. Broken-for-specific-users broken, which is worse in some ways, because it’s invisible. An accessibility failure doesn’t produce an error that affects everyone and gets prioritized. It produces an error that affects the people using assistive technology, who are a smaller portion of the user base, whose bug reports often get filed and left without response, whose issues are triaged into backlogs and stay there for months or years because the people setting priorities don’t use a screen reader, don’t know anyone who does, and have never once had to actually navigate their own product blind.
I’ve used software that had unlabeled buttons — buttons that a sighted user can identify from context or iconography, but that a screen reader announces as “button” with no indication of what it does. I’ve encountered apps where interactive elements aren’t focusable at all, meaning a screen reader user simply cannot access the functionality. I’ve dealt with update notifications that a screen reader can navigate to but not dismiss, creating a state where you know the notification exists but cannot clear it. These aren’t exotic edge cases. These are basic, testable, fixable failures that should not have made it to production and would not have made it to production if the product had ever been tested by someone who actually uses a screen reader.
The failure mode is: nobody tested it. More precisely: nobody whose job security depended on it passing a screen reader test actually used a screen reader to test it. The accessibility checkbox is a form that gets filled out, or an automated scan that catches some issues and misses many others, and the deeper problems — the ones that only emerge when a human being who relies on these tools actually tries to accomplish a task — go unfound because that human being doesn’t work on the product team and isn’t in the room when priorities are set.
And when you report these issues — when you take the time to file a detailed bug report, with reproduction steps, with the exact failure and the expected behavior and the actual behavior — what happens? Nothing. Or: a polite acknowledgment. Or: a form response that thanks you for your feedback and assures you it’s been noted. Or, if you’re lucky, a fix that ships six months later and breaks something else. The disability community has been doing this work — filing reports, documenting failures, explaining the same basic concepts over and over to teams that will turn over and require the explanation again — for decades, and the rate of improvement is not what you’d expect from an industry that prides itself on moving fast.
The tech industry is very good at creating the appearance of accessibility investment. Every major company has an accessibility page. Most of them have accessibility teams of some size. Many of them have made genuine commitments — Apple in particular has done real work here, and I’ll give credit where it’s due. But the gap between the accessibility team’s intentions and the state of accessibility in actual shipped products is, for most companies, enormous. The accessibility page exists partly for genuine reasons and partly because it creates legal cover and partly because it photographs well for the diversity section of the annual report.
The “we hear you” blog post. The “your feedback is important to us” that appears on a form that routes to a dashboard that no one with decision-making authority actually reviews. The VPAT — the Voluntary Product Accessibility Template, a self-assessed document companies complete to claim regulatory compliance with accessibility standards — which is voluntary and self-assessed and therefore as accurate as the company’s commitment to accuracy and honesty, which is to say: variable. The press release announcing the new accessibility features that ships alongside an update that also quietly broke two existing accessibility features that no one bothered to check.
This is not malice. This is a company that has decided, at the structural level, that users who require accommodations are not the primary audience, that accessibility work does not drive headline metrics, and that the cost of doing it properly is higher than the cost of doing it badly. The “fuck you” is not delivered intentionally. It’s delivered by default, through every prioritization decision, every resource allocation, every sprint planning meeting where accessibility fixes are pushed to the next quarter and the next quarter after that.
The effect on the user is the same as active malice. You still can’t use the thing.
There’s another dimension of apathy worth naming: the support system designed to absorb complaints without transmitting them. Have you ever tried to actually report a product problem to a tech company? Not a billing issue — a product issue, a bug, a missing feature, a decision you think is wrong? The path is almost always the same. You go to the support page. The support page has a search bar. The search bar returns FAQs that don’t address your issue. You find a link to “contact support.” You get to a form, or a chatbot, or a support representative who is empowered to help you with a small, predefined set of issues, and your issue is not in that set. If you’re lucky, there’s a feedback form somewhere. The feedback form goes into an aggregation system. The aggregation system produces reports that product teams may or may not read, weighted by volume, which means individual issues from small populations of users will never reach the threshold to be prioritized regardless of their severity to the people experiencing them.
There is no escalation path that leads to a person who can actually change the product. There is no mechanism for holding a company accountable to fixing something they’ve been told is broken. The feedback loop is deliberately closed. Your complaint has been received. Your complaint has been processed. Your complaint has been filed. Nothing will change.
Because nobody is required to change anything. Because the indifference is structural. Because fuck you, but politely, with a ticket number.
what “because fuck you” actually looks like in practice
Let me be concrete, because abstraction is where accountability goes to die. Here are the cases. The real ones. The ones that are happening to someone right now.
Region locking. A piece of media exists. A television series, a film, an album, a game, a piece of software. You want it. You are a paying customer willing to pay for it at a fair price. It is not available in your region. Why? Because of licensing arrangements built on geographic distribution models that were developed for physical media in the twentieth century and have been maintained into the streaming era because the people who benefit from them have more lawyers than you do and less incentive to change than you’d think.
The content exists. The bytes are on a server somewhere. The technical infrastructure to deliver those bytes to you costs the platform money they’re already spending to serve other regions. The marginal cost of serving you is close to zero. You are willing to pay. And the answer is no.
The reason is never “the content doesn’t exist.” The reason is always some combination of: territorial licensing rights sold to a local distributor who hasn’t released it there yet or ever will; a studio negotiating a window for physical release before streaming in your market; a rights holder protecting a local partnership arrangement that is profitable for them and invisible to you. None of these reasons serve you. All of them serve someone else. And the result is that people use VPNs — technology specifically developed to route around this problem — in numbers large enough that Netflix has spent years attempting to block VPN usage while simultaneously knowing that the demand for region-hopping reflects real unserved demand that their licensing arrangements are leaving on the table.
The solution to region locking is global licensing. The reason global licensing doesn’t happen is that global licensing would cost more than territorial licensing, would require renegotiating relationships with territorial distributors who have contractual protections, and would require studios to acknowledge that their territorial model is an artifact of a previous era rather than a rational response to current conditions. This is hard and expensive. Making you unable to watch the thing is easy and cheap. Because fuck you.
Platform exclusivity. A game exists. You want to play it. It runs on a platform you don’t own — a PlayStation, an Xbox, a Switch — and you own a PC, or a different console, or no gaming hardware at all capable of running it. You know, because you’ve read the technical analyses, that the game’s engine could run on your hardware. You know, because you’ve watched the exclusivity window expire on other games, that this same game will probably be available on your platform in twelve or eighteen or twenty-four months. But right now, it isn’t.
Why? Because PlayStation or Microsoft or Nintendo paid a publisher for exclusive rights, or because a publisher made a deal with a platform holder, or because the first-party developer is owned by the platform company. None of these reasons are about making the game better or more accessible. They’re about selling consoles. The game is a loss-leader for hardware. You’re not the customer. You’re the incentive. The game being unavailable to you is the product being sold to the platform holder.
The creative labor of hundreds of developers — years of work, real artistic effort — is deployed as a competitive weapon in a hardware market. You don’t get access to the art because of a business arrangement between corporations you have no relationship with and no leverage over. The developers usually can’t talk about this. The platform holders definitely won’t. And the user sits there for two years knowing the thing exists and being told: not for you. Not yet. Maybe later. Maybe.
App store rejections. A developer builds an application. It is functional. It solves a real problem. It does not violate any law. It does not harm users. It competes, perhaps, with a service the platform operates, or a service the platform has a business relationship with, or it exists in a category the platform has decided to treat with unusual scrutiny for reasons that are never clearly articulated.
It gets rejected.
The rejection notice cites a guideline. The guideline is written broadly enough to apply to many apps that are not being rejected. The developer asks for clarification. The response is a form letter restating the guideline. The developer appeals. The appeals process is a form submitted to a team that responds when it responds, without a timeline, without a guaranteed human review. The developer makes changes. The changes don’t address the underlying objection because the underlying objection was never clearly stated. The app is rejected again.
Meanwhile, apps that commit the same technical guideline violation the developer was cited for continue to be available in the store, because they’re made by large companies or they’ve been grandfathered in or the enforcement of the guidelines is inconsistent in ways that correlate, uncomfortably often, with the developer’s revenue and platform relationships. Small developers with legitimate apps get rejected. Large developers with apps that arguably violate the same guidelines continue to operate. The guidelines are not the point. The guidelines are the mechanism. The point is control.
The user who wanted the app doesn’t get it. The developer who spent months or years building it has no recourse. Because fuck you.
Smart device bricking. You buy a product. It has a processor, a radio, sensors, mechanical components. It works. You pay for it — not rent it, not license it, not subscribe to it, buy it, in the traditional sense where you exchange money for ownership of a physical thing. You bring it home. It connects to the internet because it needs to for some of its features. You use it. It works for a year, two years, three years.
And then the company that made it decides the product line isn’t worth maintaining. Maybe they were acquired. Maybe they went bankrupt. Maybe they’re “sunsetting” it in favor of a new model they’d rather you buy. Whatever the reason, they shut down the servers the device communicates with. And your device — the physical object you own, with functioning hardware, with electrons that still flow correctly — stops working. Not partially. Not degraded. Off.
The Revolv smart home hub. The Wink hub, which went subscription-only mid-ownership and then had its servers threatened repeatedly. The Sony Aibo, original generation — a robotic dog people formed genuine emotional attachments to, whose servers Sony shut down, leaving the robots inoperable. The Logitech Harmony remote ecosystem, shut down. The Plex DVR cloud service. Countless IoT devices from companies that didn’t survive, whose products became physical objects in people’s homes that look like they should work and don’t.
You own the object. You do not own the function. The function is a service, and services can be terminated. This was, in many cases, disclosed in the terms of service — the terms of service that no one reads, the terms of service that were written specifically to create this legal protection while the marketing materials sold you something that looked and felt like a product you owned. The disclosure is real and is also a fig leaf. You were sold a thing. The thing was partially a service contract that the company could cancel. You didn’t buy an off button for your device. They kept it.
This is going to get worse as more devices require cloud connectivity for basic function. Your smart lock that needs to phone home to work. Your car that requires a subscription for features that run on hardware you already own — hardware that was in the car when you bought it, sitting there, capable of functioning, locked behind a software gate because the manufacturer realized they could sell you a monthly fee for heated seats. BMW tried this. They backed down when the backlash was severe enough. They will try again, probably with something less obvious, when they think they can get away with it.
Accessibility as afterthought. Software ships. It doesn’t work with your screen reader. The buttons don’t have accessible labels. The custom dropdown component someone built from scratch doesn’t expose itself to the accessibility tree correctly. The images don’t have alt text. The video doesn’t have captions, or the captions are auto-generated and wrong, and the option to correct them is buried or absent. The PDF is a scanned image with no text layer. The app has swipe gestures with no accessible alternative. The focus order is wrong. The contrast fails WCAG AA at minimum, let alone AAA.
This is not one app. This is not the rare exception. This is the standard condition of a significant portion of software shipped by companies with the resources to do better, who have chosen not to, because the people making prioritization decisions are not the people experiencing the failures, and the metric of “does this work for users who rely on assistive technology” is not a metric that shows up on anyone’s performance review.
I want to be specific about something: the WCAG standards are not hard. Making an image accessible requires an alt text attribute — one attribute, in the HTML, with a text description. Making a button accessible requires that it have a label. These are not engineering challenges. They are habits. They are, overwhelmingly, failures of process rather than failures of technical capability. A company that consistently ships inaccessible software is a company that has decided, explicitly or through inaction, that users who require accessible software are not worth the process change required to serve them.
The legal framework around this — the ADA in the US, the EAA in Europe, various national standards elsewhere — is slowly creating consequences for these failures. Companies have been sued. Some have settled and changed. The threat of litigation is a more effective driver of accessibility improvement than fifteen years of advocacy and detailed bug reports. That should tell you something about the sincerity of the “we care about all our users” framing.
the prophets of the status quo
The tech industry has people whose entire job is to make “because fuck you” sound reasonable. Not just reasonable — inevitable. Natural. The only responsible choice. They are articulate, and they are well-funded, and they give talks at conferences where everyone in the audience also benefits from the systems being defended, so the critical questions don’t get asked.
They speak in a specific dialect. “Ecosystem integrity.” “Platform safety.” “Sustainable business model.” “Protecting the user experience.” “Enabling innovation at scale.” These phrases are to actual justification what a PowerPoint slide is to thinking — the form of a thing, without the substance. They sound like explanations. They contain no information. They do not tell you why the decision serves users. They tell you why the decision serves the platform, dressed in language that sounds like it’s about you.
The App Store tax is a “developer revenue share” that “supports the platform ecosystem.” The parts pairing that prevents you from replacing your own battery without losing functionality is “quality assurance to ensure the best possible user experience.” The smart device that stops working when the server shuts down was “a connected service that enabled features beyond the hardware.” The accessibility failure that’s been in the bug tracker for two years is “something our team is actively working to improve.”
None of these people are lying, exactly. They believe what they’re saying, or they’ve said it often enough that belief has become irrelevant. They’re representing a position, and the position is: the current arrangement is correct, and the people who object to it are wrong, probably for technical reasons that are too complex to fully explain, but trust us. The arrangement benefits users. Users are well-served. The critics are missing context.
What they’re not saying: the arrangement benefits us. The arrangement generates revenue. The arrangement has been structured over years to create the conditions where users have no practical alternative and are therefore not parties to a negotiation but subjects of a policy. The person criticizing the policy is inconvenient because the policy is profitable and they’re making it harder to maintain without consequences.
Listen to what’s not being said. When Apple defends the App Store commission rate, they talk about the value they provide to developers — the marketing, the distribution, the security review, the customer base. They don’t talk about the fact that developers have no alternative channel if they want to reach iPhone users, which is what makes the commission a tax rather than a negotiated rate. When manufacturers oppose right-to-repair legislation, they talk about safety — unauthorized repairs using substandard parts could damage devices or harm users. They don’t talk about the service revenue that repair channel exclusivity generates, or the fact that the safety concerns apply to a small subset of repair scenarios and not to, say, battery replacement, which is the most common repair people need and the one being most aggressively locked down.
The defense of the status quo always leads with the most sympathetic version of the argument. Safety. Quality. User experience. It never leads with the revenue model, because the revenue model is the actual reason, and the actual reason would not survive scrutiny. So they lead with the sympathetic version and hope the scrutiny doesn’t come.
The “because fuck you” is always there, underneath. It’s just wearing a blazer and citing a whitepaper.
what actually changes things
I want to be honest about what I observe actually moves these companies, because “write a strongly worded blog post” is not on the list, and I’d rather be accurate than satisfying.
Regulation moves them. The EU’s Digital Markets Act is producing more consumer-favorable outcomes in the devices and platforms it covers than fifteen years of developer and user advocacy produced. The EU’s USB-C mandate eliminated the proprietary charging standard problem in a way that four years of charging Apple money to make Lightning cables never did. The various right-to-repair laws passing at state level in the US — incomplete and imperfect as they are — have produced more movement on repair policy from Apple and John Deere than decades of advocacy. Litigation moves them. The Epic v. Apple case, even with its mixed outcome, produced changes Apple would not have made voluntarily. The EEOC, ADA lawsuits, and accessibility litigation have produced accessibility improvements that feedback and advocacy alone hadn’t.
Competition, theoretically, moves them, but the current tech landscape has produced dominant platforms in most categories where meaningful competition has been reduced to the point that the competitive threat is not acute enough to force behavior change. You could theoretically switch from iOS to Android, but the switching cost is high enough that Apple doesn’t need to worry about most users making that choice because of a feature dispute. You could theoretically not use Google Search, and there are alternatives — DuckDuckGo, Brave, Kagi — but Google’s market share in search has stayed above 90% globally through years of criticism, which tells you something about how effective “users will leave” is as leverage.
Public shaming moves them sometimes, conditionally, when the issue is visible enough to affect the perception of non-technical users and the cost of the PR damage exceeds the revenue benefit. BMW’s heated seat subscription got backed down. But these are PR losses, not structural changes. The policy behind the decision often persists in a less visible form. The lesson they take is “this was too visible” not “this was wrong.”
What doesn’t move them: your individual complaint. Your negative review. Your tweet. Your blog post, including this one. The forum thread with three hundred upvotes. These create noise in the feedback systems that are designed to absorb noise. They are processed and filed and reported as “sentiment analysis” in a quarterly report that no one reads who can change anything. This is not cynicism — it’s the observable outcome. The complaints about Google Reader were enormous, passionate, and organized, and Google killed Google Reader on schedule anyway.
This matters because the strategy for people who want to actually change these things is different from the strategy that feels satisfying. Regulatory engagement is unglamorous and slow and most people have no idea how to do it, but it’s what works. Supporting organizations that do this work — EFF, Access Now, various disability rights organizations that litigate accessibility — is more effective than the same dollar spent on any form of direct consumer action. Understanding that these are political problems with political solutions, not consumer problems with market solutions, is the prerequisite for everything else.
the only honest version
Here’s what I want, which I will never get: I want one — one — tech executive to stand up in front of a camera and say the quiet part out loud.
“We removed that feature because keeping it costs us money and you don’t have anywhere else to go.”
“We blocked sideloading because every app not going through our store is revenue we don’t collect, and safety was a better story than revenue.”
“We don’t support that use case because the users who need it aren’t a large enough segment to justify the engineering resources, and the cost of that failure is borne entirely by those users, not by us.”
“We can unlock that feature. We won’t. Your options are to accept it or stop using our products, and we’ve spent years making the second option painful enough that most of you won’t.”
“The repair restrictions exist because authorized service is a profit center and independent repair is a leak. The safety framing is real enough that we believe it when it’s convenient and set it aside when it isn’t.”
“We know the app is broken for screen reader users. We’ve known for eleven months. It’s not a priority. We will tell you it’s a priority when you ask. It is not a priority.”
Just once. The honesty would be almost refreshing. It would be a form of respect — acknowledging that you understand what’s being done to you, rather than adding insult to injury with the explanation that it’s for your benefit.
Instead you get the accessibility statement that commits to nothing and will not be enforced. You get the “we’re always looking for ways to improve the experience for all of our users.” You get the non-answer that is technically not a lie because it contains no actual claims. You get the Terms of Service update that changed the thing you relied on and disclosed this in paragraph fourteen of a forty-paragraph document formatted in eight-point font. You get the support ticket closed with “resolved” when the issue is not resolved, with no mechanism to reopen it, no path to escalation, no way to indicate that the resolution did not resolve the problem.
You get “because fuck you,” dressed up until it’s presentable, read back to you in a calm, professional tone by someone who also knows it’s not an answer and has been trained not to say so.
And you absorb it. You build around it. You find workarounds, or you go without, or you buy the thing that replaces the thing that was taken from you. You adapt, because you don’t have a choice, because the cost of not adapting is higher than the cost of adapting, because they planned it that way.
That’s the whole game. Your choices are bounded by decisions that were made without you, for reasons that don’t involve you, by people who are not accountable to you. The wall is there. The wall is smooth. The wall was built by people who knew you’d eventually stop pushing on it.
Because fuck you.
And because you let them. And because so do I. And because until the political will exists to build regulatory structures with actual teeth — the kind of consequences that make the calculation stop working — the answer to “why can’t I do this obvious thing that harms no one” is going to remain exactly what it’s always been.