I’m still trying to grasp my head a bit around activitypub.
As I understand it, activitypub can basically be thought of as a mail server, that defines how messages should be sent and received between different servers to create a federation. Afterward, activitystreams is basically the standardised “language” that should be used to communicate messages between the different servers.
One thing I am curious about, is how come we have ended up with so many applications having their own activitypub implementation? Couldn’t you theoretically have a stream of messages coming to the inbox and then have applications (like lemmy, mastodon) subscribe to the inbox messages they are interested in to them and send outgoing messages to the same outbox? Basically, I’m wondering if mastodon, lemmy etc. can’t listen to the same inbox and send messages to the same outbox. Activitypub as I understand it is not really tied to a particular application, so how come it is so in practice? How come we do not have a single activitypub provider that we sign up to, and then have the applications plug in to that provider?
I am not asking this to be provocative, I am curious about the history of activitypub and also trying to understand if I "get’ activitypub as a protocol.
they could indeed work like that, but they aren’t like that, primarily because the adopters of activitypub all happened to be designed and built monolithically. the other big reason is that there still isn’t a reference generic activitypub server that fulfills the role of the mail server. there’s some efforts from the community like Vocata which aim to be more like that, but the biggest projects seemingly have no interest in rearchitecting their projects to be clients rather than integrated client+server offerings.
That’s what we are trying to do with ActivityPods. Basically, the pod provider takes care of the whole ActivityPub mechanism (as well as the storage, authentication and all those annoying stuff), and applications can focus on what they want to do. We have implemented the full client-to-server protocol, so applications can easily post to the outbox, and watch the inbox. We plan to release a Mastodon-compatible app in a few months, see the end of this article for the details.