Another Blog Resurrection, the Fediverse, and a New Comment System

June 30th, 2023

I thought there wouldn't be another “I have a blog again” post on here, and if I'd just quietly put it back online, I promise I wouldn't be publishing one. But since this iteration of my blog now sports a new commenting system that pulls comments from the fediverse, I should at least write up a few paragraphs about that before I set time aside for deep-dive posts on other topics.

Before that though, a very short history of this blog: my previous blog ran from 2010 until 2015 and mostly featured posts about my undergrad studies, with an extensive article series detailing the week-by-week progress on my first bachelor thesis, as well as loosely related topics from the realm of programming and computer science. For this version of the blog, I brought back almost all previous posts of mine (with very few exceptions that amounted to now-obsolete product ads) and translated everything into English that used to be available only in German.

In the spirit of my recent mantra of being even more open about what I create and what I enjoy, I also pulled in all my old Steam game reviews and a few posts from even older versions of my website and other blogs I've written for. For example, the tale of how I built and extensively customized my PC in 2007 and somehow bumbled my way into that year's German Case Modding Championship is now documented in English for the very first time. As much as my instinctual reaction is to cringe at my old writing, I'm trying to stand by the things I've made and to give you access to my complete blogging archive, even if that means the archive will look a bit incoherent in tone and topic.

Community-owned Social Media

If you happened to speak to me on the topic of social media some time in the past half a decade or so, you already know that I'd grown very disenchanted with the world of social platforms. I was pretty active on Twitter from 2010 until around 2013, then I slowly fell off. The same happened with Facebook. Reddit held out a while longer as something I still thought was good fun, until just these past few weeks. My fully abandoning Twitter in favor of Mastodon goes back a little further than that, to November 2022. Elon Musk's purchase of the platform provided a convenient justification, but truthfully my reasons for leaving it behind are a bit more multi-layered than that, even as the platform's trajectory keeps solidifying the decision as the correct one.

In a nutshell, six to eight years ago I'd started wondering why so many big successful websites would stop prioritizing the needs and priorities of their users. As someone working in human-computer interaction, I'm primed to think about the quality of interactive systems in terms of what they do for people and what needs they fulfill. With the big social media sites, it felt increasingly like they were working against their users' well-being instead of in support of it. Recently, Cory Doctorow coined the term “enshittification” for this kind of platform progression:

Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.

I call this enshittification, and it is a seemingly inevitable consequence arising from the combination of the ease of changing how a platform allocates value, combined with the nature of a “two sided market,” where a platform sits between buyers and sellers, holding each hostage to the other, raking off an ever-larger share of the value that passes between them.

Doctorow explains the market forces that drive this decay and I recommend his article to anyone interested in how online platforms and communities work, or who has been feeling puzzled about what's going on at Twitter and Reddit these days.

For a bit over a decade, the social internet had coalesced into four or five huge websites run by American tech companies. They got the people of the world used to the idea of free online social infrastructure, then when they felt confident enough in their lock-in effects, they started turning the thumbscrews. Here's a good summary of the venture capital tech funding model by Andi McClure that explains why these platforms are running almost literally on borrowed time.

Here is the thing you have to understand about VCs (and therefore, companies and websites that have accepted VC money), always and forever. Repeat it like a mantra.

--- Venture capitalists do not invest in the company. Venture capitalists invest in the exit. ---

Eventually any site, app whatever has a Sell Out Moment. They get bought by a big established corp, they go IPO, something. There is an “Exit”. If you accept VC money, you are promising that Exit day is coming and it will be big.

Generally the VC model does not look like you invest in a company and you expect your investment to get a bit bigger. It looks more like, you invest in ten companies and you expect nine to fail and one to make back more than 10x what you invested in it.

VC startups, when they're trying to build groundwork for an Exit, often do warm & fuzzy market-irrational things like build a personal relationship with happy customers. The exponential payoffs the VCs want don't look like making people happy.

If you see people alarmed at a Twitter replacement “taking VC money”, this is the reason that's alarming. A company might have the most well-meaning, nice people running it, but those nice people will have to deliver an Exit. We are no longer in the era you can even really hope that Exit will be an IPO. “Well, now the cruel hand of the market rules us” is too much to ask. We've now established the most profitable Exit for a social media company is to sell to a Musk/Murdoch/Trump style oligarch.

This isn't to say new VC-funded social companies won't make good products—they might even stay good products longer than you stick around! But you need to be aware there's a ticking, legally unavoidable time limit.

