In my opinion, there are two big things holding Lemmy back right now:
-
Lemmy needs DIDs.
No, not dissociative identity disorder, Decentralized Identities.
The problem is that signing up on one instance locks you to that instance. If the instance goes down, so does all of your data, history, settings, etc. Sure, you can create multiple accounts, but then it's up to you to create secure, unique passwords for each and manage syncing between them. Nobody will do this for more than two instances.
Without this, people will be less willing to sign up for instances that they perceive "might not make it", and flock for the biggest ones, thus removing the benefits of federation.
This is especially bad for moderators. Currently, external communities that exist locally on defederated instances cannot be moderated by the home-instance accounts. This isn't a problem of moderation tooling, but it can be (mostly*) solved by having a single identity that can be used on any instance.
*Banning the account could create the same issue.
-
Communities need to federate too.
Just as instances can share their posts in one page, communities should be able to federate with other, similar communities. This would help to solve the problem of fragmentation and better unify the instances.
Obviously there are plenty of bugs and QoL features that could dramatically improve the usage of Lemmy, but these two things are critical to unification across decentralized services.
What do you think?
EDIT: There's been a lot (much more than I expected) of good discussion here, so thank you all for providing your opinions.
It was pointed out that there are github issues #1 and #2 addressing these points already, so I wanted to put that in the main post.
@DaughterOfMars
For #1 - ive thought about that.
My thought would be something like a small LDAP type server. Self-hostable. You make a user like [email protected] and its honored as a log in for the various fediverse stuff.
So like it could hold the subsciptions for the communities on the various threadiverse servers you connect to localy, and when you open say lemmy.ml, part of the info sent for your user would be a list of communities you are subscibed to on lemmy.ml.
If it just handles the user auth, then it could also be a user auth for other fedivers stuff too. PixelFed, and Mastodon, etc. Each service could have its own sub section of the user object's info.
You would still probably end up with a "home" instance you would use, but if that home instance becomes untenable, or goes away, then you would just pick a new instance and log in there with your [email protected] account.
Im not a good enough dev to code it, but thats my idea anyway.
You can kind of do something like this already. You are able to host a small instance of your preferred fediverse software and create an account on it. I don't know if I really like the approach or not, but it's something I've thought about recently.