Docker Swarm, a User-Friendly Alternative to Kubernetes
Data, Analytics and AI: What Will Happen in 2023
Jan 11th 2023 5:00am, by Andrew Brust
4 Ways to Use Kernel Security Features for Process Monitoring
Jan 5th 2023 7:13am, by Amit Gupta
CES 2023: Robots, Astronauts, Schwarzenegger and Flying Cars
Jan 8th 2023 6:00am, by David Cassel
State of the API: Monetizing API Deployment Is on the Rise
Jan 20th 2023 12:09pm, by Loraine Lawson
Yes, Your Enterprise Needs Low Code Now
Jan 19th 2023 10:00am, by Francis Carden
Why a DataOps Team Needs a Database Reliability Engineer
PyTorch Poisoned in Software Supply Chain Attack
Jan 9th 2023 4:00am, by Steven J. Vaughan-Nichols
Poisoned Lolip0p PyPI Packages
Golden Paths Start with a Shift Left
Jan 13th 2023 9:49am, by Rita Manachi
A Platform Team Product Manager Determines DevOps Success
Jan 18th 2023 6:34am, by Joe Fay
Kinsing Malware Targets Kubernetes
Prepping for 2023: What's Ahead for Frontend Developers
Observability in 2022: It Pays to Learn
Dec 23rd 2022 6:00am, by B. Cameron Gain
Crossplane Curious? Marketplace Makes Onboarding Easy
Jan 11th 2023 8:31am, by Craig Wilhite
A Creator of ActivityPub on What's Next for the Fediverse
Frontend Development / Open Source
Evan Prodromou talks about ActivityPub's creation, his complicated feelings about Mastodon, and opportunities for developers in the fediverse.
Dec 7th, 2022 9:12am by Richard MacManus
Image via Shutterstock
Evan Prodromou has been working on decentralized social media for nearly 15 years now, having created an open source Twitter alternative called Identi.ca in 2008. That service morphed a couple of times and eventually became pump.io — which was the genesis for ActivityPub, the core fediverse protocol of 2022.
In an interview with The New Stack, Prodromou talked about how ActivityPub evolved, the pros and cons of Mastodon, and where he sees opportunities for developers in the fediverse.
As I've covered in previous articles, it seems like the time for federated social software has finally arrived, in the aftermath of Elon Musk's messy takeover of Twitter. So I began by asking Prodromou whether he feels a sense of validation in the current popularity of Mastodon.
Evan Prodromou (via GitHub)
"I've got mixed feelings," he replied with a wry smile. "There's a sense of elation and the fact that a lot more people are getting to experience this [federated] structure for social media and the benefits of it. Which is great. I'm trying not to gloat too much, right, [because] thousands of people have lost their jobs at Twitter. A lot of people are losing communities that are really important to their health, or psychological safety, or access to the world. So I am trying not to crow too much about how great it is that Twitter is having so many problems. At the same time, it really is exciting to see Mastodon taking off. That very active community, being able to check my Mastodon timeline and see lots of posts and interesting conversations happening there — it's pretty magical."
A Short Technical History of the Fediverse
The fediverse is defined on Wikipedia as "an ensemble of federated (i.e. interconnected) servers that are used for web publishing." Wikipedia cites Prodromou first in its history of the term, in reference to Ideniti.ca and the OStatus open standard that followed. The way Prodromou describes it, OStatus was a stack of different individual protocols that together formed a basis for federation.
He explained that the ingredients of OStatus were "PubSubHubbub, Salmon, WebFinger and Activity Streams on Atom — all of which are based on XML, an older serialization format that was popular in the aughts [2000s] and became less popular as JSON arose."
When Prodromou announced OStatus in March 2010, he promoted it as a way to let "people on different social networks follow each other." Note that at that time, Activity Streams was (in the words of the project website) "an extension to the Atom feed format to express what people are doing around the web."
But as Prodromou implied in our conversation, XML formats were quickly losing popularity as the 2010s began. This forced a re-think in the underlying protocol for federation, this time using the JavaScript-based JSON as the data format.
"In 2012-2013, I began work on pump.io, which was a rethinking of that structure [OStatus] using the new Activity Streams in JSON," he explained. "I had really wanted to create a simple engine that could set this protocol working. I used Node.js to build it — [it was a] wonderful experience working with Node.js."
The Activity Streams protocol he's referring to is now called JSON Activity Streams 1.0 and it was the first version of Activity Streams based on JSON. It was released in May 2011. Prodromou wasn't an author of that spec, but he was the co-editor of the current 2.0 version of Activity Streams, released by the W3C in May 2017.
Mastodon: It's Complicated…
Despite the foundational work that he did during the late 2000s and into the 2010s, which eventually resulted in the W3C spec for ActivityPub, Prodromou struggled to turn his own microblogging products into a sustainable business.
Identi.ca still exists, as open source software running on the pump.io protocol. But it didn't become the flagship product for federated social software. That honor went to Mastodon, an independent product created by a German developer called Eugen Rochko. When it launched in 2016, Mastodon used OStatus as its protocol. Then in September 2017, it switched to ActivityPub.
When I re-joined Mastodon during the #TwitterMigration of October 2022, I searched for Prodromou on Mastodon but couldn't find him. He did eventually sign up again in November, but it made me wonder what he really thought of Mastodon. After all, he'd tried to get a very similar product off the ground as early as 2008.
"Let me first say that there is no arguing with success," he replied. "It's very clear that of all the various attempts to create federated social software, Mastodon has by far succeeded the best."
He puts the success of Mastodon down to its "very pragmatic and user-focused development team," led by Eugen Rochko.
That said, Prodromou thinks that Mastodon isn't using the full capabilities of the protocols he helped define.
"The thing about the fediverse architecture right now that I would like to see evolve into its next step, is that in ActivityStreams [2.0] we defined a client-to-server API. So, similar to say the Twitter API, which is used for creating apps that run on Twitter — like TweetDeck. And we defined a [similar] standard API for ActivityPub. So any ActivityPub server would expose the same API, [so] you could have a TweetDeck that works with Pleroma or with Mastodon or with Pixelfed or whatever. This is kind of interesting in terms of those user-facing apps. But it gets really interesting when you start talking about web apps that interact with each other."
Currently, the main API for Mastodon is its custom API, which Prodromou thinks limits the creativity for developers wanting to build in the fediverse.
"Taking the fediverse to that next level and seeing the implementation of a standard client API would mean a lot to me," he said, "because it would unlock a lot of that creativity in terms of the content that we see on the network."
Time for a New Type of Social Networking
As well as technical improvements he'd like to see, Prodromou has thoughts on what the fediverse can ultimately become. He thinks it will take some time for people to "detox from their Twitter experience" and realize that their social media world is no longer subject to corporate manipulation. While he recognizes that some in the fediverse community don't want to sort or optimize their feeds on Mastodon, he is aiming for something a bit different.
"I would like to see a little bit more work in terms of optimizing your feeds, your network, etc., for your own purposes," he said, giving an example of a junior software developer who organizes their feed around learning RUST and connecting with people who give guidance on that topic.
"So having some help from software in pursuing our own goals around career development, personal development, personal relationships… I think could be really interesting," he continued. "It's not something that Twitter is going to do, or Facebook is going to do, because they're optimizing to get you to hit ads."
I remarked that this current period of the fediverse reminds me of the early 2000s, when the web was all about RSS feeds and open data, and we had tools to aggregate, filter and "mashup" that data.
Prodromou agreed and said that "the opportunity is there to do similar things around interest groups on the fediverse." He wants to give people tools for grouping, sorting, connecting, reminders, notifications, and more.
"I would really love to see people thinking about social software as something that's enhancing their life and making their life better," he said.
That's certainly the vibe I'm feeling from Mastodon and the fediverse developer community. Check it out for yourself, and perhaps start by following the ActivityPub guru himself.
Richard MacManus is a Senior Editor at The New Stack and writes about web and application development trends. Previously he founded ReadWriteWeb in 2003 and built it into one of the world's most influential technology news sites. From the early...
Read more from Richard MacManus
Learning Storage and Retrieval with a Hash Function A Leg-endary Year: Top 5 Internet Technology Stories of 2022 An Inside Look at What GitLab's Web IDE Offers Developers Prepping for 2023: What's Ahead for Frontend Developers Top 5 Internet Technologies of 2022
TNS owner Insight Partners is an investor in: The New Stack.
Crypto Winter Puts Dampener on Web3 Developer Growth Learning Storage and Retrieval with a Hash Function What Rust Brings to Frontend and Web Development Pro Coders Key to Stopping Citizen Developer Security Breach Beyond Hello World: Startup Gamifies Development Skills