Events

I’ve been experimenting with the Event Federation WordPress plugin. After a little tweaking, I managed to get event information published on WordPress flowing out into the Fediverse. I’d like to gather my thoughts about what this does, and why I think it’s exciting.

What Problem Does This Solve?

OK, it doesn’t fully solve any problem. The problem I hope it helps with, is spreading the word about smaller music acts, encouraging more people to attend their performances, and increasing the odds that artists will be able to support themselves this way. Secondarily, I like seeing local live gigs, but I have trouble finding out what’s happening around me.

Some people love seeing the big acts in a huge stadium. These acts don’t have difficulty getting the word out. If Taylor Swift is coming to your town, you’ll know. There is very little risk of her getting up on stage to find that half the seats are empty. Neither is there much risk of the singing not working out for her and her giving up and getting a job as a bank teller. Event Federation does not help here.

Many smaller acts consider the evening well spent if 40 or 50 people show up. At that scale, if one person decides a week in advance that they’d like to go, and they tell all their friends, that makes the difference between a memorable night and a mediocre night. If the night is a success, and a handful of people share photos and videos, that can give enough momentum to make it worth coming back next time they’re on tour.

I personally have shared things on the Fediverse that have received as many as 50 likes. If even 1% of those people showed up to a gig, it would make a horrifying mess and we’d have to call the cops. Money can’t buy that kind of publicity.

What’s The Idea?

The Fediverse works fine for sharing general updates, and that includes events such as I have in mind. After all, you really only need to post the flyer. But there are a couple of ways that having explicit support for events can be useful. You can add a machine-readable location, allowing people to easily filter or search for events happening in their area. With a date, it’s possible to automatically add events to the calendar on your phone. And instead of just a general “like” reaction, you can explicitly let the world know that you plan to attend.

The Fediverse is a chaotic assemblage of more-or-less independently-developed software platforms. The ActivityPub specification includes explicit definitions for events, but only a small number of platforms actually implemented any support for that. In particular, currently Mastodon dominates the Fediverse, and events are somewhere near the bottom of a huge list of things that don’t work on Mastodon at all.

But WordPress is a popular platform. Does it support publishing events to the Fediverse? Yes definitely kinda. WordPress can do practically anything if you get the right plugin. And it has a plugin for events. Or rather, it has dozens. They all define custom post types with associated metadata neatly stored in the database. WordPress also has an ActivityPub plugin allowing sharing posts to the Fediverse.

The problem is that the WordPress ActivityPub plugin only shares items with the usual title, summary, freetext content that posts have. It doesn’t know how to fill the more specific fields, especially not given the diversity of WordPress event plugins out there. So this is what the Event Bridge plugin does: it fills the gap by putting WordPress metadata field A into ActivityPub field B. And it knows how to do that not for just one event plugin, but 8 different ones. That’s basically it.

Demo

The first step is to set up the plugins. I won’t go into those details here. I chose to try out the Gatherpress plugin, and they have a good demo. With that installed, I can create an event under my test account “Jem”. For something realistic I copied an event from Zaomengshe. You can see that the body of the event can contain all the content you expect from WordPress, which is far more than Mastodon supports.

Screenshot of editing an event using Gatherpress in WordPress.  It's not visible who is logged in, but the container tab is labelled "Jem".  The event named "Fowerstream & Kaishandao" is visible, and the editor is positioned somewhere down a little through the details of the event.  A photo of the two members of Flowerstream standing in a garden is visible, and a bio in Chinese underneath that.  At the bottom the start of a bio in English is also visible.  On the right there are a number of event settings visible, such as start time, duragion, timezone, venu, event link, RSVP options etc.

With that published, anyone following Jem will receive the event in their feed. Here’s how that looks in the Mastodon feed of Stormer. It’s not too bad! The little bulleted list with the emojis comes from the Event Bridge plugin. It puts that together specifically so that platforms like Mastodon that don’t support events will get the important information. But the flyer also comes through great. By default WordPress ActivityPub shares three images, and it’s fortunate that here we get the flyer and photos of the two acts. But the plugins have endless options to tweak to get the effect you want.

So suppose that Stormer boosts the event. Rapture follows Stormer from her Friendica server, so here’s how that looks. A bit ugly unfortunately: the bulleted list gets interpreted as a title and displayed with the raw markup.

Screenshot of a post in Friendica.  We can see that Jem is the author, a note says that "stormer reshared this", and we can see that Rapture is logged in.  The first part of the content is a raw BB-encoded version of the bulleted list visible in Mastodon.  Under that is a structured section showing the date May 17, a title, and a start and end time.  Below that is a large rendering of the event flyer.

But the important part is the box below. That indicates that Friendica received the structured metadata and interpreted it correctly. This also means that switching to Friendica’s calendar tab shows the event is automatically in Rapture’s calendar.

Screenshot of Friendica's calendar view for May 2025.  In the box for the 17th, a small bar is labelled "Flowerstream & Kaishandao".  We can see that Rapture is still logged in.

Also, note that while Mastodon only had a summary, Friendica gets the full rich content. So Rapture can read all about Kaishandao’s musical style directly in her social media feed.

Zoomed out view of the full content visible in Friendica for the Flowerstream & Kaishandao event.  The flyer, both band photos, both bios each in Chinese and English, and a flyer from the venue are all visible.

Importantly, even though Rapture only heard about the event through Stormer’s Mastodon feed, which doesn’t support rich event data, Rapture still sees the full metadata. That’s because Stormer only shares a link to the event, and Rapture’s Friendica server fetches the content directly from the source on WordPress. This means that even though the bulk of the Fediverse population is using Mastodon, the full benefits of rich events are available to the minority anyway.

Will Anyone Use It?

