Federated Events

LONG story SHORT: I think it’s time to federate events! :smiley: :palm_tree:

CURRENT SITUATION

FEDEVENT

WORDPRESS PLUGIN
I never touched Python so I’m waiting news about an AP PHP library, especially because I think would be great if we can have a simple plugin that people can install in their WordPress and share automagically their events in the Fediverse: like Pterotype for posts!

Anybody willing to help pushing this topic forward? :wink:

:deciduous_tree::deciduous_tree::deciduous_tree:

That was my goal to write such project (heavily inspired by facebook events) after making prismo stable and finishing the AP Rails plugin :slight_smile:

Hey! I’m that somebody and I’m very interested in helping the idea get around into a much more wholesome implementation and not a prototype.

To that end, FedEvent is available under MIT license now: https://github.com/shiburizu/fedevent

And if you need to drop me a line directly on fediverse I’ve set up a new account shiburizu@niu.moe.

I have a whitepaper that had the ideas of the implementation (written in spanish) that I will translate and deliberate on how FedEvent works and we’ll talk integration to existing projects as I get the time to analyze them. open-sourcing is what I can do on short notice, but basically Fedevent is a front-end for a bot account on Mastodon to send out notifications.

Hi there,

We at Framasoft (the non-profit backing PeerTube) launched the Mobilizon project that will also federate events.

There’s also Friendica that has events and recently implemented ActivityPub (that is, to my knowledge, the only project federating events over ActivityPub to this day).

@mxb cannot wait!!! :smile:

@shiburizu wow that was superfast, great thanks!!! :wink:

@tcit I didn’t know that! :smiley: Do you plan also to decentralise maps like I proposed in https://socialhub.network/t/collaborative-maps-with-activitypub/164/3 as well?
I’m looking for tools to use in my local community, Mobilizon sounds promising! :sunny:

1 Like

Friendica’s events page immediately requires a login to even see it, I find it very uninviting on a fediverse scope. FedEvent and GetTogether do not require logins to browse the site (however GT has a login process on their own side – something I avoided experimentally with FE). There are a couple design challenges in any such system:

  • Supporting the broadest range of protocols (Mastodon bridges APub and GNUS, the major players basically)
  • Authenticating Fediverse users: While I’ve seen OAuth style sign-in done on the very popular Tusky client for Masto, I cannot imagine every service implements this. By the same token, I find most social instances support private or direct messages for 2FA-like auth codes. Otherwise any notification system would be able to ping users without their consent repeatedly because fediverse doesn’t have an “identity” system in place.

Please note: Not requiring a login is a philosophy I had building FE to try to write a system catering exclusively to fediverse users, but I can see GT implements their login system and linking a server-side login to an APub identity would probably be a lot less hassle on the end users.

@360fun I had challenges implementing leaflet to geolocate events on FE just because I didn’t have much time to implement it, if you have a better tool to implement that would be useful.

Some notes on the subject while I’m away from my desk.

I agree with you: the login should not be needed if the user just wanna see the events! :wink:
Especially multiple identities is something that needs to be fixed in the future, MoodleNet team wrote an interesting article about it: https://blog.moodle.net/2018/what-is-emoji-id/

Right now I’m not touching much code so I cannot help in that side, but I’m into a lot of different project so I’m trying to move things forward putting people together and bringing ideas! :tanabata_tree:

Glad to have found this thread, Events is something I have been thinking for a while.

Ultimately I’d like to incorporate ActivityPub Events into a wordpress plugin, I am currently waiting for a PHP ActivityPub library to finish developing : Pterotype

When I was searching before I had also found this project which seems to have stalled

I was curious about this too and tested out the events in Friendica, but from what I can tell the events don’t federate (there is no attached json or rss related to the event). Maybe in a future version.

NextCloud also has a calendar app, and has started federating, so it may just be a question of time before we see more implementations!

That’s odd. I didn’t test, but they explicitly told me it worked. :thinking:

