From a networking perspective, does the Fediverse strike anyone else as "optimistic"?

freamon@endlesstalk.org to Fediverse@lemmy.world – 98 points –

Usually, when you open a website, that site might be pulling live data from somewhere, but it's from a database on the same server. If you click a Fediverse link, and no-one else from your instance has already done so, it seems like your instance has to contact a remote site, pull the data and render it, in the same timeframe it would have to do so with local data.

To illustrate with some possibly-new-to-you examples:
!cyberpunk@lemmy.villa-straylight.social
!badrealestate@feddit.uk
!sideoftheroad@possumpat.io
!todayilearned@chat.maiion.com
!rpgmemes@ttrpg.network
!grenoble@jlai.lu
!relationshipmemes@lemmyis.fun

What's your experience like clicking these? Does it go through first time?
I realize they'll be people for whom these work first time no problem, and they'll wonder what I'm complaining about. I'm not really complaining about anything really, I'm just wondering if my instinctive reaction has any validity.

31

I'm on lemmyworld and all worked fine for me.

Also, some were great, so I subscribed. Thanks for sharing!

Also, some were great, so I subscribed. Thanks for sharing!

That wasn't my primary intention, but they were all taken from !trendingcommunities@feddit.nl if you're looking for more.

Unintentional or not, a welcome outcome! I also appreciate the trending link.

The trending communities link is fantastic and to be honest a community I wish was a default subscription for new accounts. There is no official algorithm for "trending communities" in the Lemmy software as far as I know and the field called that in the browser is actually just "newly created communities".

My main concern is the long-term cost of compute and storage. These instances aren't going to be free, and hopefully we can build a funding model that works.

Especially since, and correct me if I am wrong, but every instance holds all of the data for all of the other instances too? (that they are federated with).

This means there is an insane amount of redundancy no? With hundreds or thousands of servers the cost would eventually become prohibitive and need to rely on only a select few large servers and thus Lemmy doesn't 'solve' the issue it tries to in that sense.

Or, maybe it's only the bandwidth that becomes an issue and the data storage is actually minimal. If that's the case I can see more how a smaller server could afford to be part of the ecosystem. Perhaps also down the line if not already there could be a cut off point for historical data to avoid bloat.

Especially since, and correct me if I am wrong, but every instance holds all of the data for all of the other instances too? (that they are federated with).

Just the text I think. It's not nothing, but if you upload an image to your instance as part of a post, the text is copied to my instance, but with just a link to the image, so it could be worse.

Ahhh, ok that makes far more sense actually then. Text alone isn't too bad especially if there are some optimisations available along the way.

To put this into perspective. Wikipedia text only is under 100gb uncompressed.

Wikipedia isn't a social platform. I suspect that their text growth was log(n) or something of the like. The only new text are things that are literally new or updates.

Lemmy has no cap there. The amount of new text will grow in some proportion to the user base. The more users and more instances, the more text. To say nothing of duplication from cross posting when you get wonky cuts in the federation connections.

None of this is free and it's going to be a problem if Lemmy grows.

not all the data afaik, but all the data for subs that it’s users are subscribed to

I recently started a Kbin account and noticed that a few of the communities I searched:

  1. were empty, and
  2. had, in their info, the claim that they had started right when I searched them.

Which tells me that the Kbin instance only stores local information about a community after the first of its members searches that community.

You got it.

This is a limitation of the ActivityPub protocol so similar kinds of behaviour / problems shows up in mastodon, etc as well. Until someone subscribes, it doesn't exist locally and posts don't start to flow unless there is a subscriber.

Until someone subscribes, it doesn’t exist locally and posts don’t start to flow unless there is a subscriber.

So does this mean that if I'm browsing "All" I'm not actually seeing "All" but "All from the communities/instances members of my instance subscribe to"?

Yes

That explains a lot, then. When I was on Vlemmy before it was deleted "All" seemed a lot more populated, now I moved to a smaller instance and it seems a lot more repetitive.

It's a shame it works that way since everyone says the "ideal" is a ton of small instances rather than big ones.

Thanks for the clarification!

Neither more nor less optimistic than the pre-Facebook days of Usenet/Alternet, and E-mail.

Federation works, if you can keep it.

I sent emails pre-Facebook. If anything, they were more reliable then than they are now.

All of the links work fine except the 6th one, that resulted in an error.

Edit: loading it a second time works

Edit 2: It seems like my instance's version is out of date compared to viewing it from another instance. Seems like no one from my instance subscribed to it.

What you've described is exactly how it's supposed to work. Once a user has subscribed to an external community from your instance, it should load immediately for any users afterwards.

I realize this. How well it works for User 2 isn't super-relevant for User 1's experience. And if you're from a small instance, you'll always be User 1. To me, it seems like the answer to if the page will successfully load for User 1 is 'maybe', and I guess I was questioning whether this is good enough.

I see, well I guess the real question is whether it can be improved at the server/protocol level and my answer is I don't know. There's some handshaking that clearly has to occur between your instance and the other instance to load the initial community state and I don't know where that process can be optimized. I think I've seen people mention tools that have been created to automatically subscribe a dummy account on your instance to all the communities on the largest instances to kind of bootstrap the process for other users, but I don't have a link to such a tool handy.

Edit, and there's never going to be a guarantee that your server can talk to their server until you try clicking the link because the other server could be overloaded, down, or blocking your server.

I think I’ve seen people mention tools that have been created to automatically subscribe a dummy account on your instance to all the communities on the largest instances to kind of bootstrap the process for other users, but I don’t have a link to such a tool handy

They have a bot at lemmings.world that subs to the most popular communities. It's mostly to benefit their 'All' feed I think, but I imagine it's good for this circumstance too.

On a smaller instance, the first link didn't work for me :(

Nevermind, sync didn't recognize the rest of the url

They all loaded for me, but cyberpunk had a loading icon for 20 seconds (I guess while it was getting that information from the server).

What is convenience worth for you? What if you can’t have all the things?

Do I seem entitled? That wasn't my intention. I even made a point of saying I wasn't complaining. I just have one eyebrow raised, and was wondering if I should pop it back down again.

It fails to easily open from an instance that has never seen those communities before. You have to connect to them using the search then it pulls the post history (but not the comment history)