The potential pool of users are those with an event plugin who are also interested in publishing to the Fediverse.

Automattic put a significant amount of money into ActivityPub federation, but since it’s an optional extra and the Fediverse doesn’t exert much “pull” on the ecosystem, so far it has relatively slow take-up. Currently WordPress shows “6000+ Active Installations”. That’s a bunch of people, but not much of a market.

Event plugins are rather more popular. The most popular, The Events Calendar, shows “700,000+ Active Installations”. What’s the overlap with people who also use ActivityPub? Probably small. But is it worth spending 10 minutes installing ActivityPub just in case it helps get the word out? Maybe for some of these people.

As always it’s the network effects that are the roadblock. If there were lots of customers receiving these events on the Fediverse, sharing them with each other, adding them to their calendars, then of course everyone would be on board. But right now there is practically no client support. A handful of ActivityPub platforms can work with events on their website. But few people use websites these days. Social media is about apps on phones. And none of the apps can do anything with events.

So instead there is the faint hope of kickstarting a feedback loop. Perhaps a handful of events websites will install the necessary plugins and start publishing to the Fediverse just for the sake of it. That might create enough incentive for an app developer or two to add support to their app. And that would provide enough critical mass for other websites to invest the small effort required to switch on the plugins. And so the loop continues. If we can convince Threads to add support for events, that becomes an audience that’s worth targeting.

It’s not necessary for the full process to exist up-front for it to be valuable. Just sharing events on the Fediverse encourages “engagement”: comments, likes, subscribes etc. People are desperate for engagement to an extent I actually have a hard time grasping. Ten minutes of installing plugins to get a dozen likes now and then is pretty good compared to some of the things people try.

What’s Next?

Even though I don’t think this is going to set the Fediverse on fire, I do think this is a defining innovation in several important ways.

One thing I stress over and over is that the Fediverse doesn’t make sense as a new platform that people should migrate to. Rather it’s a way of linking together people and content that already exists. This is exactly the role played by the Event Bridge. Instead of developing a new event plugin with the USP that it connects to the Fediverse, they plugged into the diversity of event plugins that already exist, adding that one feature to all of them at once. This respects the work that all those developers already invested, and greatly improves the odds of delivering benefits. But it comes at the expense of practically no-one ever falling in love with the Event Bridge project itself. So, I’d like to highlight that work here: great job ❤️

But the other important aspect of this is how to deal with use cases that aren’t supported by the most popular platforms. Are we really going to pump all our complex modes of online interaction as an undifferentiated slurry through a single firehose? ActivityPub was designed to carry richly-structured custom data, adhering to schemas defined by the communities that use them. That’s why I’ve been pulling my hair out trying to understand this crazy JSON-LD format. But these capabilities are barely used right now. Admittedly events are not an extension, they’re part of the core ActivityPub spec. But the Event Bridge now forms an important proof of concept, of pushing structured data through Mastodon even when Mastodon doesn’t understand the critical data and in fact deletes it completely. No matter. Even Mastodon users could run an app that fetches the original data and adds events to their calendar.

A computer network consisting of five servers, each with one user using a phone.  The users are labelled A through E.  The server of A, and the phones of A and D, are highlighted in blue to indicate support for rich content.  Connections from A to B to C to D are annotated with a file representing simplified representation, whereas the connection from A's phone to their server is also labelled with a diamond representing rich content.  In addition, a dotted path directly from D to A is also labelled with rich content, showing how the rich content is made available to apps that support it.
A publishes rich content from their server which supports it, along with a simplified plain text representation. B and C reshare that based on the plain text representation, and eventually it reaches D. Their server does not support rich content, but their phone app does, so they can retrieve the rich content directly from the source.

I think that’s the right way to treat Fediverse social media platforms. The user experience should be in the client. The platform is the repository of the user’s identity, and a moderation filter, but that does not define the kind of content they consume. Mostly the user should be able to treat their social media platform as a dumb pipe, not something they pay much attention to.

My dream for the future of the Fediverse would be to find communities with specific technical requirements and link them up to the entire pool of Fediverse users. I struggle to find intuitive examples, but suppose Dungeons and Dragons fans wanted to share updates on the lives of their characters. The adventures they had last weekend, XP accumulated, weapons and loot they found. This is all custom metadata of great interest to a minority. And everyone’s part of several minorities, even if they have a single identity. So it makes sense to have several Fediverse apps on your phone, including a D&D app, all connected to a single account. That account may or may not live on a server that understands D&D metadata, but who cares? It’s a dumb pipe.

WordPress is an excellent platform for these special-purpose applications due to its open plugin architecture. And indeed a quick search shows several gaming-related plugins, each presumably with its own attached community.

Tough Sell

If I imagine pitching this idea to the musicians I know, I can imagine it being one of those conversations. Everything about this is so distantly removed from the world these people inhabit. The pretty party people get their information about events from their real friends in real life. They don’t expect a social media post to synchronise an appointment to their phone, and they don’t use their phone to navigate to the location. And no-one’s on the Fediverse in the first place.

I can perhaps imagine a venue or a ticketing platform implementing this. As someone who set up a small ticketing platform myself, I can just about imagine sneaking this in as a feature before anyone gets around to stopping me. I can’t imagine getting a positive response from the owners.

But really, this is ten minutes of work. If everyone else is doing it, and if it Just Works on your customers’ phones, then failing to do this could end up looking like a glaring gap.

This system has a benefit to people like me with tidy minds, of which there is no shortage on the Fediverse. Some of these people are organising and attending events. There’s an opening there for this to be adopted, if setting it up is painless and quick. I would very much like this to succeed.

Leave a Reply

Your email address will not be published. Required fields are marked *