Scott C. Richmond

The web is too big, or scaling down

I started writing this post in October, when Mozilla announced that it's going to become an adtech company. I got distracted by the professoring business, and didn't finish it until now. It's not quite so salient (and, uh, a lot has happened in the world since October 5). But tech, politics, and political economy aren't remotely separate spheres in 2024.

So Mozilla decided it was going to become an adtech company. This is real bad. Apparently somehow it's going to be a nonprofit adtech company? (Although Sam Altman seems to know how to convert nonprofits to for-profit concerns; Elon Musk has other ideas.)

Firefox has been, despite recently only being a very minor browser, an important part of the infrastructure of the web. Mozilla at least theoretically has the public good as part of its mission, in a way that Google and Apple and Microsoft do not, and cannot (under the capitalist regime as currently constituted).

And so, Firefox is a noncommercial browser made my a not-for-profit organization which has the wellbeing of the web at its heart. Mozilla, it seems, has made the calculation that the web is now fully an advertising platform, and that focusing on the public good of the web demands lubricating less-awful advertising practices. I mean, that's not exactly wrong; the web, having been subject to Google's extractive practices over many years, has been remade as a medium for advertising.

I'm sure I'm not the only one whose impulse is to reach for noncommercial, non-ad-tech alternatives to Firefox (while still using Firefox). We're all waiting for Ladybird to get usable, and until then, there's Zen and LibreWolf and a few other alternatives. And indeed, as soon as I read about Mozilla's plan, I ran brew install zen-browser. And, after about a month, went back to Firefox; Zen is Firefox-based, and doesn't actually go deep enough to fix the problems I have with Firefox (while introducing a few of its own).

Ultimately, though, the problem with this situation isn't that Mozilla or Firefox aren't good enough. It's that the web is too complicated. A browser is an extraordinarily complex piece of software. So complex that, until Andreas Kling started working on Ladybird (originally as part of his SerenityOS project, now as his major project), people insisted was impossible to implement a browser from scratch in the 2020s. You needed to be start in, like, 2000, writing Konqueror (which would eventually become Chrome). The web was simpler then; new browsers have gotten less tractable as web standards have gotten more complex.

I am, of course, not the first to make this point. Drew DeVault argued as much in 2020. He was very persuasive. I can't recall where, but I have seen DeVault offer a mea culpa once Kling's work seems to have taken off. And Kling himself says he was in part inspired by DeVault's doomsaying. Ladybird is not fit for use, not yet.

And it's hard to overstate just how unavoidable the complex, "modern" web is. Not only is Chrome the standard platform for writing desktop programs (in the form of Electron), the alternative to closed app stores on mobile devices is the "progressive web app," which relies on the ever-accreting blob of web standards to replace native mobile OS functionality (which is intentionally hindered by Google and Apple). With web assembly, web technologies now apparently are at the core of the future of computing. Web assembly and its system interface (WASI) are actually exciting technologies to me; I'm not casting aspersions. (And my team and I use both WASM and the complexities of the modern web to make our programming language, Ludus easy to use.) But it does seem rather concerning that we're already using the browser as a replacement for operating systems' graphics toolkits, while simultaneously building something like an operating system inside the browser. (Obligatory, delightful Destroy All Software talk.)

I admit that I'm seduced by the promise of something like the Gemini protocol. Gemini's main idea is that, for at least a lot of individual users' purposes, the web is way too much. You could radically simplify things and still have a vibrant internet. And, if you do your simplification right, the result will support the thriving of those individual users, rather than corporate interests. I'm sympathetic to this. But the payoff for me, really, lies in the fact that the Gemini protocol is simple enough that yours truly could write a lot of a basic (and probably bad) client, by myself, in a weekend or two. And that a small team of dedicated people could maintain an excellent client easily, as an open source project.

People felt, and continue to feel, betrayed by Mozilla. (This is, of course, only the most recent disappointment in a long line of disappointments.) This feeling of betrayal is grounded in the fact that we need large, well-funded, deeply compromised organizations to write ghastly complex software that we could not hope to understand or replicate. The depth of that compromise is becoming clearer.

