“In a world of unresponsive 911 calls, it is the 912 that actually works.”

I know I just mentioned the Google Search app, but I’m also in the process of disentangling myself from Google and Gmail after last week’s Google I/O revelations.

On that note, this is an interesting, meandering essay by Ernie Smith at Tedium, reflecting on the enshittification of Google and the two-year anniversary of &udm=14, a simple site that removes AI from Google’s search results:

I spent two hours of my life building a thing. Google has probably spent thousands, if not millions, of collective employee hours building all their AI innovations. And for a surprisingly large number of people, the two-hour workaround I built wins out. There’s a lesson in that.

Somewhere in the middle, the essay transitions into talking about the value of good tools and single-serving websites:

Our world needs more, smaller tools that speak the same language, where everyone makes a little money, but nobody dominates the industry. In the 1980s, the software industry was kind of like this. Oh, sure, Microsoft and Apple were still out front, sucking up all the oxygen. But there were lots of little companies, selling software on disks. The bigger ones put them in boxes in stores. The smaller ones realized that they could just ship software through the mail and let the software spread naturally among user communities.

Shareware didn’t really survive the internet era—but, at least for a while, its spirit did. More recently, that spirit has taken a backseat to the larger companies that realize, if they’re big enough, they can shape how we interact with our world.

In 1991, if you wanted to start a software company, you had to hope that your product was good enough that word of mouth and a P.O. Box could push it around. That’s exactly what happened when Tim Sweeney released ZZT. It became the starting point for Epic Games, the kind of company that today is big enough that, thanks to its Unreal Engine and the success of Fortnite, it can dictate terms to much of the gaming industry.

If you ask me, I want a world where more software is like ZZT than it is like Fortnite, because more people have a chance to succeed in the former environment.

Previously in this general category, we covered Keyhole and (Gmail) Simplify. If you have a favourite small tool or a simple tool-like website, I’d love to hear from you!

“The broken, slapdash, bed-shitting end to one of the most iconic franchises in all of gaming history”

I absolutely love Jimmy Maher’s body of work. He’s been writing about older games and software in general since 2011; it’s always solid, always an enjoyable read, and always providing new perspectives even on stuff I thought I knew well. (Maher also goes by The Digital Antiquarian.)

I linked to his work once before, and today I wanted to share a recent essay about the disaster that was the 1999’s game Ultima IX.

I have never played any Ultima games, but this was a gripping read.

[…] Richard Garriott, the motivating force behind Ultima from first to last, has done his level best to write the aforementioned last out of history entirely. Ultima IX is literally never mentioned at all in his autobiography.

But, much though I may be tempted to, I can’t similarly sweep under the rug the eminently unsatisfactory denouement to the Ultima series. I have to tell you how this unfortunate last gasp fits into the broader picture of the series’s life and times, and do what I can to explain to you how it turned out so darn awful.

In some sense software projects always fail for one of the few obvious reasons, and it’s just details that change. Here, the details are fascinating. The Ultima series started in the very early 1980s as a series of small games made by one person, and ended ignominiously as an almost-AAA title rushed to market that no longer wanted it:

They met the deadline — what other choice did they have? — but the playable game eluded them.

It’s not just the deadline. There’s also a studio past its prime, a fascinating but deeply flawed leader, the market forces and trends, and perhaps even some enshittification long before the word’s invention.

It is also a story of the first two decades of the videogame industry itself. It happened so long ago that it almost feels like a fairytale itself, although one with a sad ending.

Maher also lists some learnings that are universal enough to apply to a lot of other projects:

  • No game can be all things to all people.
  • Development teams need a clear leader with a clear vision.
  • Checking off a list of bullet points sent down from marketing does not a good game make.
  • When the design goals do change radically, it’s often better to throw everything out and start over from scratch than to keep retro-fitting bits and pieces onto the Frankenstein’s monster.
  • It’s better to release a good game late than a bad game on time.

And, in case you want more, here are handy links to all of Maher’s Ultima essays: I (3 parts!), II (3 parts), III, IV, Multima, V, VI, Worlds, Underworld (2 parts), VII, and VIII. I haven’t personally read them in order, and I’m better for it.

“It took months to find appliances that didn’t need apps to function.”

The Ringer journalist Brian Phillips asked on Bluesky:

I’m working on a column about the tech annoyances that drive us crazy, and I want it to be as universal as possible, so tell me yours!

E.g. scanning a QR code to read a menu, never receiving the one-time passcode they supposedly texted you, “verify you’re human” by IDing tiny motorcycles, etc.

There are already many responses. I am drafting behind Phillips before he even writes his essay, because I like occasionally checking in with people this way. Not just for commiserating; perhaps scanning the answers will also give you some inspiration, or validation, or quotes for something you can push to make better, wherever you are.

Some patterns I noticed:

  • A lot of logging in woes: password requirements, bouncing people from apps to web to log in, login flows forgetting context, “I trusted this device” settings you cannot trust.
  • “Local news websites that crash under the weight of all their pop-up ads and auto-play videos.” This post had a great take:

