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.
Wouldn’t that be lazy loading, not optimistic?
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.
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.
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:
- were empty, and
- 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!
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.
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.
I’m fine with things not always loading immediately
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)