Welcome to Press This, the WordPress community podcast from WMR. Each episode features guests from around the community and discussions of the largest issues facing WordPress developers. The following is a transcription of the original recording.

Powered by RedCircle

Doc Pop: You’re listening to Press This, the WordPress community podcast. My name is Doc, and I’m a contributor on Torquemag.io, where you can find transcribed episodes of Press This each week, as well as tutorials and more WordPress information. You can subscribe to Press This on RedCircle, iTunes, Spotify, or your favorite podcasting app. You can also download episodes directly from WMR.fm

There’s been a tremendous shakeup in the world of social media over the past year. The catalyst for which seemed to be Elon Musk’s acquisition of Twitter, which happened nearly one year ago today, as this episode comes out, after which it seemed like several Twitter clones popped up out of thin air—Bluesky, Threads, and even Substack, the newsletter application, they even had a Twitter clone. And I think the shakeup at Twitter really got people thinking about the platforms they use and how easily those platforms could be bought or changed. That’s important to a lot of us because we consider our social media platforms, whether it’s Tumblr or Twitter, or Instagram, we consider those our home. So it’s weird all of a sudden having some new owner to that home that’s changing the rules. 

All of this brought attention back to Mastodon, an older project that is designed intentionally to be hard for any individual to take over. Mastodon is built on the fediverse, not to be confused with the metaverse, and it spreads posts across multiple servers, your user accounts, your posts, all of these things are on different servers. But from the overall experience, it just sort of feels like you’re just surfing Twitter. You’re just seeing everything lined up. 

Today, we’re going to talk to Matthias Pfefferle, an open web lead at Automattic, and the creator of the ActivityPub plugin, with the goal to give you, our listeners, a better understanding of ActivityPub, the IndieWeb, and the fediverse.

That was a long introduction. Let’s get to it. Matthias, thank you so much for joining us today. I want to start off by just hearing your WordPress origin story.

Matthias Pfefferle: Hey Doc, thanks for having me. My WordPress origin story. I think I started as a user, I fell in love with the Internet in the late ’90s and came to a point where I wanted to have a more dynamic site, and I searched for some CMS systems, CMSs. And I started with a predecessor of WordPress, B2, back in the day. So I’m a first-time user of WordPress. 

I was not the community guy from the beginning. I was more into publishing. I wanted to keep the blogging momentum. So I always tried to keep blogging relevant and to find ways to compete with the big social networks in the mid-two-thousands. And, I began writing plugins, to kind of make it easier to subscribe to my blog, to connect to social networks back in the day, and I kept doing that over time, and grew more and more into the WordPress community. And, my final job before joining Automatic was at a hoster where I could dig even more into the WordPress universe.

Because of writing different plugins, having more needs, I started contributing to the core, built my own themes, was more or less active in the hosting community, and finally joined Automatic to work full-time on WordPress.

DP: I said wow during your origin story there because B2 was the original form that became later WordPress when Matt Mullenweg and Mike Little forked it about 20 years ago. So B2 is, that’s old school. When you say B2, that’s before my time. Also, I just want to make sure, can you, can you pronounce your name for us so at least the listeners get to hear it pronounced right once?

MP: Yeah, no problem. It’s Matthias Pfefferle.

DP: Okay. And so Matthias, I want to talk about federation and I want to give our listeners just a really good understanding of this. So why don’t you describe federation and the fediverse.

MP: Okay. Federation and the fediverse is kind of an idea. It’s not, really protocol-based or has technical restrictions. It’s the idea of having a decentralized network. I think the technology that comes nearest to this idea is email. It doesn’t matter where you host your email address. You can write emails to everyone, everywhere in the world, and everyone can write to you independent of the hosting, of the tech stack, of the region you are in. This, as a community version, is kind of the fediverse. 

You can follow someone else on a completely different server. You can write them direct messages. You can comment on their posts. You can read, like, share every social activity. The email version of social networking.

DP: That’s a really good analogy. The email you could say is sort of federated, but I think that when we think of the fediverse, we are oftentimes thinking about something that functions like email in that it can come from anybody’s server. It doesn’t live on a single server, it goes back and forth. But, federation usually implies that it’s also broadcast openly. Where email is by default, one person at a time. You could reply all, but we try not to do that. And you mentioned protocols. The email protocol is SMTP or POP or IMAP, the ActivityPub Protocol, is that what powers the fediverse? 

