this post was submitted on 06 Aug 2023
89 points (100.0% liked)

Fediverse

28237 readers
296 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), Search Lemmy

founded 1 year ago
MODERATORS
 

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.

top 30 comments
sorted by: hot top controversial new old
[–] squirmy_wormy@lemmy.world 29 points 1 year ago

Wouldn't that be lazy loading, not optimistic?

[–] RickRussell_CA@lemmy.world 17 points 1 year ago (2 children)

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.

[–] o_oli@lemmy.world 9 points 1 year ago (2 children)

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.

[–] freamon@endlesstalk.org 12 points 1 year ago (3 children)

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.

[–] o_oli@lemmy.world 3 points 1 year ago

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.

[–] kugel7c@feddit.de 2 points 1 year ago (1 children)

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

[–] UFO64@lemmy.world 3 points 1 year ago

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.

[–] rglullis 1 points 1 year ago* (last edited 1 year ago)

And even then, the text data could eventually be stored in a content-addressed store (like IPFS or torrent files). This would mean that each instance could keep only its own data and let the redundant part in some cache.

[–] PupBiru@kbin.social 3 points 1 year ago

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

[–] rglullis 1 points 1 year ago* (last edited 1 year ago)
[–] OwenEverbinde@lemmy.myserv.one 12 points 1 year ago (1 children)

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.

[–] kglitch@kglitch.social 15 points 1 year ago (1 children)

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.

[–] pokemaster787@ani.social 2 points 1 year ago (1 children)

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"?

[–] SmashingSquid@notyour.rodeo 4 points 1 year ago (1 children)
[–] pokemaster787@ani.social 3 points 1 year ago (1 children)

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!

[–] kglitch@kglitch.social 2 points 1 year ago

Yup. You need to use a third party service like https://lemmyverse.net/communities and then subscribe.

There's no reason why this functionality can't be built into lemmy/kbin in future. It's on the feature wishlist for the lemmy/kbin clone that I'm building.

[–] solidgrue@lemmy.world 11 points 1 year ago (1 children)

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

Federation works, if you can keep it.

[–] freamon@endlesstalk.org 2 points 1 year ago

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

[–] Dumbkid@lemmy.dbzer0.com 8 points 1 year ago

I'm fine with things not always loading immediately

[–] WtfEvenIsExistence@reddthat.com 8 points 1 year ago* (last edited 1 year ago)

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.

[–] stu@lemmy.pit.ninja 7 points 1 year ago (1 children)

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.

[–] freamon@endlesstalk.org 6 points 1 year ago (2 children)

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.

[–] stu@lemmy.pit.ninja 3 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] freamon@endlesstalk.org 3 points 1 year ago (1 children)

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.

[–] 6daemonbag@lemmy.dbzer0.com 2 points 1 year ago* (last edited 1 year ago)

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

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

[–] IndefiniteBen@feddit.nl 4 points 1 year ago

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).

[–] sj_zero@lotide.fbxl.net 2 points 1 year ago

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)

[–] diffuselight@lemmy.world 2 points 1 year ago (1 children)

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

[–] freamon@endlesstalk.org 2 points 1 year ago

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.