Is ActivityPub for the masses?

by Jared Norman
published July 14, 2023

Twitter has done an incredible job of driving various segments of its user base to other platforms since Elon took over. Many programming and tech communities have moved to the Fediverse, to platforms like Mastodon. Meta’s Twitter clone, Threads, has already broken 100 million users, fuelled by users’ discontent with Twitter and an easy onboarding experience for Instagram users that leverages their existing social graph.

This is all happening in a moment where some more technical users are trying to take back their online identities. In December, Monique Judge penned a love letter to personal blogging, urging people to “get back to the community-building aspect of the internet.” It resonated with me and led me to the iteration of my site that you’re probably reading this on. I even finally gave the site an RSS feed.

I also leaned into the Fediverse. While I’m aware that the exodus from Twitter to Mastodon was limited to certain communities and that there’s probably little adoption outside of nerdier, more technical groups, it has been a huge success for me.

Comparing my Twitter feed with my Mastodon feed, there’s no question where the more compelling content is, but curating my feed took work. Mastodon doesn’t suggest people for you to follow. It doesn’t show you posts favourited by people you follow. The quality of trending content highly depends on your instance’s size and its moderators.

This results in an experience that’s very poor for those unwilling to effort into finding the content they want. You can look at this as the benefit of centralized social media. I despise algorithmic feeds as they currently exist, but I don’t see them as inherently bad. They aid in discoverability. If not for the perverse incentives of the organizations that have popularized them, they could even be desirable.

Threads.net has stated its intention to implement ActivityPub, the protocol that powers Mastodon and the Fediverse, but have yet to say much about how this will work. The result has been much speculation about how this will impact the Fediverse. Some voices are calling for instance operators to refuse to federate with Threads. Others are telling us to wait and see.

We don’t know what will happen when Threads starts federating. An optimist might claim this will open the Fediverse to over 100 million new users. A pessimist could argue that it will unleash that many people unfamiliar with the norms and conventions of the Fediverse and Mastodon on the relatively small number of instance operators and moderators, most of whom are volunteers.

On the one hand, I miss my mom liking my tweets, and Threads could bring that back. Broadly speaking, I like reaching more people with my social media accounts. There’s a downside, though.

Platforms like Twitter and Threads encourage users to jump in on any and all public conversations, regardless of whether they have any business doing so. We’ve seen platforms using feed curation to show users content that will make them angry in order to drive engagement, a technique dubbed “rage farming”. Angry randoms coming out of the woodwork to interrupt healthy conversations is antithetical to the kind of community-building that many want to see from decentralized social media.

Even setting aside overtly toxic behaviour and outright harassment, not all engagement is positive, regardless if you’re trying to build a social media audience. Adding more voices can dilute conversations and bury unique and interesting posts.

This is partly what makes the Fediverse appealing. Users can join instances that share their interests. While I operate my own instance, I previously used ruby.social, an instance for the Ruby programming language community. The community is large enough to warrant its own instance. It has enough users to generate interesting discussions and moderation helps keep the discourse healthy. Through the magic of federation, those outside the instance can join those conversations, but there’s selection bias involved.

Threads may choose to leverage the content of the instances it federates with to drive the engagement of its own platform. Alternatively, they may be very selective in how they federate or surface non-Threads content. Only time will tell whether they choose to use ActivityPub to broaden the content offered through their app, attempt to “embrace, extend, and extinguish” (which I don’t see as likely to succeed, but is worth considering), or create such a moderation nightmare that the broader Fediverse is forced to defederate them.

It’s my hope that it has a positive impact on the Fediverse. I don’t trust Meta, but my hope this drives broader ActivityPub adoption isn’t contingent on them behaving well. Just recently, the government of my province hit Twitter rate limits while sharing information about wildfire evacuations, highlighting the risk of using private social media platforms to share critical information.

The government should fully control how it shares critical information like this. If they operated their own ActivityPub-enabled site to share this information, both Threads users and the broader Fediverse could subscribe to that content regardless of whether those two groups are federating with each other. The Dutch government has already launched their own Mastodon server.

Even if most of Fediverse is unwilling or unable to federate with Threads, Threads could drive broader adoption of ActivityPub in a way that is beneficial for users like me.

That’s partly why I’m implementing ActivityPub on this site. You can even currently find my blog (@blog@jardo.dev) through Mastodon, though you can’t yet follow it or interact with it. I want to understand more about how the Fediverse works and what we can build on it. Whether or not we see a big shift in social media, as some people are forecasting, we should make the most of the renewed focus on online community-building enabled by the Fediverse.