Let’s take back control of our events! #JoinMobilizon

Let me start with the last question and move back to technical points…

Well, first of all, you can stop being defensive: we’re having this conversation because we admire what you’ve been doing and support it fully. When I set expectations about the importance of Mobilizon, it’s because I saw how PeerTube changed the game :star_struck:, and I think the same can happen with Mobilizon: therefore it’s important that the community works together on the prospect of moving along to interoperability using ActivityPub, in a way that works for all, with all our differences.

This is not the case. A Person is an Actor in ActivityPub, and so is a Group: both appear as a single field in the form of an URL that can be dereferenced to an object (an Actor is a subclass of an ActivityPub Object, and both a Person and a Group are also subclasses of an Actor). So it does not matter to Radar whether your Actor is a Person or a Group as long as they can dereference it to what it is.

A reason why an event posted by a Person would not appear in Radar would be because this Person is not followed by anyone on the Radar instance; there’s no reason why Radar would not be able to wrap this Person into an internal representation that appears to the system to be a Group – with the limitations that Radar would only implement what is needed to make its magic work: and so, if Mobilizon couples the Event with a Person, implementing some fields that will be required by Mobilizon to interpret what an Event is, then there would be an issue for Mobilizon to understand Activities taken by some Actor on Radar’s side; Radar would still be able to consume Events from Mobilizon, but Mobilizon would be unable to handle Group-based Events from Radar. This is where it’s important that Mobilizon does not over-determine what an Event is. I assume that an Event created by a Person in Mobilizon is only the first step, since you mentioned Groups would be supported later.

IMO, Actors are commodities: some people over at SocialHub were recently complaining that an Object cannot be followed, and that we should amend the specification to allow that use-case; I think it’s a wrong approach, as we can instead create on the consuming side an Application or Service Actor that would follow the original Actor that owns the Object to be followed, and ignore all Announces except for this specific Object of interest. Since the consumer only wants to follow this Object, it’s easy-peasy to circumvent the perceived limitation of the specification by creating a commodity Actor that implements collection filtering – which is how I understand what you call “social masks”. Maybe a way to understand “multiple identities” in practice would be to have the user have multiple Persons representing it:

This is all the difference between an understanding of ActivityStreams objects as “identities” vs. an understanding as “relations”: ActivityPub is very good at handling relations, and a Person is just another Actor, interchangeable, as much as possible, as long as the implementation actually accepts this fact, and does not try to put more there than there is. But this kind of diffraction can only happen if one stops to reflect from a static model, and embraces instead a dynamic process.