Correct me if I’m wrong. I read ActivityPub standards and dug a little into lemmy sources to understand how federation works. And I’m a bit disappointed. Every server just has a cache and the ability to fetch something from another known server. So if you start your own instance, there is no profit for the whole network until you have a significant piece of auditory (e.g. private instances or servers with no users). Are there any “balancers” to utilize these empty instances? Should we promote (or create in the first place) a way how to passively help lemmy with such fast growth?
I’ve suggested a routing protocol to the lemmy devs - to use federated instances to route all the messages to other federated instances. The idea was received with some interest, but it seems that people believe that there’s still a ton of performance that can be squeezed out from the current architecture through optimisations.
This has definitely been a problem with communities being created on the bigger instances and not utilising smaller instances. Happy for someone to say I’m wrong etc, but I think there would be merit in capping instances to x number of users or communities, to force the user base to spread out.
Also, the way signups work, (ie you find a community you like then click sign up but that signs you up to that instance), further exacerbates the issue and the confusion around how federation works. The sign up links on each instance should lead either to a page with an instance finder, or to a random instance that matches the profile of, and is already federated with, the instance you were on. Otherwise the larger instances have a monopoly and are just going to lead to a bad user experience when they can’t cope with the traffic.
It’s a self defeating prophecy if users only want to sign up to the instances with the big communities, because then everyone is going to keep creating communities there and nobody is going to want to join a smaller instance.
I might be talking nonsense and am happy to be told why that is all wrong :)
If that cap idea was to exist, it would make sense to have it based on the balance of users across the federated servers, so of there’s enough with a similar amount it raises the cap
Every server just has a cache … there is no profit for the whole network …
I wouldn’t say that caching is no profit. Yesterday there were several times when lemmy.ml was struggling or effectively down for some people, but despite complaints over there I could read lemmy.ml communities just fine through my instance. Caching meant that I was isolated from the service interruption, and the lemmy.ml server was isolated from my contribution to its load.
As I said, there is no profit from empty instances. Of course, the federation itself is good and fail-proof in this way. But if nobody asks for this cache, it’s just an Internet Archive of a sort.
It only takes one user for an instance to not be empty. Every bit of decentralisation adds resilience to the whole. But more decentralisation adds more resilience, so let’s try to spread out the communities and users.
It’s a bit worse than that actually. I’m now seeing several communities with exactly the same name that originate on different servers - so clearly Lemmy doesn’t have a rule about duplication once you cross a server boundary. That’s going to get unwieldy quite fast particularly if, I dunno, “Aww” gets popular on two separate servers at the same time - I guess I’ll have to subscribe to both…
That’s true, and the point I guess. You sub to all relevant communities and the overlap isn’t an issue because it’s different communities with different instances making content with others interacting through federation. The “subreddit” is diversified to the top communities in all of the highest subscribed instances. It’s just the nature of the beast, but once you find all the top comms it probably doesn’t seem so bad.
I don’t get argument about duplicates. The same situation was on reddit - you’ve got few, sometimes more, subs about same topic. You could subscribe to whichever you wanted. Why on Lemmy this is suddenly a problem?
I think users are still having trouble with the mental model for browsing Lemmy.
The first interaction with the service is already fragmented - you need to choose where to create an account and start browsing. Even though you can browse communities from other servers, people are now seeing them through the lens of “fragmented” “my server vs other server” and that creates the illusion that these duplicates are somehow a huge issue.
But duplicates can actually be quite useful - a community called “memes” on Lemmy.world could attend to a different audience than a community also called “Memes” but made in an instance entirely in French.
Also, if two instances have two communities you enjoy, with the same name… Subscribe to both? Nothing stops you from doing that. It’s okay. Reddit had “me_irl” and “meirl” which were the exact same, but with different mods, a relatively similar number of subscribers and quite honestly the same content. I didn’t know the actual difference between the two, and I still do not know - I just subscribed to both and kept getting depressing memes to cry before going to sleep. No issues.
Are there ways to manage lists of such? For example, on the former platform that doesn’t deserve a call out, you can do “me_irl+meirl” and aggregate both into one feed. This makes reading the (albeit potentially cross posted) content in a unified feed much easier.
Another similar point I’m having a hard time getting over is that with a centralized platform, it is easy to go to “Subject A”, and see everything on that subject. However, now I need to see “Subject A@lemmy.world”, “Subject A@lemmy.ml”, “Subject A@someother.instance”… Yes, I could subscribe to them all, but this ultimately end up creating a noisy home feed with also “Subject B@lemmy.world”, “Subject B@lemmy.ml”, “Subject C@lemmy.world”, “Subject D@lemmy.ca”, … etc. all baked into one feed, as opposed to just something focused on “Subject A”.
Lastly, discoverability leaves a lot of room for desire. Today, I’m fairly new to Lemmy, I am actively seeking out communities that I might be interested in, across multiple popular instances, and hoping that federation is enabled between the two instances. Tomorrow, I’d find that I’m subscribed to too many (see the noisy main feed issue above), and I’d remove a bunch. Next week, am I likely to go to the Join Lemmy directory to find new instances, and add “duplicate” communities from newly popular instances? I think not.
I think the long term survival of the platform (to expand beyond just us tech nerds that hate the former platform) will depend a lot on streamlining this workflow to make content discovery much more consistent. Even a simple option where a pseudo “!Community@” (with no instance) feed that aggregates all the “!Community” regardless of instance that you’ve subscribed to, might go a long way.
Discovery really has been the biggest drawback for me. The r/system combined with wikis and sidebars made it very easy to find interesting things.
That’s lacking in lemmy so far. Which, it isn’t a bad thing, barriers to entry have benefits. But from a user perspective, trying to replace reddit, the difficulty in navigating and finding things is frustrating.
But I’m coming from reddit, and they aren’t meant to be the same. The issues are part of what makes it next to impossible for what happened there to happen in a federated system. And I’m so fucking sick of corporate bullshit ruining good things . I figure that lemmy will catch up in feature parity soon enough, and there’s bound to be apps that make it easier to use at some point.
I just wish I had the resources to run a server myself.
Well, by just searching topics in the search bar you can typically find instances related to the search. You need to click the “chain” icon rather than the “federated star” icon to view the post “from your instance” and stay on your personal account.
You need to click the “chain” icon rather than the “federated star” icon to view the post “from your instance” and stay on your personal account.
Woah. I’ve been clicking the star the whole time. This may make things a looot easier.
Well one instance shouldn’t monopolize a community. If it takes a dump on one instance at least it exists elsewhere. If I want to start up my own cat community I don’t see why that’s an issue.
I agree, I don’t particularly see this as an actual issue… Nothing stops you from subscribing to both.
Just like there could be a saik0@gmail.com and a saik0@yahoo.com. Nobody is confused with emails when it comes to this… The difference is that it’s slightly more work than reddit because r/aww is one particular thing and it’s assumed we’re talking about Reddit because of it’s unique format. Here it’s just c/aww on lemmy.ml, but that’s a bit of the point of the !aww@lemmy.ml structure of naming.
I LOVE that there’s !aww@lemmy.ml and !aww@lemmy.world. Different communities ran by different groups will end up with different content. Then I can shop for the content I want myself.
Nobody can singularly own the name. I always found that to be a big problem on reddit. r/trees comes to mind, if there was an actual arborist community that want r/trees, well they were fucked. And that’s kind of jacked. This way it doesn’t matter. Just pick a different instance that doesn’t already have c/trees and post there… or better, start your own instance to host it.
I don’t know… in the future people could even start up instances of lemmy on domains like lemmy.jobs, lemmy.help or lemmy.hobby to aggregate major communities based on topics. lemmy.jobs for instance could be an instance that houses professional the arborist and the domain would make it clear the intent. Or even better… drop the lemmy all together and register jobs.social or similarly descriptive domain names.
I know we’re all a hodge-podge of domains now because a lot of us are just spinning up instance on domains we already have… but the potential is there.
Yup. I think it’s fun and it makes me explore more. Makes me check out different instances and actually actively look for things I like instead of passive doomscrolling.
This problem existed on reddit too still. You have r/games r/game r/gamers r/gamenews r/gamernews etc. All trying to do the exact same thing.
I think this comment convinced me. Because you’re right, on Reddit there were always offshoot communities that were essentially the same exact thing just of different sizes and run by different people. There’ll probably always be the “most popular” one, and then several offshoots for the same topic but perhaps a better sense of community because it’s hundreds or thousands of users vs millions or tens of millions of users.
Remembering the exact instance and community name combinations will take a little extra effort, but not significantly and subscribing negates that mostly.
The one that pissed me off a lot is the misspelling of r/politcs trying to mimic r/politics. And i messaged the mods asking why they existed and was just either oblivious or trolled with their answer of “to talk politics”.
Took me forever to realize I was subscribed to an r/mildlyinteresting and an r/mildyinteresting. Just figured they were the same thing and didn’t affect me much.
I’m not sure how this would work, but what about the concept of cross-instance communities? For users it would be a bit like a multi-reddit where you group various communities together into one aggregate list but when posting content you’d have to choose which instance it lands on. Mods would have to agree on a set of rules (and you’d have some communities split off due to differences), but otherwise it seems somewhat plausible.
That would be one way to solve the problem of every instance having a version of one specific type of community.
You are right. On the one hand, it’s kind of bad, naive distributed architecture (my day job), it could have been done much better. On the other hand, the more important point is that it demonstrates an alternative to centralized. We’ll learn a lot about usage patterns here, get new ideas, and either improve Lemmy or build something better from the ground up. Big thanks to Reddit for driving users this way to test scalability and get much better knowledge of usage.
It’s not distributed architecture as you normally think it - it’s a decentralised federation. It’s an important distinction from your typical distributed architecture app.
I just commented on this in another thread: https://lemmy.world/comment/76011
TL;DR: The server-to-client interactions on Lemmy are a lot heavier than the server-to-server interactions, so even if you’re just using your own server to interact with communities on other servers, it should still take load off of the servers you would have been using directly.
That’s news to me. I thought serverto-server interactions would be heavier since other instances will keep fetching contents from your instance once they start federating. I guess it’s better to join less populated instances instead of crowding on a single instance.
A network of (“thousands of”) servers has — like most things — pros and cons.
Some of the pros are:
- The network is more resiliant against outages. If lemmy.ml is down, all other users can still access the network.
- It’s hard to take legal action against the network or to buy it out (like Big Players™ like to do to get rid of potential competitors).
- It allows various similar or even conflicting moderation policies. The network, i.e. the infrastructure doesn’t allow or prohibit any specific opinion (the communities do).
- It allows for different ways to pay the bills: goodwill of the admin, donaitions, ads, fee or selfhosting. The latter also allows great control over the data so you control your privacy.
Some of the cons are:
- Content is replicated across servers, which increases the total amount of data stored.
- Latency and speed suffer.
- Interoperability with the wider Fediverse is less than 100%, which can create confusion and frustration.
- Discovery is more difficult.