this post was submitted on 12 Jun 2025
126 points (93.2% liked)

Fediverse

34512 readers
356 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration)

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] benjhm@sopuli.xyz 0 points 1 day ago (1 children)

That makes sense, to store only popular stuff, or temporarily - especially for 'heavier' images (although as we see with lemm.ee, that leads to issues when an instance dies). Yet I also wonder about the scalability of just the minimum meta-info, whose size does depend on the protocol design.
For example with Lemmy every upvote click propagates across the network (if i understand correctly, mastodon doesn't propagate 'likes' so consistently, presumably for efficiency, but this can make it seem 'empty'). Maybe such meta-info could be batched, or gathered by a smaller set of 'node' instances, from which others pick up periodically - some tree to disperse information rather than directly each instance to each other instance ?
As the fediverse grows, gathering past meta-info might also become a barrier to new entrant instances ?

[–] rglullis@communick.news 2 points 12 hours ago (1 children)

mastodon doesn’t propagate ‘likes’ so consistently, presumably for efficiency.

It is not a matter of efficiency, but solely of how AP works. All it takes is someone one an server to to follow a community for that server to receive every vote/post/comment, while to get a whole conversation thread on Mastodon you'd need to be on the same server as the original poster or your server would need to have at least one person following every server involved in the conversation.

[–] benjhm@sopuli.xyz 1 points 10 hours ago (1 children)

Thanks, that makes sense if I think about it, but maybe users shouldn't have to - i.e. the Mdon part-conversation way still seems confusing to me (despite being a climate modeler and scala dev), although haven't used Mdon much since I found Lemmy. And I still feel that both ways seem intrinsically inefficient - for different reasons - if we intend to scale up the global numbers (relating OP).

[–] rglullis@communick.news 2 points 9 hours ago (1 children)
[–] benjhm@sopuli.xyz 1 points 6 hours ago (1 children)

I agree with most of what you say. I'm a long-time fan of calculating more complex things client side, as you can see from my climate model (currently all calcs within web browser, evolved from java applet to scalajs).
Also, in regarding social media, keeping the data client side could make the network more resilient in autocratic countries (many), and thelp this become truly a global alternative.
On the other hand, some 'trunk' server interactions could also doing more not less, bundling many 'activity' messages together for efficiency - especially to reduce the duplication of meta-info headers in clunky json, and work of authentification-checking (which I suppose has to happen to propagate every upvote in Lemmy?).

[–] rglullis@communick.news 2 points 5 hours ago

bundling many ‘activity’ messages together for efficiency - especially to reduce the duplication of meta-info headers in clunky json

Seems like an optimization that is not really needed. The data format is not really the bottleneck, there are ActivityPub relays that can send messages in bulk and ActivityPub is built on LinkedData, which means that there plenty of powerful libraries in most languages that can parse and produce JSON in a way that keeps application developers with a consistent semantics. The more people try to change the data format in the sake of "efficiency", the less portable and useful it would be.

and work of authentification-checking (which I suppose has to happen to propagate every upvote in Lemmy?)

Yes and no. Most of the current software do authentication by using HTTP Message Signatures, so after you fetch the actor's public key every request is authenticated by seeing an HTTP header, which makes it no different most common authentication schemes.