MP: You could say that, at least now. The fediverse is way older than ActivityPub, so the inventor of the fediverse invented his third protocol, and that’s ActivityPub. It’s not directly uncoupled to ActivityPub, but because ActivityPub is the most common and the biggest protocol at the moment, I think you can compare that. Yeah. 

DP: I think that’s a really good point. The fediverse is not necessarily ActivityPub and the fediverse is not even necessarily a singular thing, although at this moment it does seem to be that the ActivityPub is the largest form of federation, at least that’s how I perceive it. And kind of similarly, Mastodon is not the fediverse, Mastodon is a tool that is powered by ActivityPub and uses federation, and it’s also doing really well.

There are federated versions of Instagram and federated versions of YouTube and even Reddit. And I think this is just the early stages. We’re not always going to be referring to things as, oh, it’s Instagram, but with ActivityPub, I think, eventually, there’s a possibility that this could be like RSS. It could be something that’s so deeply integrated into the web that, you know, when you think of podcasts, you don’t think of RSS. You just think of like, oh, that’s how I listen to audio, but that’s powered by RSS. And similarly, you know, I think ActivityPub could be a thing that we don’t think about. It just provides this maybe two-way, broadcasted, federated, decentralized—boy, I’m throwing out all the buzzwords—but it could power a lot more than just Mastodon, but for now, that’s, I think what I tend to think of it as, and so if I accidentally refer to Mastodon as like sort of The fediverse or whatever, please forgive me, dear listener. We’re all kind of getting used to this. Matthias, how long have you been messing with Federation?

MP: With Federation or with ActivityPub?

DP: Just the Indie web in general, which we haven’t even talked about, but, how long have you been interested in the non-traditional usage of webs? Maybe that started with ActivityPub for you, or maybe that started with the federation.

MP: Oh, it started ages ago. I think the first big project was the data portability movement. I think it was in 2008 or nine, which was the first one that described interoperability. Yeah. An interoperable way to share data between platforms. It was in the days of OpenID and OAuth and one of the first projects that was in the direction of a decentralized network was the Diesel project, just distributed social networks. It was also based on WordPress, and combined some open standards together to have some kind of a social network based on WordPress. One of the founders was Chris Messina, the inventor of the hashtag. 

DP: Mm-hmm. 

MP: And they already used something that’s one of the core specifications of the ActivityPub protocol. They started working on the activity part of ActivityPub, a unified way of describing activities.

DP: Well, I think this is a great spot for us to take a short break. And when we come back, we’ll be back with Matias to talk more about ActivityPub and how you, dear listener, can integrate ActivityPub into your WordPress site. So stay tuned for more after the short break. 

Welcome back to Press This, a WordPress community podcast. I’m your host, Doc Pop. Today, I’m talking to Matthias Pfefferle who is the creator of the ActivityPub plugin for WordPress. Right before the break, I just want to give a shout-out. You mentioned the data portability movement in 2008. That was a really, really interesting time, and, I just wanted to quickly say that that’s just the idea that a user can, at any point, request their data be obtained so they can move it. Google actually kind of integrated it into some of their services, but it’s just this idea that as an individual, you can kind of move your identity across different places.And I think it was, it’s sort of still there. You mentioned OAuth and things like that. I think that’s a whole fascinating thing, and I think it’s something that WordPressers can really identify with, because as WordPressers, we want to host our own content. We’re tired of putting our content up on Facebook, and then having to make it hard for people to see, or maybe censor it, and so, I think, the data portability and interopability, I think all of these things are very interesting to WordPressers. So let’s get into how can WordPressers integrate their site with ActivityPub to take advantage of the fediverse?

MP: It’s as simple as installing a plugin, go to wordpress.org, search for ActivityPub, install it, and then everything should work out of the box. There might be some small issues because ActivityPub is a bit more complicated protocol, at least from the requirements. You could have to tweak some things, but in most of the cases, it would simply work. And the charming thing about installing it on your blog is that you really own your identity, instead of being at another platform. I think Mastodon is fine because it’s open and decentralized, but you still have some risks on Mastodon that the platform will shut down or that you will be banned because of something.

So having your own instance running on the server you choose. And if the hosts will shut down, you can move all your stuff to another host and it simply works is a really charming idea.

DP: And the ActivityPub plugin enables a lot of features. It’s not necessarily, if I want to have my own server on TorqueMag.io, it’s not like turning on ActivityPub will suddenly turn TorqueMag into, like a Mastodon server, it’s a little bit more like a way to connect to the fediverse. I can still host the server, but it’s not, that’s not what ActivityPub is doing, right? It’s not turning your site into an individual server?

