This is a great article. I personally like mastodon alot, but lots of good points in here.
Yeah and the new change to automatically sign up all new users who don’t know how to pick an instance onto their servers wont make this problem any better.
But it’s a hard problem to solve. How can we solve it, other than to just make more better-competing fediverse apps?
By having a rock-solid standardization and FEP process, that can stand on its own
If we get better interop guarantees, nearing where “How do I join the Fediverse?” is answered by “Just implement ActivityPub spec”, and that is done in a straightforward manner… then that offers proper incentives for Mastodon to comply to that, or become the odd one out.
As long as the answer is “Figure out everything that Mastodon does, and then bolt your own functionality to that”, that incentive does not exist, and new apps have no choice but to defer to the de-facto leader in charge.
Thanks for sharing this. The article says:
We just surpassed a billion posts per month which validates the very real and engaged conversations happening across Mastodon and the wider Fediverse.
Is that correct?
This looks more like cumulative, but the axes are not labeled
I think stating stuff like this is dangerous. In my eyes ActivityPub is a specification for a communication layer.
- This means that ActivityPub tells you how to format your message so that the mesage arrives.
- ActivityPub doesn’t tell you how to format your message so that the message can be displayed.
The second part is necessary for interoperability and not covered by ActivityPub. In order to get interoperability, one would need something as “Mastodon Message Markup”. This standard then specifies that statuses are represented by a Note and that contentMap is assumed to be a dictionary with a single entry, whose single key is the language of the status (see here — and IMO it’s bad behavior).
It is why I said “nearing”. I might make reference to my comment in Towards ActivityPub 2.0 and comments in Fediverse Devs chatroom, i.e. could we make ActivityPub less of a “framework” as Dennis Schubert put it and more of a set of constituent parts where we have:
- a wire protocol based on a simple mail analogy
- the analogy of an actor model to exchanging messages
- linked data based extension mechanism for message formats
1-2-3 … could this lead to a very basic, easy-to-understand, easy-to-use, and very flexible foundation for the Social Web? How KISS can these components be?
The gist is that as a starting point:
- Implementing ActivityPub should make more sense than implementing Mastodon-flavoured AP.
I’m not sure ActivityPub can/should be split into smaller parts. It’s more important to talk/specify the things that ActivityPub is NOT, at least with me reading/interpreting it:
- ActivityPub is NOT a specification on how to store data or make it accessible, searchable, whatever. Specify a TimeToLife variable here.
- ActivityPub is NOT a specification on how to handle authorization/authentication/ and all other privacy/security related issues.
- ActivityPub is NOT a specification on how to display content to the end user.
- ActivityPub is even NOT the specification causing the linked-data nonsense problems, that’s ActivityStreams.
Finally, things like displaying content (which I think the missing biggy is) is best served by a “living standard” similar to HTML.
My impression is furthermore: The world is not ready for a privacy/security specification. Just read any discussion on Blocks in the Fediverse to understand why.
This sounds good, on a roll, now what is #activertpub next, in our dreams if needed
I’m not quite sure that’s the answer. I see this forum pushing standardization, but the AP has already been standardized and used by the big players. If anyone or group wants to start adding more standardization beyond AP, they’d need to get buy-in from the “big players” (Mastodon, Pleroma, PeerTube, Hubzilla, Friendica, etc) because that’s who has all the fedi users. If these big players don’t agree with any standardization or FEP, it’s all just going to be ignored.