this post was submitted on 06 Aug 2023
111 points (99.1% liked)

Fediverse

28481 readers
716 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 [email protected]!

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 2 years 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:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

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.

all 33 comments
sorted by: hot top controversial new old
[–] [email protected] 34 points 1 year ago

Wouldn't that be lazy loading, not optimistic?

[–] [email protected] 32 points 1 year ago (1 children)

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

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

[–] freamon 15 points 1 year ago (1 children)

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

That wasn't my primary intention, but they were all taken from [email protected] if you're looking for more.

[–] [email protected] 9 points 1 year ago (1 children)

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

[–] [email protected] 4 points 1 year ago

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

[–] [email protected] 18 points 1 year ago (1 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.

[–] [email protected] 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 18 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.

[–] [email protected] 4 points 1 year ago (1 children)

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

[–] [email protected] 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.

[–] [email protected] 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.

[–] [email protected] 2 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.

[–] [email protected] 3 points 1 year ago

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

[–] [email protected] 14 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.

[–] [email protected] 17 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.

[–] [email protected] 3 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"?

[–] [email protected] 5 points 1 year ago (1 children)
[–] [email protected] 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!

[–] [email protected] 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.

[–] [email protected] 13 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 5 points 1 year ago

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

[–] [email protected] 8 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 7 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.

[–] [email protected] 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 4 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.

[–] [email protected] 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

[–] [email protected] 8 points 1 year ago

I'm fine with things not always loading immediately

[–] [email protected] 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).

[–] [email protected] 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)

[–] [email protected] 2 points 1 year ago (1 children)

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

[–] freamon 6 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.