Why Developers Should Experiment with the Fediverse
It’s early days for decentralized social networks, despite the recent bump in Mastodon users due to Elon Musk buying Twitter. But if you’re a developer looking for the next big thing, what better time to experiment with a platform? The “fediverse” — a group of federated websites and applications that interconnect with each other — may represent the future of social media, so developers should take note now.
I spoke to Darius Kazemi, an early adopter of the fediverse and a developer who actively uses decentralized technologies. He is also a prolific creator of bots on Twitter, and it turns out this was the impetus for him to sign up to Mastodon in 2017. He and his fellow bot creators had been asking themselves over the years, “what do we do when the platform [Twitter] becomes unfriendly for bots?” Well, 2017 was when that happened.
“It was 2017, I would say, when Twitter started really cracking down on bots in a way that they hadn’t before — taking down a lot of bad bots, but also taking down a lot of good bots too. There was an appeals process [but] it was very laborious, and it just became very difficult to maintain stuff. And then they also changed all their API’s, which are the programmatic interface for how a bot talks to Twitter. So they changed those without really any warning, and everything broke. And that was the point where I just said: look, I clearly need to host this stuff on software that I control. So 2017 was when I first started looking at Mastodon in particular.”
My first ever Twitter bot, @metaphorminute, turns 10 years old today. It died a few years back after I abandoned Twitter for the greener pastures of federated social media but it still has a place in my heart.
— Darius Kazemi (@tinysubversions) May 10, 2022
The Flexibility of the Fediverse
The functionality of fediverse apps is much more diverse and forward-thinking than on centralized platforms like Twitter. What Kazemi has developed over the past several years is a case in point.
In August 2018, Kazemi created his own Mastodon server (an “instance”) called Friend Camp. But he didn’t want it to be a popular instance — he wanted to run a small social network, with under 100 users. The goal was to foster community-related discussion and attain a sense of “group cohesion.” The following year, based on his experience of running Friend Camp, Kazemi forked Mastodon into a new software package he called Hometown. One of its main features is “local only posting,” which gives users the option of not federating their posts.
I asked Kazemi how often the local-only option is used within Friend Camp? He replied that 100% of active users use the feature, and that “probably 70% of our chatter is local-only intra-community.” So why doesn’t Mastodon offer local-only posting as an option?
“One of the reasons Mastodon doesn’t offer this,” he replied, “is because they’re afraid these communities will be insular, essentially, and not really be truly federated — at that point they might as well just be a message board, right? The thing is, if you look at the number of posts per user that gets generated on our server, it’s much higher than most [Mastodon] servers. So I think what happens is, the local posting acts as fuel to the fire — it makes people want to post more. And so even though only 30% of our posts go out into the world, overall there are more posts going out into the world from our server than most servers of a similar size.”
So the flexibility of posting is one advantage of the fediverse — especially with Hometown, but Mastodon also has more privacy options than Twitter (for example an “unlisted” post means that it won’t get indexed). Another benefit of the fediverse is that you can follow different types of content from a single place. This is similar to how RSS used to work, where you could subscribe to someone’s blog and also (for example) their photos on Flickr. You would use a feed reader — or an app like FriendFeed, before Facebook acquired it — to subscribe to both feeds. You can do a similar thing with the fediverse.
“So for example,” said Kazemi, “a lot of people have an account that they post on at Mastodon, and then they also have an account on Bookwyrm, which is a federated Goodreads alternative — and that’s where they talk about books, review books, and things like that. But since it’s all federated, I can subscribe to both of those accounts on Mastodon. Unlike Goodreads, where I’d have to sign up for a Goodreads account to see your book reviews.”
Get Behind the Protocols
Speaking of RSS, ActivityPub is the protocol that underlies the fediverse. It’s supported by the World Wide Web Consortium (W3C) and so it’s an established web protocol. I asked Kazemi if he thinks big tech companies will support ActivityPub eventually, much like they supported RSS in the 2000s? I added that perhaps RSS isn’t a good example to follow, since Google eventually came to dominate the RSS ecosystem (with its Google Reader product), but then abandoned it.
“It’s interesting,” Kazemi replied, “because Google also has dominance over another federated protocol, which is email. But Gmail is useful enough that it makes Google money, so it’s not going anywhere. But then there are other federated protocols — there was a while when Google Talk supported XMPP [Extensible Messaging and Presence Protocol; an open standard for messaging and presence.] Basically, Google Talk used to be inter-connected to other chat services. It was for a little while, and then it wasn’t — they walked it back. So that is definitely a pattern that you see.”
The XMPP example is a good one because it shows how big tech companies can ride roughshod over open protocols when it suits them. In 2015, the XMPP blog was forced to note the various ways that Google Talk no longer fully supported XMPP — and yet Google hadn’t explicitly stated that it had dropped support. At the time, Google was replacing Google Talk with Hangouts, but the new product didn’t yet interoperate with federated XMPP clients. Fast forward to 2022 and it’s still unclear what (if any) Google products support XMPP. The XMPP website states that “Google use it for their Google Cloud Messaging” — whatever that means.
Regardless of bigco shenanigans around open protocols, Kazemi isn’t worried about what happens with ActivityPub. “The nice thing for me is that if the big companies do jump in [to support ActivityPub] and then sort of walk it back,” he remarked, “at worst, we’ll be back to where we are right now, which is still a pretty nice place.”
Tip: Become a Hosting Provider
Kazemi now creates bots for Mastodon and hosts them on Glitch (here’s one example), so he’s happy to no longer have to rely on Twitter’s centralized servers for his tech hobby. “I’m also building out some other custom software that lets you have a small bot server on Glitch.com,” he told me.
As for the larger ecosystem, he is keen to see more hosting providers arise so that the fediverse can continue to expand. He admits this is “a bit of a chicken and egg situation,” because there needs to be demand for federated hosting in order for it to be viable. Regardless, it’s one way for curious developers to begin exploring the fediverse — become a host, open your server up to others, and then build things for your community on that platform, just like Darius Kazemi has done.