MP: It kind of is. But it’s not installing something like Mastodon on your server, it’s simply turning your WordPress into a, I wouldn’t say server in a Mastodon instance, or a Mastodon-compatible instance. So, we tried to make the plugin as ubiquitous as possible so that in the best case, you do not see anything, that is not WordPress. So, you do not have to change anything in your publishing flow or how you design your site. It works in the background and simply shares all of your posts with all of your followers in the fediverse and collects every comments that were written on the fediverse and saves them to the comment area.

And we are currently working to also federate comments you make on your blog back to the fediverse so that you kind of have a decentralized communication possibility inside your comment section of WordPress.

DP: Like I said earlier, I do tend to think of things as Mastodon-centric and, you know, you kind of just blew my mind that it is kind of turning this into a server, it’s just not a Mastodon server, but it is kind of, your site is a server on the fediverse. And you mentioned comments and that is definitely one of my favorite things about my integration, which is tied into Mastodon, is that somebody can leave a comment on a post and, from my blog post onto Mastodon, and someone can leave a comment on Mastodon, and it’ll show up on the comments of my post. And that is just the coolest thing. I’ve even like replied to people, and then I went to their blog, you know, weeks later and I was like, I don’t remember commenting on the blog. And I’m like, oh, this is the comment from, it’s super cool. Like it works really well. You would think it kind of, maybe that would be a little scary, but it’s actually so far, just naturally seeing a comment on my blog, it feels organic. It feels great. It feels like people are talking. I love it. 

Okay. So, I want to talk a little bit about, other forms of federation and just kind of other products that are talking about federation, because we did talk about earlier, we talked about BlueSky and Threads, even Tumblr have said that all of these services have said that they would like to integrate into the fediverse, that they’re at least considering it. Threads is Instagram’s version of Twitter. It is not currently federated, but they are saying they would like to be able to add an ActivityPub to make it where if you’re on Threads, you can see my post from Mastadon as if I was posting on Threads and vice versa.

I would be able to follow you. So we’re talking about removing the silos, which is very scary for these large companies. But that being said, BlueSky has its own protocol and it might eventually integrate into ActivityPub on top of that, but it doesn’t sound like they’re working on that actively.

Threads keeps tossing out the ball that they might do it. Tumblr has also mentioned it, but I haven’t heard anything from there. What are your thoughts about these other existing platforms that we could kind of consider siloed? Do you think that they’re going to come into the fediverse via ActivityPub?

MP: That’s a really good question. I was in some W3C communications about reactivating the social web community group to start working on ActivityPub again, maybe having the next version. And, I saw that Meta is very active there. They have their people there and they participate in the discussion, but, I don’t think Blue Sky is interested in opening up to ActivityPub yet. I think they will try their own protocol at first and maybe start looking into ActivityPub later again if that does not work, but I’m not sure about BlueSky at all. I think they have a really nice platform, but there’s no federation at the moment at all. And because they have no plans to implement ActivityPub, they do not only have to make their federation protocol work but also have to help others start their own servers. And the BlueSky protocol, the AT protocol is way more complex than ActivityPub at all. So I would not bet on the federation protocol of BlueSky at the moment.

DP: And your plugin, for WordPress, was acquired by Automattic, I’d say about six months ago, I’m probably wrong, 

MP: It’s nearly exactly six months ago. Yeah.

DP: Nailed it. Nailed it. I love how smart I am. And you are now working at Automattic as an open web lead and still, you’re still primarily focused on maintaining this plugin or what is your new role? 

MP: We discussed a lot, um, so that’s why the job title is open work lead, I think. The idea was to not only limit the work to WordPress, but at the moment I’m working in the WordPress.com department and work full-time on the ActivityPub plugin. And also to get the plugin live, for every WordPress.com user, regardless of the plan they booked. 