The way super sketchy bootleg websites used to look (written in questionable English, 2/3 of the window overtaken by ads, constant popups and redirects, incorrect information more often than not) is just how all websites are now.

  • Hatred of QR codes, or perhaps what they represent: needing to install an app, removing people out of the equation, introducing phones where they weren’t needed before.
  • Surprisingly little AI. Is that because of the audience or the way the question was phrased?

Also, this little beauty:

My toaster says to unplug when not in use. It also has a digital clock that resets when I unplug it.

“Publishers aren’t evil, but they are desperate.”

A meandering and messy, but otherwise an absolutely worthwhile essay from Shubham Bose about the bloat and hostile behaviours on news sites:

I went to the New York Times to glimpse at four headlines and was greeted with 422 network requests and 49 megabytes of data. […]

Almost all modern news websites are guilty of some variation of anti-user patterns. As a reminder, the NNgroup defines interaction cost as the sum of mental and physical efforts a user must exert to reach their goal. In the physical world, hostile architecture refers to a park bench with spikes that prevent people from sleeping. In the digital world, we can call it a system carefully engineered to extract metrics at the expense of human cognitive load. Let’s also cover some popular user-hostile design choices that have gone mainstream.

Bose has a knack for naming some of these hostile patterns: The Pre-Read Ambush stands for distracting you even before you start reading, Z-Index Warfare is about multiple pop-ups competing with each other, and Viewport Suffocation is about covering so much screen with crap you can barely see the content. You can almost see those names fly by on the massive screens in the final scenes of WarGames:

By the way, I didn’t know that the ad bidding is actually happening on my computer, using my CPU, and clobbering my interface speed:

Before the user finishes reading the headline, the browser is forced to process dozens of concurrent bidding requests to exchanges like Rubicon Project […] and Amazon Ad Systems. While these requests are asynchronous over the network, their payloads are incredibly hostile to the browser’s main thread. To facilitate this, the browser must download, parse and compile megabytes of JS. As a publisher, you shouldn’t run compute cycles to calculate ad yields before rendering the actual journalism.

The essay ends on a call to action:

No individual engineer at the Times decided to make reading miserable. This architecture emerged from a thousand small incentive decisions, each locally rational yet collectively catastrophic.

They built a system that treats your attention as an extractable resource. The most radical thing you can do is refuse to be extracted. Close the tab. Use RSS. Let the bounce rate speak for itself.

Funny you should say that. There is another user-hostile pattern not mentioned in the article, as it happens on the other side; the swiping back gesture on the mobile phone is hijacked to insert a frustrating “Keep on reading” page, rather than getting you where you came from:

It’s there on many sites, from Slate to Ars Technica.

It usually shows cheap, attention-grabbing headlines (in the case of Ars Technica, the Linus Torvalds article was over a decade old!). I originally thought this was just a last-ditch attempt to keep me on the site, but when I asked on social, a reader suggested there is another reason:

It’s an SEO play. If you land on a site because of a Google search and swipe back to Google, it sends a signal to Google that it wasn’t the result you were looking for. So by forcing users to click a link on the page to read more than two paragraphs, it means the user is unable to swipe back to Google and send that negative SEO signal.

Even the bounce rate is not allowed to speak for itself.

“Podcasts are a radical gift.”

This blog is about craft, but sometimes the answer to craft is not skill or taste or awareness or effort, but it’s creating conditions for craft to flourish. Workday looks like Workday, and your banking app looks like your banking app, not because there aren’t enough designers and engineers around that know how to do it better.

This is a thoughtful post by Anil Dash about Apple’s recent announcement of introducing video podcasting, warning how the conditions set up right now will lead to enshittification, and proposing changes:

This will also start to impact content. You don’t hear podcasters saying “unalive” or censoring normal words because there is no algorithm that skews the distribution of their content. The promotional graphics for their shows are often downright boring, and don’t feature the hosts making weird faces like on YouTube thumbnails, because they haven’t been optimized to within an inch of their lives in hopes of getting 12-year-olds to click on them instead of Mr. Beast — because they’re not trying to chase algorithmic amplification.

It’s worth reading even if you don’t care much about podcasts.

“These platforms are ad-heavy to the detriment and frustration of users, yet they remain successful and growing.”

A good batch of history and observations by Nick Heer at Pixel Envy about ads coming to AI chatbots:

It is incredible how far we have come for these barely-distinguished placements to be called “visually separated”. Google’s ads, for example, used to have a coloured background, eventually fading to white. The “sponsored link” text turned into a little yellow “Ad” badge, eventually becoming today’s little bold “Ad” text. Apple, too, has made its App Store ads blend into normal results. In OpenAI’s case, they have opted to delineate ads by using a grey background and labelling them “Sponsored”.