This is why I have more long-term trust in Mastodon (run by a nonprofit, & set up such the nonprofit is effectively extraneous) or Cohost (funded, as I understand, through conventional bank loans, which are non-exponential and can be someday paid off without sacrificing kittens).

The past half a year has made this problem a lot more obvious to a large number of people, with Twitter, Reddit, Discord, and literally as I write this even YouTube getting increasingly desperate about monetization. With corporate, VC-funded social media in such decline, what might replace them?

It may suprise some of you to read this, but I'm actually pretty conservative in terms of what platforms I join. When it comes to my online presence, I'm not much for experimentation just for the fun of it. By October 2022, I'd been watching Mastodon from a distance for years with a growing degree of curiosity. Mastodon, in case you need a primer, is a social network that looks a lot like Twitter, but (1) it is open source and can be self-hosted, and (2) those self-hosted Mastodon servers can seamlessly interact, allowing participants to exist as part of a federated social network using the ActivityPub W3C standard. By October/November 2022, it looked like the Elon Event Horizon had prompted about half of the people I used to follow on Twitter to give Mastodon a shot (a privilege afforded by my tech-adjacent social bubble), so being a self-hosting nerd, I sat myself down and set up a Mastodon instance. And, honestly, it's been great! Right away I felt so much lighter and more eager to talk to people because I knew my every action wasn't fueling some ad-targeting panopticon. One of the things that utterly took the fun out of Twitter for me was looking through the analytics data they had on me and understanding how the platform was using every word I typed and every Like button I pressed against me. Running my own social networking infrastructure felt incredibly freeing by comparison.

I can run my own Mastodon instance because I'm the type of nerd who does self-hosting as a hobby, but most people will probably want to join an existing server. There are plenty of options for that. The question is, who should own this infrastructure? Who do we trust with it? You'd think that as they walk away from the latest enshittified corporate platform, people would stop for a minute and consider this question before throwing themselves into the next one. It is increasingly clear that big American tech companies are structurally unable to foster a sustainable social network – the pressure to extract as much financial value from it as possible is just too high.

Personally, I think it is time for the social infrastructure of the web to be owned by the communities that rely on it. Federated social media projects like Mastodon make this possible. Anyone can run a server for their community, be that a geographical community, a professional community, a community based around some other interest, or even just a family or a circle of friends. These communities themselves should decide who they talk to, what content is and isn't allowed in their space, and how they want to interact with one another. Their exchanges should not be a vehicle for some external tech company to extract value, but what they post online should continue to be their property.

Like old-school internet forums, federated social media makes this kind of ownership model possible. Unlike forums, it does it while still letting people from different communities seamlessly talk to one another. Because ActivityPub is an open standard, they don't even need to be running the same software. I like Mastodon well enough, but some people don't enjoy the way Mastodon looks and may prefer to use something like CalcKey instead. Or if they just left reddit behind, they may opt to find a new home on kbin and browse the fediverse through that kind of interface. People have different preferences for how they want to look at social content online, and that's great! They should be free to use whatever app or website they like and still be able to talk to all their friends. The thriving fediverse exposes corporate social media's lock-in effect – the way Discord forces you to use Discord if you want to talk to your friends who use Discord, or how WhatsApp forces you to use WhatsApp to talk to your friends who use WhatsApp, etc. – as the user-hostile entrenchment strategy that it is.

That isn't to say that there are no questions yet to be answered. On the contrary, lots of issues still need to be thought through, experimented with, and solved (such as account portability, cross-instance user interaction in web browsers, or admin accountability to server users). But what's nice is that all these problems are being worked on and can be solved. In community-owned social media, we can tackle these problems and shape the online spaces we inhabit according to our needs. Whereas if someone else owns them, we find out sooner or later that we have no such power. This is the fundamental promise that I see in federated social media and that has me optimistic about it. Putting the ownership of social infrastructure into the hands of the communities themselves is something that makes too much sense not to do, is too aligned with human needs to push aside indefinitely. As Mekka Okereke recently put it:

I'm still sticking with my call that long-term, decentralized social media will be the winner. Too many of the world's greatest Android and iOS mobile development teams are now building for the fediverse. Too many of the world's best human moderation, privacy, and safety, experts are on the fediverse. The user benefits are too aligned, despite companies not having the usual metrics and analytics to optimize the experience.

A Shift in Complexity