Silly optimists like myself had hoped that Mozilla's nonprofit status might protect it, and us, from the depredations of Big Tech. But it was always funded by Google's payments to remain the default search engine in Firefox, and the anti-trust writing is (blessedly) on the wall (although what a Trump 2.0 Department of Justice will do with Google is anybody's guess). Mozilla is, probably correctly, reading the tea leaves and looking to scrounge operating funds once the Google gravy dries up. That's something like "responsible stewardship" if you squint hard enough. Mozilla, as they say, is responding to incentives.

It would be nice to have a better browser, and thus also less damaged ways of using the web. But I get the sense what we need is not an alternative browser, but an alternative to the web. It's not clear what this could be. Gemini inspires longing in me, but these problems are as much matters of political economy as anything else, and I don't see how the current political economy of computing could end up hosting a robust Gemini ecosystem, as much as it inspires nostalgia in me.

There's a plausible position that we ought to simplify the web, turning to a brutalist motherfucking aesthetic to radically simplify things. I won't even link to complaints about too much Javascript in contemporary web development, so common is that complaint. As nice as that may be (and as actionable as that is on an individual basis: just become a brutalist!), it doesn't fix the widespread problems of the web: browsers are too complicated, websites and web apps hoover up too much of our data, the business models of this particular political economy seem intractably oriented towards Doctorow's enshittification at the platform level, and Zitron's rot economy at the firm level.

Since Mozilla's announcement, and after the huge jump in Bluesky use after Trump's election and Musk's involvement in the new administration, Christine Lemmer-Webber wrote some really, really wonderful blog posts (part 1, part 2) posing and answering the question, "How decentralized is Bluesky, really?" (tl;dr: Not very.)

In those posts, Lemmer-Webber poses one of the most important questions I've seen in a while: how does a technology scale down? In the context of her analysis, this is a question about the technical complexity, data storage requirements, and general expense of running a second instance of Bluesky using its ATProtocol. The answer is: very complex, with huge amounts of storage, and very expensive indeed. The work Lemmer-Webber and her fellow travellers at Spritely is both impressive and crucial. (And I love that they're using Scheme.)

But the question of how something scales down is, to my mind, one of the most important questions of the moment. It is not only a question of, say, the amount of data storage required to host a whole alternative social media platform, as in Lemmer-Webber's analysis. It's also not only a question of how many pages of standards, or how many passing conformance tests, one must satisfy in writing a new browser, as DeVault points out (and Kling rightfully boasts about on his monthly Ladybird progress videos). It is perhaps, the fundamental question of technological political economy. We live in a new gilded age, with monopoly triumphantly resurgent. Lina Khan isn't going to keep her job, and I live in a country perhaps best described as three telecom monopolies in a trenchcoat. Let's not get started on the newest, biggest, most catastrophic technology Big Tech has cooked up, the Large Language Model and its transformer-based ilk.

Perhaps it's my middle age, and with it the renunciation of youthful aspirations of a big life with big impacts. I want to find ways of making small, meaningful things for my communities. I want to figure out how to make the biggest impact I can in my own small worlds, or maybe make some new, excellent, likely temporary, small worlds.

There's lots of "small tech" and the "small web" in the world. Perhaps none of it is very visible because it's, of necessity, small. A lot of it--say, 100rabbits' uxn system--gives me the same nostalgia as Gemini. Others are doing other work thinking small, e.g. Aral Balkan and Ben Hoyt. The Spritely folks are doing work that I find extremely interesting on the question of scale. I'm sure there are many others.

My particular talents aren't exactly oriented towards promoting small things, or building usable small systems. My sense is rather that the question of scale, and smallness, in particular, hasn't yet been posed fully or correctly. The critical discourses about computers--media theory, science and technology studies, game studies, and so on--have grown up theorizing a technology surround that was getting bigger all the time. It's time to think well about how to get small.