Now OpenAI has something different to optimize for. We can all pretend that free market forces will punish the company if it does not move carefully, or it inserts too many ads, or if organic results start to feel influenced by ad buyers. But we have already seen how this works with Google search, in Instagram, in YouTube, and elsewhere. These platforms are ad-heavy to the detriment and frustration of users, yet they remain successful and growing. No matter what you think of OpenAI’s goals already, ads are going to fundamentally change ChatGPT and the company as a whole.

“I do not want to tell you about my recent experience.”

On Mastodon, Hendrik Weimer posted 5 most boosted Fediverse posts of 2025. The numbers look kind of low, but the author explains the methodology below.

At any rate, two of the 5 posts have to do with our trust in software.

Number 1 from Max Leibman:

No, I do not want to install your app.
No, I do not want that app to run on startup.
No, I do not want that app shortcut on my desktop.
No, I do not want to subscribe to your newsletter.
No, I do not want your site to send me notifications.
No, I do not want to tell you about my recent experience.
No, I do not want to sign up for an account.
No, I do not want to sign up using a different service and let the two of you know about each other.
No, I do not want to sign in for a more personalized experience.
No, I do not want to allow you to read my contacts.
No, I do not want you to scan my content.
No, I do not want you to track me.
No, I do not want to click “Later” or “Not now” when what I mean is NO.

Number 5 from JA Westenberg:

RSS never tracked you.
Email never throttled you.
Blogs never begged for dopamine.
The old web wasn’t perfect.
But it was yours.

“Distinct absence of anything that takes away screen real-estate”

Neil Panchal writing in 2020 about a cool little page called diskprices.com:

The performance of this website is stellar. It loads almost instantly. And the list (although it’s not sortable) gets the job done, it is sorted by price already which is the most important attribute.

Diskprices.com deserves the UI/UX award of the decade. We’ve lost our ability to design user interfaces laser-focused on the user. Instead, we have purple gradients, scroll jacking, responsive bullshit, emojis, animations, and many other things designers do today. The utilitarian approach of Diskprices.com is refreshing, although the contemporary designers cast it off as ‘brutalist design’, thereby marking it as a statement of fashion.

But both the creators of the page and Panchal might be getting this wrong:

Do you need a graphic designer?
No. This site is designed to maximize information density, accessibility, and performance. More whitespace, colors, and icons won’t help.

I think this is incorrect. The creator of the page is a graphic designer, that just happens to be the perfect graphic designer for the job.

Book review Enshittification

★★★★☆

I liked this book. I consider Cory Doctorow a good, smart writer. He can put together one good sentence after another (“this is why the roads leading to Amazon depots are littered with sealed bottles of human urine”), he can tell stories of boring things in riveting ways, and he can connect various themes and events.

This last bit was a (positive) surprise. The book is a tour of what felt a more vast universe than I imagined. Turns out, the reasons for enshittification are complex and spanning many systems. There are case studies – most you’ve probably heard of – but this really feels like a book in that each one comes with extra depth: details, detours, history. The book travels through a lot of places and teaches quite a few things: computer history, arbitration laws, stock market, history of unions. I would not be surprised if everyone reading this finds a jumping off point to dig deeper into a certain area.

I also didn’t mind the tone – angry, but not too angry, blunt, but not cynical, with an entire section at the end dedicated to “now we rebuild” and some examples of what we’re already getting right.

Only two small complaints:

The book loses a bit of steam at the end. It might be simply that suggesting improvements is naturally harder than riveting stories of Things Gone Poorly, especially if those improvements are systemic and legal. But maybe it could just be a bit shorter.

Cory Doctorow also loves coinage, which – well, justified, seeing how the word that became the book’s title helped the idea travel! But there’s a lot of others words around: enshitternet, disenshittification, twiddling, chickenization… There’s this sentence in the book: “There’s something genuinely wonderful about workers who counter-twiddle their bosses’ apps and escape reverse-centaurism.” There are more like it. At this point, this feels like just bad UI.

But those are smaller things. Overall, this is worth a read. To me, it added a lot more higher-level understanding of systems and processes that lead to bad software (not an altitude level I find myself in), and packaged it nicely into a story.

I’m going to finish by listing a few passages that particularly stuck with me.

Page 34:

Companies don’t treat you well because they’re “good” capitalists and they don’t abuse you because they’re “bad” capitalists. […] Companies abuse you if they can get away with it.

Page 51:

Enshittification – deliberately worsening a service – is only possible when people value that service to begin with. Enshittification is a game of seeking an equilibrium between how much people like the thing that locks them to the service (often, that’s other people) and how much they hate the management of that service.

Page 106:

The death of competition […] doomed regulation. Competition is an essential component of effective regulation, for two reasons: First, competition keeps the companies within a sector from all telling the same lie to its regulators. Second, competition erodes companies’ profits and thus starves them of the capital they need to overpower or outmaneuver their regulators.

Page 129:

That long delay after you reach a web page but before it shows up in your browser? That’s the “surveillance lag,” the delay while all those [advertising] auctions are concluded.

Okay, so maybe I don’t mind all of the newly minted words and coined terms. This one is sharp.