Edit: After reading your comments, and testing some more, I must say that I’ve misunderstood how it all works.
I should’ve thought of Mastodon users like separate Lemmy communities…but not exactly. What confused me is the fact that you could look up a profile on a remote instance and see their posts, but they would be very delayed. On Lemmy, if your instance hasn’t “discovered” a community, you wouldn’t see it at all.
I followed a random user (whos posts were last synced many days ago), and it started syncing normally (it took ~1h for it to start, but it seems like it worked and now it’s syncing their posts “in real time”).
By accident I noticed that one instance had more japanese posts in the all feed than the other one. I thought maybe the other instance has certain languages filtered or they might be defederated from certain instances, but neither was the case. I found out that the other instance just fetches the posts from other instances much slower (days).
Then I decided to open 10+ (popular to fairly popular) instances and compare how quickly or slowly they sync with each other.
It’s really bad and really random. Some instances sync perfectly with each other, some take hours, some take days, some take months…
I do not use Mastodon but if I did, finding that out would just make me not want to use it.
It reminds me of that time when there was a bug in Lemmy which made the federation broken, and that was very annoying, but we knew that there was a bug and that it was being worked on, and it was fixed fairly quickly.
But on Mastodon, from what I’ve seen, it doesn’t even depend on the version the server is running, it truly just seems random.
It just seems odd to me that Mastodon (more popular and older software than Lemmy) would have such a glaring issue.
Wouldn’t that be the first priority of every federated platform? For federation to work properly, because if it doesn’t, then it can’t compete with the centralized ones at all.
You’ve misidentified how a decentralized, federated network of content sharing works. Like many, many people, you seem to have conceptualized it as a hub-and-spoke model, with a centralized data store and remote terminals.
But it’s actually a subscription-based mesh network, where each update is only sent to places that have specifically requested it. Importantly, at the moment at least, things are not forwarded along to other servers due to secondary contact. If someone on my site (A) subscribes to you (B), and someone on a third website © comments on something you posted, if nobody on my website subscribes to C, C does not send that comment to my website, and your website does not forward it along, either.
There’s some buzz about forwarding replies and stuff like that possibly getting worked out. But even then, being on the fediverse means making peace with the idea that there’s no single source of truth for the whole network. You won’t see it all, ever. And it’s likely, and possibly even desirable, that the network splinters into loosely connected islands. But that can’t happen if what people keep demanding is a centralized service with a single benevolent dictator. And the single dictator will stop being benevolent at some point.
They always do.
Servers not having the same content in their “all” feeds is not a bug, it’s by design. The design philosophy for Mastodon (and I’d say the fediverse as a whole) is to let the users curate their own feeds instead of showing them everything or algorithmically guessing what they might be interested in. Servers will only receive posts from accounts that at least one of this server’s accounts is subscribed to. Having every post federate to every server even if nobody there is interested in those posts would be a waste of resources.
Yes, that makes discovery of new content significantly harder but that’s the tradeoff for being able to host your own small instance without the need for a super powerful server. I can run my instance that serves just a couple of users on a 10-year-old server that runs a dozen other things at the same time. We see the stuff we’re interested in and don’t have to spend disk space, processing power and network bandwidth on content none of us will ever read and neither do we have to spend those resources on sending our posts to other instances where nobody will read them.
The ‘All’ feed really needs to be renamed, because, yeah, it’s not ‘All’, and it will never, ever be ‘All’, as no one AP-based website knows about the existence of any other without someone manually initiating contact between them.
There is no ‘All’. There is only 'Remote content someone locally has sought out and subscribed to". Projects gotta find a more appropriate term for it.