Getting events out of the silos seems like a hot topic this year, with plenty of IndieWeb and Fediverse activity around it. The COVID-19 pandemic might be changing the nature of events for the foreseeable, but there's still plenty happening online.
A couple of weeks ago at IndieWebCamp London, Jamie led a session about owning your RSVPs: https://indieweb.org/2020/London/OwnYourRSVPs
Inspired by the session, my day 2 hacking revolved around events and RSVPs. The plan was to try indie-fy my event discovery a bit, and also try and decouple myself from Meetup a little for events there. I want to get a feed of upcoming events that I might be interested in in my social reader, and RSVP to them on my own site.
I'd also quite like to have an 'agenda' page, where I publish the events that I'm going to. If people want to, they can follow my events agenda, and it could be a helpful way to discover events that are going on. Other IndieWeb peeps such as Calum, Jamie and Seb are already doing this. (Not everyone might want to do this - there are obviously privacy implications).
I'd also like to have the events that I've decided to go to show up in my calendar.
1. Getting events into my reader
I don't really have a good way of finding out about events at the moment. When I moved to a new town last year I sadly found that the silos of Meetup and Facebook were the best places to find out about events and what was going on.
Though it might take a while for the world to move away from listing their events in these platforms, in the interim I would like a way of finding out about interesting events without having to visit lots of disparate sites around the Internet to find them. So a good place to try and get this would be in my social reader.
One big source of events is Meetup. The service is going down a slippery slope of sales to corporates (first to WeWork, recently to some private investors), so what better time to avoid as much as possible.
As Jamie discussed in the London session, he has built a service that wraps Meetup's API and can give you any Meetup groups' list of events, or any particular individual event, in Microformats.
To do that, very handily, you can just take any event or event list from Meetup and change the domain to his service at: https://meetup-mf2.jvt.me
So, say, I am interested in finding out about events from https://www.meetup.com/Lancaster-Digital-Friday-Coffee/events/, so I just need to go to https://meetup-mf2.jvt.me/Lancaster-Digital-Friday-Coffee/events/ and I get a feed of the events in MF2. Nice!
Now I have the mf2 I can a feed into my reader. I created a new Events channel in Aperture and subscribed to the link in this channel.
Now they show up in my reader!
1.2. IndieWeb events
I can also subscribe to events from other feeds of events (e.g. events.indieweb.org). I don't think there's a way to subscribe to a Facebook event feed. That would be rad though, to get that feed into my reader.
1.3. Better display of event posts in readers
The social readers don't seem completely aware of the event type at present. (Indigenous does allow you to RSVP to them).
One wrinkle at present is that the Meetup I am following, all of the events were created to be recurring about 3 years ago. So their published/updated date is 3 years ago, even though the event's start date might be next week. The readers seem to mostly work off of published date at the moment.
It could be good if readers might have a calendar view for events, like they have special Gallery or Map views. Or maybe just a simple 'sort by start date' would do it.
2. Own your RSVPs: RSVPing and POSSEing
So when I find out about an interesting event, I want to RSVP to it.
RSVPing to IndieWeb events already works fine for me, thanks to the Post Kinds and Webmention plugins for WordPress. I can create an RSVP on my own site, linking to the page where the event is listed, and the RSVP gets sent over and recorded on the event page.
For something like Meetup, which doesn't accept webmentions for RSVPs natively, we have to do some work there ourselves.
2.1. Setting up the Bridgy connection
First up you'll want to go to brid.gy and connect it to your Meetup account:
Once it's connected, if you create an RSVP post, you can send a webmention to Bridgy about it, and Bridgy will send that RSVP to Meetup. Let's give it a go.
2.2. Creating an RSVP post
For me in WordPress creating an RSVP post is all already taken care of by Post Kinds.
One really nice feature of Post Kinds is it uses Parse This behind the scenes to pull in contextual information about the event you're RSVPing to. Just chuck the URL in the URL box and it'll pull the data back.
Save the post and you have your RSVP - all owned on your own site for your safekeeping and historical pleasure.
2.3. Sending your RSVP to Bridgy
We usually want to tell the event host that we're going to their event. We want to send our RSVP to them. For Meetup, our RSVP goes via Bridgy.
You can manually tell Bridgy about a post you've made that you want it to do something with. This is a handy way of testing it out, and that's what I did with my first RSVP:
I hit Send there, got a success message, and… lo and behold…
I've found out about an event on Meetup, and RSVPed, without actually visiting!
2.4. Smoother POSSEing
I would like to have the option to push my RSVP to Meetup without having to go to Bridgy and put the URL in manually each time. And you can do that of course. The magic happens via the Webmention and Syndication Links plugins. You can turn it on in your IndieWeb settings in the WordPress dashboard.
Now when you create a new RSVP, you can have it sent to Bridgy automatically:
Some social readers (e.g. Indigenous) also support RSVPing from within the reader themselves.
So you can just hit RSVP in your reader and create the RSVP there and then.
3. Bonus features
A couple of nice-to-haves around events and RSVPs.
3.1. Agenda page
Seb has an agenda page - a page with a list of his RSVPs. I think this is a nice way of helping with event discoverability. You could follow the agendas of people you know, and see when they RSVP to interesting events.
This comes out-of-the-box with Post Kinds again. Each post kind gets it's own archive page - so for example, https://doubleloop.net/kind/rsvp/ is a list of my RSVPs. I added a simple redirect from https://doubleloop.net/agenda to that page.
3.2. iCal feed
Jamie has written about how he created an iCal feed of his RSVPs. I'd like to do this too, to pull the events I've RSVPed to into my calendar. I haven't done it yet, but it should be fairly simple - just parse through my 'yes' RSVPs, pull out the dates from the associated event, and turn it into iCal markup.