I’m also it’s maintainer :wink:.
Indeed Federated Calendar Sharing is in the works, but Nextcloud federation is not compatible at the moment with ActivityPub, only the Social app does.

Osada has federated events and attendance over ActivityPub; though there were no other known implementations to test against when this work was completed last year. The project itself is no longer being maintained, though there are still a number of active instances.

Diaspora folks have also put some thought into how federated events could work, in association with a dev from Friendica. Initial discussion: https://github.com/diaspora/diaspora_federation/pull/44

Proposed spec: https://diaspora.github.io/diaspora_federation/entities/event.html

It would be awesome if a federated events standard could be defined in such a way that it could be used as an AP extension, and an extension to the Diaspora standard, and potentially in other federated systems (social web clients using XMPP, Matrix etc).

This was drafted months ago. After this message, we’re up to date.

@360fun would you update the first post with the current situation with existing free software projects doing AP events? I’d rather see cooperation than competitive projects. It’s easier to work together in this context.

@tcit would you like to share the Mobilizon vision in the context of existing AP eventing projects? How will you interoperate or join forces? (Note: this discussion is happening in #software:mobilizon and https://ps.zoethical.org/t/let-s-take-back-control-of-our-events-joinmobilizon/2732)

#introduction
Hi, I am the main developer of gancio, a shared agenda of events that supports AP.

TLDR;

All of you know that “supports AP” means everything and nothing, so I’ll try to explain what it supports and why.

Gancio was born in Italy from political hacking movements, in particular from the hacklab underscore, a place that crosses the social movements and squats here in Turin (north-west italy).

We have set up a “radical local server” cisti dot org that hosts services explicitly designed and reasoned for people / movements / groups / collectives to whom we feel similar here in the vicinity, so it is NOT our intention to grow and indeed, we believe that one of the main issues of technology is the scale and disconnection from reality and territory.

Since we liked the idea of the federation very much and there is a discussion about the social networks in Italy rather strong within the movements, shaken by the experience of indymedia (for example, in the last month FB italy has closed many accounts of groups that dealt with rojava and Syria) we have set up a local instance of mastodon, following the example of brothers / sisters hackers of bologna collective bida.im.

The next step, was to think of a shared calendar so last year we looked for solutions but none liked us and so we decided to write it ourselves and gancio was born.

It now has about a year of life, two instances (one in Turin and one in Florence), about 600 published events, some new instances coming and much positive feedback from the communities.

Our background is therefore that of hackmeeting (a three days national hosted annually in a different place, often a squat, which brings together all groups that do hacking / hacktivism in Italy for over 20 years) and that of projects such as autistici.org

Some relevant and particular features inside gancio:

  • focus on content not on people:
    nowhere on gancio appears the identity of who published the event, not even under a nickname, not even to administrators (except in the db). this is not an ego friendly platform.

  • visitors first! we do not want logged user to get more features than random visitors. we do not want users to register, except to publish events and even in this case …

  • anon events: optionally a visitor can create events without being registered (an admin has to confirm them)

  • We are not interested in making hits so we export events in many ways, via RSS feeds, via global or individual ics, incorporating lists of events or single events via iframe on other websites. Notification via mail is coming.

AP support, what’s up to now

Each instance has only one “Actor” that publishes each event when it is published.
We are considering the introduction of other “Actor” but they will not be linked to users, rather to places or tags/categories.
There are no personal homes with a timeline of people I follow, everyone has a sort of local timeline of the instance, it’s an anti filter-bubble feature.

Events are not published with the type Event but with type Note because we wanted to add the possibility to interact with events from our mastodon instance (boost / bookmark and “comments” that we call resources because we don’t want it to become a place of debate, but more a place where to keep a historical memory of events, e.g. an audio recording of a talk).

When mastodon will support Event object type we will change for sure.

We are also currently testing instances and users’s moderation.

AP support, what’s boiling in the pot

As some more instances are coming, the ideas we are thinking about was the possibility to share events with these instances. The main idea was that the administrators would follow their respective instances that trusts and that in the publication of the events there would be the possibility to specify the geographical relevance and the importance of an event (I had imagined 4 levels, regional, national, international and global) and that the other instances would publish the events coming from trusted instances for the events of geo-competence.

money money

Who’s paying you? You know well that to develop software today is one of the most privileged job that exists, so we decided to use this privilege to devote time and space to projects explicitly outside and against the logic of profit. We steal time from capital, we work for money as little as possible because we can afford it.
We do not want to make gancio our job because it is not. So no, no sponsors, advertising, donations.
It would not change the time to devote or the quality of the software, for us.

Of course any help or feedback, is appreciated.
Sorry for the length but I think context matters

3 Likes

Welcome @les!

I really appreciate the features you came up with, especially:

I think these are very important and distinctive features from the mainstream understanding that ActivityPub software is replicating existing GMAFIA software and services. Instead, focusing on content allows to move away from the “personality challenge”, where one’s “identity” depends on visibility, presence, and popularity ; support for anonymous contributions in your case makes a lot of sense, since it’s about announcing events, not about exchanging data or else – in other cases it could be problematic, and even there I can see an entry for what I would call confusion of service, since it could enable antagonist forces to announce non-existent or honeypot events ; not making hits is definitely a statement that I share, in line with the original idea of the web, where linked data is here to compose. Looking forward to using your software, and seeing more of it in the ActivityPub space.

2 Likes

Reading @les’ thoughts about the goals of Gancio reminded me of ideas about online events calendars I’ve been chewing over since my days working with Aotearoa Indymedia. There are a number of very different groups of event types, with different requirements. Off the top of my head:

  • protest activism events; meetings, demonstrations etc whose organizers want to publicly announce them for open participation, while being discreet about who they are.
  • community activist events open to all comers; everything from an open day at a community garden or opening hours for a radical library, to a hackathon or a gratis workshop etc, where their success depends mainly on reaching particular communities of interest/ practice, and organizers may or may not mind being publicly identifiable
  • open access public events; public meetings, free concerts and street theatre, school fairs, art openings etc, where their success depends on being promoted as widely as possible and organizers don’t mind being publicly identifiable
  • ticketed open access public events; gigs and music festivals, theatre shows, conference with registration fees, practical workshops with expense fees etc, where their success depends on being promoted as widely as possible and organizers want to be publicly identifiable as the legitimate source of tickets/ registrations
  • private events; everything from birthday parties and family reunions, to house parties and workplace parties, to invite-only political meetings and conferences etc, where only a select group are invited, and the details of time and location are private.

In each of these event meta-types, the geographical scope of events could be local or municipal, or as mentioned by @les, regional, national, international or global. These meta-types and geographies can be combined in different way to come up with a wide range of use cases for federated events. For example

  • within one city, a range of organizations might want to have their own events calender each, under their own controls, where their public events are federated to allied groups, gig guides, community calendars etc, and they can subscribe to events from the calendars of allied groups, coalitions they join etc.
  • a global network of political groups might want to be able to call private, invite-only conferences, using a shared events calendar run by the network’s geeks to federate out the details of each conference to member groups, receive RSVPS etc.

So as well as all the usual reasons for having multiple free code projects in the same space (language preferences, trying different technical approaches etc), there is plenty of room for a range of federated events UIs, each targeting a group of use case(s) needed by specific user groups. The more the merrier :wink:

What I’m hoping though is that all the free code projects working on different kinds of events systems can see the benefit of having a certain amount of shared infrastructure. Not only a standard set of protocols for how to represent and transmit event data across a federated network, reusing existing protocols and formats as much as possible, but also standardized libraries/ modules/ plugins for implementing that standard in each of the languages being used for events software. That way developers can focus most of their energy on making great UI for the specific user groups and use cases their projects were set up to serve, and share the work of maintaining the plumbing that links their users and events data together as and when appropriate.

2 Likes

I found something interesting:

Would be awesome to free Fb events through AP! :smiley_cat:

2 Likes