Scalability issues on the Fediverse

Just want to drop a toot thread by Hrefna here on the issue of scalability of the fediverse as it grows:

In a reply @marius mentions considering a FEP to address some issues. This topic may also be interesting for the FediDevs group cc @gabek @j12t

1 Like

I want to highlight a point

  1. A concept of priorities for messages. Most implementations have this, but it isn’t in #ActivityPub.

From Hrefna (DHC): "Examples of things that could help: 1. Stronger …" - Hachyderm.io.

If one wants to do something such as broadcast “severe weather alerts”, one needs a completely different message handling than for people having a conversation.

  • To have a conversation, one can use Dunbar’s Number or the Metalhead Number, to claim scalability is trivial.
  • For an alert one wants: Fast delivery, to lots of people. One needs Scalability.

Finding a good answer to this will run into Net Neutrality questions, but it needs to be discussed. Maybe, one should formulate this as “What would an ActivityPub Alerting Mechanism look like?” Maybe, somebody should gather user stories or find the appropriate W3C/IETF/… working group.

1 Like

Just FYI… There are currently two AP-based alerting projects that I know of, one based on activitypub-express and the other using the Mastodon API:

https://github.com/kona314/transit-fedilerts
https://gitlab.com/stemid/mastodon-moderator-alerts

I don’t understand why Hrefna dismisses sharedInbox so strongly. She’s technically right that it’s optional, but in practice it’s very widely supported and used, and generally does reduce inbox delivery network requests from O(followers) to O(instances), which is significant.

I also don’t understand the claim that it only supports public activities. ActivityPub says the sender can consolidate delivery for any recipients with the same sharedInbox, regardless of whether the activity is addressed to Public, right?

you can send non-public activities to sharedInbox but then the server is responsible for figuring out what to do with it. for example, addressing your followers collection means that the other server has to know who is following you (without you telling them who is following you). whereas direct delivery to inboxes means you decide the audience.

1 Like