DP: This actually ties into a question when I ask, I feel like we spent a lot of time talking about the advantages of federation in terms of decentralization, and it’s harder to censor, harder to take over from, you know, an individual, and with federation, you have multiple servers that sometimes you could be talking to someone or following someone that’s on Mastodon social, which is probably the largest server on the Mastodon fediverse, or you could be talking to someone on TorqueMag.io’s, you know, server, which is just like me, right? So you could be, talking to a larger server or a small server. You could be pulling from and interacting with those. And I’m just kind of wondering about like, how that scales, because I think it works well for small growth, but you mentioned adding this ability to all WordPress.com users, which I’m not going to guess on how many that is, but if that was to happen and if overnight—I don’t think Automttic would do it this way, but if WordPress.com said, hey, we’ve added this feature and as of today, everything you post also goes up on to the fediverse. So they just flipped a switch and just turned everybody on. Would that send server-crushing traffic to small servers? Would that like, would that break the fediverse, if somebody really large decided to just like, if Threads just flipped the switch and now they’re connected?

MP: It could be, but I think it’s not that easy because with simply switching the feature on, you do not send any traffic by default. So the traffic comes with the followers. So simply switching something on does not make any more traffic. I think you can easily roll out that feature to even a server like WordPress.com or Threads. The traffic comes with the followers. And so you can monitor your instance and see what traffic it produces and scale over time. So it’s not switching it on and then your server is on fire or the other server is on fire. It will grow over time with the rising number of followers of the users of your platform.

DP: Final question here, Nick Simpson over on Mastodon asked, what kinds of features will be coming to the ActivityPub Plugin for WordPress? 

MP: As I already mentioned, the first version on wordpress.com would be the current version that’s out. The main focus is on publishing. I think the next focus will be on the decentralized, two-way communication, with also federating comments. And the final step would be to have a full-flavored ActivityPub server and client. So not only publishing is possible but also subscribing. But that’s more a problem of the UI. How can you integrate the following and reading stuff into WordPress properly?

DP: Well, that’s a great spot for us to take our final break. And when we come back, we’re going to wrap up our conversation with Matthias about the ActivityPub plugin and the fediverse. So stay tuned for more after this short break.

Welcome back to Press This, the WordPress Community Podcast. I’m your host, Doc Pop, talking today to Matthias Pfefferle, Open Web Lead at Automattic and creator of the ActivityPub plugin. Matthias, earlier in the show you mentioned that you have been in conversation with the W3C social web community group. I’d like to hear a little bit more as we kind of end this conversation. W3C gets mentioned a lot. Can you kind of tell us about what they do and what this group could possibly provide for the web in the future?

MP: The W3C is kind of the standards organization for the web, and it’s also the publisher of the ActivityPub protocol. They were a social web group that published a lot of social web protocols, also some of the IndieWeb movement, namely web mentions, for example, and ActivityPub was one of the published standards. And the current issue is that the ActivityPub protocol is the definition is very vague, so there are a lot of ways to implement ActivityPub and they are all valid, but they would not be interoperable.

So at the moment, I think all the implementers tried to make their implementation compatible with Mastodon because that’s the biggest player at the moment. So there are a lot of needs to have some kind of a more, restrictive might be the wrong word, but to have some more guidance on how to implement ActivityPub so that it does not drift apart, so that the ActivityPub protocol and the fediverse will be interoperable over time.

And there are also a lot of technical difficulties. To implement the ActivityPub protocol, for example, on shared hosting environments. And maybe there are also different possibilities to make the requirements, to have fewer requirements or easier requirements to also allow self-hosted sites. Or to better support self-hosted sites, and that’s currently the topic of the discussion.

DP: Well, Matthias, I really appreciate you joining us today. If folks want to follow you, you’re suggesting sending them to notiz.blog, right?

MP: Yeah, that’s my blog. It’s in German, but Mastodon translates it very well.

DP: I definitely recommend for anyone listening, even if you are on Mastodon, even if you are in the fediverse, maybe still have your own site and send people to that so that you can always, you can always change your mind on where you’re going to send them instead of just sending them to one place. So check out notiz.blog.

And that’s it for this episode of Press This, a WordPress community podcast. I am getting ready to do another episode of the WordPress Halloween Horror Stories we did that last year and I loved it. So if you’re a web developer or a website owner who has just a hilariously terrifying story of something going wrong on your site, please reach out to me. 

You can find us on Twitter at the Torque mag, you can reach out to us there and share your stories as well, you can go to TorqueMag.io and hit that contact button. 

Thanks for listening to Press This, a WordPress community podcast on WMR. You can follow my adventures on Twitter, again, at The Torque Mag. You can subscribe on RedCircle, iTunes, Spotify, or download Press This directly from WMR.fm. I’m your host, Doc Pop. I support the WordPress community through my role at WP Engine, and I love spotlighting members of that community each and every week on Press This.