Unifying the Fediverse
Why are there so many separate platforms in the Fediverse like Mastodon, Lemmy, PixelFed, and PeerTube? It feels like they could all be part of one unified platform.
Posts
Text, images, and videos could just be treated as posts, all with comments enabled.
- Servers that don’t want to host videos could just have a setting to turn off video uploads.
- That would let PeerTube function like Mastodon when video support isn’t needed.
Lemmy + Mastodon + PixelFed
They all do basically the same thing — let people post stuff. So why split them up?
Forums can still work like Lemmy. If you want your post in a forum, cool. If not, that’s fine too.
Matrix + Posts
- As for messaging, I think Matrix could benefit from Signal-style encryption. Each message should be encrypted with a unique key, just like Signal does.
- Add a button like “See recent posts by this user” on profiles.
- This would make it easier for people to switch over from Instagram or Facebook.
plugin-based development
I also think the Fediverse could grow faster if it were plugin-based, kind of like how Obsidian handles plugins. Development would be more modular and flexible.
- Servers could choose which plugins to enable.
- Devs could collaborate instead of reinventing the wheel across platforms like Mastodon, Lemmy, PixelFed, PeerTube, etc.
- This would create a richer, more customizable ecosystem that evolves together.
Questions
Also, just a question from someone who’s not a coder:
Why not just copy Signal’s encryption model?
Summarize
Each user can create posts (with or without a forum), follow forums, follow other users, have private chats, and join encrypted rooms.
This is just some personal rambling, so feel free to ignore it. But if any of it sounds useful, please share it with other people, especially the developers.
Why are there so many separate platforms in the Fediverse like Mastodon, Lemmy, PixelFed, and PeerTube? It feels like they could all be part of one unified platform.
Simple answer: Because people have different visions, different priorities. Expertise in different programming languages and tooling.
Why do we have three Reddit alternatives in Lemmy, Piefed, and Mbin? Why don’t all their devs work on the same project?
- The Lemmy devs are highly controversial. The other projects don’t have such issues.
- Lemmy is written in Rust, Mbin in PHP, and Piefed in Python.
- The scope is different between them. Lemmy only cares about communities. Mbin targets wider compatibility with the microblogging side of the fediverse. Piefed plans to one day add microblog support iirc, but their priorities lie elsewhere.
Some platforms care about interoperability more than others, trying to push for FEPs (basically standardization proposals for the fediverse), while others don’t. Some care about privacy even if it degrades interoperability, some believe the latter outweighs the former. Some disagree on how to implement a specific feature.
Mbin adopted Reddit’s karma system, Lemmy didn’t. Sure you could combine both of those and give the user the choice, but this reflects a difference in design philosophies. Lemmy users don’t just lack a karma system, they outright don’t want one. It’s a system which promotes karma farming, so it’s associated with the worst of Reddit. But ironically, it also encourages contributing, which is probably why kbin (Mbin’s predecessor) originally added it. The fediverse is in need of contributors over lurkers, so whether a karma system is bad or good for it depends on your perspective. And that perspective differs between the developers of these two projects.
Ultimately, sometimes projects are just born out of a dev wanting to challenge themselves by recreating something themselves. Iirc that’s how Minecraft was born, with its creator originally wanting to test his skills at an Infiniminer clone and that spiralled into the most successful game ever.
So why a separate project is started isn’t always logical even. Sometimes the dev just felt like it.I for one like Mbin but dislike Piefed and Lemmy both. But most people seem to think differently, as Mbin is the least popular of the three. There’s a lot who have sworn off Lemmy in favor of Piefed, but there’s also a lot of people who prefer sticking with Lemmy. If there was just a single option, there’s a possibility I or others might not be here today, because we don’t like the choices that single option went with.
Finally, there’s also the danger of a company acquiring the project and enshittifying it. They can’t really acquire an entire federation protocol and every software implementing it.
In the first place, the fediverse is about interoperability between different social networks. If you have just one social network, you have no use for the fediverse anymore. So your question is really more like “why do we need the fediverse?”. There’s no such thing as “unifying the fediverse”, as that’s the antithesis of the fediverse. Unifying it would undo it. The fediverse is nothing without its nature of connecting different projects together.
You right on most things. But I still have some question.
Lemmy is written in Rust, Mbin in PHP, and Piefed in Python.
Do you think there is a “best” most efficient programming language for building the program?
Mbin adopted Reddit’s karma system, Lemmy didn’t. Sure you could combine both of those and give the user the choice, but this reflects a difference in design philosophies. Lemmy users don’t just lack a karma system, they outright don’t want one. It’s a system which promotes karma farming, so it’s associated with the worst of Reddit. But ironically, it also encourages contributing, which is probably why kbin (Mbin’s predecessor) originally added it. The fediverse is in need of contributors over lurkers, so whether a karma system is bad or good for it depends on your perspective. And that perspective differs between the developers of these two projects.
What I was thinking is to implement the karma system but leave the option of enabling it to servers and users. So this one is on lemmy.
they outright don’t want one
If I’m talking sense, based on my previous opinions, I think adding a “plugin” to lemmy is a better option than building something entire new.
Finally, there’s also the danger of a company acquiring the project and enshittifying it. They can’t really acquire an entire federation protocol and every software implementing it.
I don’t think it would be a problem if the project is open source?
Do you think there is a “best” most efficient programming language for building the program?
I think that depends on how important performance is for large instances, which I don’t really know. Python has a huge advantage due to being notoriously easy to get into, even for non-programmers. This means it can find contributors much more easily, leading to faster bugfixing and feature development. But Python is also slow, which might be an issue for large instances that have a lot of work to do.
In general, barrier of entry and performance act as trade-offs to each others. If you use a language with a lower barrier of entry, it tends too come with lower performance, and vice versa. So whether there’s an ideal language depends on whether performance matters and how much it does.
barrier of entry and performance act as trade-offs to each others
Didn’t understand this before. Thank you!
Facebook. You are describing facebook.
Not everyone wants to use or host everything.
Facebook. You are describing facebook.
Forgive me, I don’t understand.
Facebook attempts to be an all-in-one everything platform for messaging, photos, video, events, marketplace, news, etc. It is a bloated, incoherent mess.
Most people actually prefer dedicated apps for different activities, with each app being better suited to the individual task.
So it would be reasonable for people to choose to enable or disable plugins. So if you don’t want to watch videos simply delete the video plugin then the program would work no different than what you desires
Most people actually prefer dedicated apps for different activities, with each app being better suited to the individual task.
I think maybe it is possible for one app to be most suited on everything? I could be wrong
Like what I have described, server should be able to turn off some features (publish video for example)
Fediverse… Fed… Federated. Unifying it would defeat the purpose. Yes, there could be a single platform, with federated hosting, but multiple platforms working with a single protocol is a good thing.
Consider the web - in the old days, it was an open platform. Then Internet Explorer got a stranglehold, and to use the web practically required using IE on Windows (many sites did not work in other browsers). Eventually we righted the ship, but now Chromium browsers are taking over, and we’re heading in a similar direction.
For the fediverse to remain open and effective, we should embrace extra platforms*. It prevents anyone getting too much control over the protocol, prevents lock-in, prevents centralization, etc.
*We should generally encourage use/development of the same protocol, though.
Thank you! I totally agree with the idea of multiple platforms now. Though it is a pain to use fediverse on a single platform / app now, but I guess this problem will be solved once fediverse is matured enough.
Mbin supports both Lemmy and Mastodon. Though I have no interest in Mastodon’s “microblogging”/Twitter-like format so I’ve never investigated that, despite being on an mbin instance myself.
I’m on mbin too. I like the UI better than Lemmy, but I do feel like it has started falling behind. Imgur image posts never load, no inline images in comments. A very annoying click action on every comment. I’m contemplating moving to Piefed…
good to know! is it possible to search Mbin post on lemmy?
I don’t see why not, but I haven’t really been looking at the origins of particular posts.
I remember using Trillian to unify my ICQ, IRC and MSN Messenger chats into one application back in the days and once the fediverse matures I wouldn’t be surprised if an alternate front end that let’s you login at multiple fediverse services and interact with them all appears.
I mean it seems to be the default way things go - “GOG, Epic, Prime? No no, Heroic!”, “You’re not booking your hotel room at the hotels website are you? You get a better price by using <site that lists a ton of hotels> instead.” and so on.Aah Trillian, that’s a name I haven’t heard in a long time!
It unified some mostly similar apps though.
Yeah, with the way the ActivityPub works right now I imagine the only working solution would be a UI Wrapper that allows you to login at all the different instances you wanna use and get a somewhat unified UI for them.
I wouldn’t be surprised if it would end up about as unified as the Microsoft 365 admin centres though. (That is, not very).The other option I can think about is if someone designs a backend database that can be used to unify multiple services run by the same admin to allow the same login for all fediverse services hosted by that admin (f.e. mastodon.world, lemmy.world, friendica.world using the same user database and requiring only a single sign on) but that wouldn’t truly solve it either if we talk about a consistent UI.
Nope hell no don’t put all your eggs in one basket, although this would be nice in a client there is fedilab that I think does this.
Yes I agree but plugin-based development isn’t exactly “put all eggs in one basket”
the problem with fediverse now is there isn’t an easy way to search on all platforms. That troubles me a lot
searxng has this you simply go to the settings preferences and enable lemmy and mastodon comments and in the engines settings there is peertube there is no pixelfed because you can’t search pixelfed without being logged in
thanks!
I am for it but only if media can be separated into different tab
could you give an example?
I haven’t spent enough effort understanding ActivityPub to come up with something coherent. But i often find myself with similar thoughts, although for me its usually focused on “would it be possible to create some kind of service-agnostic ActivityPub client?”
It would be cool to add another forum for people to organize around ideas and issues, be able to take collective actions, and organize into private groups as they see fit.
It is about the only thing that could save us from the kakistocracy, rule of the worst, we are saddled with.
About the Signal protocol: It’s end-to-end encrypted. It would not allow for the server to give you a customized feed. Also messages expire but I’m not sure if that’s to the protocol.
thanks