That said, not all of us currently on social platforms are old enough to remember Usenet's heyday. For young people who have grown up on and internalized the idea of corporate social media, disentangling social graphs, connections and conversations from centralized platforms and their owners is a paradigm shift. I have a strong suspicion that not nearly all of the causes for people calling Mastodon or kbin “confusing” come down to immature user experience design (though that is certainly an area where most fediverse software needs to make progress as well), but that the concept of federation itself is something new for most people to wrap their heads around. Though contrary to most people I've seen discuss this, and here comes probably the most controversial part of this post, I don't think federation actually adds any new complexity to social platforms. It just shifts it around. Okay, please bear with me for a second.

In user interface design, there is this notion of conservation of complexity. It posits that the tasks for which we use our interactive systems have some degree of innate complexity that we can't just “work around.” You can make your interface more friendly by providing a sensible structure that's easily adapted into a mental model, and you can often reduce existing complexity if it provides no benefit, but there is a limit. No matter how hard you try, most tasks cannot be reduced to a single button press. The complexity still has to exist somewhere in the interaction. And if you're not careful, you may find yourself inadvertently introducing complexity somewhere by reducing it somewhere else – for example, you might try to reduce the visual complexity of an interactive form by separating a group of inputs across two pages of a wizard, and it'll look less complex, and your users may even prefer it and describe it as less complex, but even so, you may have just accidentally increased the amount of information they have to keep in their short-term memory to effectively do what they want to do. It might still be a good change! But if you're unlucky, maybe you just increased the error rate for people using your interface. And if you get too overzealous about simplifying your interface, you might reduce the capabilities of your software so much in the process that your users will need to find something new to fulfill their tasks. Basically, whenever you simplify something, make sure you're not just pushing the complexity somewhere else.

If you've ever tried to explain the fediverse to people, you may have mentioned conversations you've had across separate servers and across different social platforms. “You can use Mastodon if you like it, or you can use CalcKey if you prefer the way it looks,” you might have said. “You can talk to all the same people either way, just pick the software you like best!” And to that you may have encountered responses along the lines of: “That sounds way too confusing, people just want one single place to go. You really need to simplify this stuff if you want it to catch on.” And then you might have found yourself wondering how you're not getting across that what the person is describing – all your conversations in one place – is what the fediverse can offer, but the corporate social networks they're currently using cannot. This is the complexity that social lock-in brings with it: if I want to talk to one of my friends, I have to remember on which platforms we're connected or not, what their account name might be in this or that place, and if it's a platform I don't use often I might have to create an account or reset my password. Internet users at large are so used to this complexity that they usually don't even realize it's there. And when something comes along that does away with that complexity – on the fediverse, you can use your favorite platform and still talk to all your friends from your one single account no matter what platform they're using – that challenges their basic assumptions on such a level that it feels confusing or even unfathomable.

This paradigm shift, which can look like upfront complexity but actually offers simplification for your interactions, is challenging to explain, and I hope we can continue to rise to that challenge.

Fedi-enabled Comments

The previous iteration of this blog had a comment section where people could leave pseudonymous comments. It optionally allowed authentication via OpenID, which came with a perk: commenters who authenticated through any OpenID provider were allowed to place links in their comments, unauthenticated comments had any and all links stripped out for spam protection. (I got a lot of spam comments and even ended up implementing my own detection heuristic.)

This time around, now that I have been active on Mastodon for more than half a year, I thought it would be cool to hook this blog into the fediverse as a way to provide a way to comment. WordPress sites can do things like that through an ActivityPub plugin, but with my website being powered by a static HTML generator, I knew I'd have to find a different approach.

So instead, I set up a news feed account for this blog on my Mastodon server. Each time I publish a new post here, a post also goes out through that Mastodon account. I can then hook into the replies to that post to provide an integrated comment section here. The implementation is very closely inspired by Jan Wildeboer's Mastodon comment integration for Jekyll and Cassidy Blaede's second iteration of it, although I didn't end up copying any of their code verbatim. Compared to Cassidy's version I've made the following changes:

I replicated Cassidy's idea to limit comments to just the ones posted with the visiblity set to “public.” If you'd rather not see your comment here, you can still reply with “unlisted” visibility or less.

Depending on how this new system gets used in practice, I may make further adjustments such as limiting thread depth. We'll see!

If you enjoy this and would like to copy it for your own page, you can take a look at the code here. (That's just the client-side comment loading and rendering code, the auto-poster is rather tightly coupled within my all-custom static website generator which powers this blog and the rest of my website.)

And if you're already somewhere on the fediverse, do feel free to leave me a comment on this blog post so the new system can prove itself.

Comments

You can leave a comment by replying to this Mastodon post from your own account on Mastodon, Firefish, Akkoma, or any other ActivityPub-capable social network that can exchange replies with Mastodon.