I've been building a Facebook Events style event organizing system for the Fediverse. It's based on the simple, open source, privacy-respecting event organizing tool https://gath.io
The attached video is a work-in-progress preview and shows compatibility with Mastodon. My hope is to get it working with lots of software, including stuff like Friendica that supports events and calendars.
Check out more at my Patreon: https://www.patreon.com/posts/organizing-on-32729070
Also on the todo list is to add an Events tab to Hometown that keeps track of events you've RSVPed to. (For federation nerds: this will be driven by ActivityPub `Event` activities sent to a user's inbox after they've successfully RSVPed.)
omg this is cool, I only had to change one line of code and now my gath fork provides verrrry minimal Friendica compatibility! (the end time is the same as the start time, probably a bug on my end, but still, this is neat to see this working "for free" after implementing Event activities)
@darius Have you heard of Mobilizon which aims to do the same?
I'm surprised you say it wants to be a business, aren't you confusing Framasoft with something else?
@vanecx Okay, I was going off of what I saw before they finished fundraising! The fact that they were trying to raise 50k EUR for the project seemed either (1) excessive or (2) like they are building something far more heavy than what I want.
Anyway, I'm glad that there is a test server up, I'll have to check it out.
@vanecx Ah, I set up a test event and I already disagree with their federation model! They are creating permanent human-tied users on each Mobilizon instance that own or attend events, whereas my vision creates actors for each new event and people can RSVP from their pre-existing fediverse accounts.
That is to say: we are doing very different things federation-wise!
also I'm working on a project to help enable that future. Taking the #ActvityPub implentation from @GuppeGroups (based on your NodeJS reference imp.) and converting it to a modular library of express middleware and utils.
Still very early stage, but making progress
@darius excited to hear you are talking to devs to make this feature go mainline gath!
@darius so is this test already using the new event tag that just got merged into masto?
@liaizon Not yet, will probably add it tomorrow
@darius sorry, spoke too soon... Arriving at this thread from a different post, I see you already commented on the differences. Threading on Mastodon really confuses me 😞
@mike Okay, cool. Do you send out an Accept/Event when I click the affirmative RSVP button on an Event I've received? I am not seeing anything POSTed to the inbox of the actor on my end when I RSVP from Friendica.
In here I see a sendContactAccept but not a sendEventAccept, for example https://github.com/friendica/friendica/blob/a8fa7e5187cbe24c2d69ed09cdbbe87e5fe5b8ef/src/Protocol/ActivityPub/Transmitter.php
@mike okay great! Is there a Zap instance that I can create an account on? I signed up for hubzilla but could not figure out how to send a follow request to an AP account (I'll read docs later this was just my initial attempt)
@mike I haven't successfully found a place to test from for zap or hubzilla, but I did get affirmative RSVP working with Friendica, which is using the same federation model you mention (Accept/Event). Can you try following @V_Yyi5YB7 -- you'll get an Event in your feed that you can RSVP "yes" to, and it should after a few minutes be reflected on the page. (If you go to https://events.tinysubversions.com/V_Yyi5YB7 you'll see that's a Friendica account that has RSVPed there)
@darius any closer in this movement?
@darius *strips tshirt and starts running in circles wildly*
@bortzmeyer Different federation model. My primary Actor is for an individual event, whereas Mobilizon has users who "own" events. I want people to be able to follow events rather than humans who own many events.
@darius oh my gosh, i saw this my first week on fedi but didn't save it and I've been looking for it ever since!
@darius It's very interesting and useful.
I want to use that service for offline meeting on Mastodon.
Is it enable to attach Google map?
@darius would this allow for anonymous RSVPs? (at least, anonymous to tje public if not the server operator)
@thufie you can just go to the web page and RSVP with any name you like and no email address, yes (if the event organizer allows for it)
@darius Great! Go go go! Federated events are critical missing infrastructure right now, I can't wait for solutions.
Will be good to have some friendly, fediversly coopetition with Mobilizon and any others :)
@darius this looks great - looking forward to trying it out
Looks really nice.
I love you
@darius There is also @GetTogetherComm which seems to be working on federated events. And the general discussion: https://socialhub.activitypub.rocks/t/federated-events/305
@aaronpk Oh cool! Yeah, tbh my main issue with most events solutions out there is that their federation models seem really weird to me. It was important for me to make an event (lower case) into an Actor that people can follow, and then it can send out Events. Other implementations take the AS2 vocab spec too literally and make human users their Actors, and you follow a human and they emit Events that they "own" over time
@aaronpk we should probably do our once-every-two-years thing where we actually meet up and talk about this stuff since we live in the same city huh
@darius Interesting. Any thoughts about mobilizon.org?
@foozmeat @nolan Yeah! gath.io is remarkably easy to administer, too. One thing I want to add to it is the ability to set it up so it only allows users who auth from YOUR mastodon/oauth domain to create events. That way you're only committed to moderating events created by the users you already have
@thinkMoult I haven't evaluated that so I can't say. I think my federation model is pretty different though,
for example RSVP via direct message is not something I've seen before
Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.