ActivityPub & Why It Matters
The intent of the talk was to try to encourage people to give a system that might be different from what they are used to a try, or at least be aware of different benefits.
Howdy! I recently gave a talk at Minneapolis Nerd Nite. This is a monthly event where people get the chance to talk and nerd out about something they care a lot about. I've spoken in the past about Ublock Origin and how it is a great example of a simple tool that also has depth, and I took that talk to Open Source North where I adjusted it a bit to talk about the importance of community engagement in open source projects. Likewise, I focused this talk less on the technical aspect of ActivityPub and more on why a distributed approach has value, despite it's difficulties.
For those unfamiliar, to quote directly from the w3c page; "The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content." Practically what this means is ActivityPub provides an API for communicating between client and server, as well as server to server. So as long as you are sticking with this standard when building your program, you have the ability to connect to other servers using the same protocol.
The technical aspects of ActivityPub are interesting, because having decentralized platforms solve some problems and invite others. However while the audience in attendance were self described nerds, I didn't want to overwhelm them with technical deep dives, and instead wanted to introduce them to an approach that I felt is worth our attention. Because by giving attention to a distributed system, one specifically built on a protocol and not a platform, we are allowing us to have a greater freedom of choice. Cory Doctorow has done some great writings on the benefits of ActivityPub(to the point that I'm not going to link one specific article and instead just link the tag, here, for you to peruse yourself), which all boil down to the strength of being able to choose your choose where you host your platform is incredibly useful.
I also discussed the difference in approach between Mastodon and BSKY(Blue Sky), because the later also has components of it's functionality that allows for distributed systems. Much of that portion was influenced from this fantastic blog post from Christine Lemmer-Webber on bsky's approach to decentralization. The part of that blog post that struck a chord with me was on how the problems that decentralization has were solved in bksy's system by centralizing. I don't damn them too much for that, as their growth and feature demand pressured them to make a decision to keep up with needs, but I do note that shift does indicate where their priorities lay.
The intent of the talk was to try to encourage people to give a system that might be different from what they are used to a try, or at least be aware of different benefits. The depth of what can be done when you base your system on an open standard goes deep, and I have seen many unique and interesting implementation of ActivityPub, but I don't mean for everyone to dive into those right now. Rather, the call to action I make at the end is to just download Mastodon and give it a try. If you don't abhor social media and want to give it a try, I would recommend it.