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.
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.
You’re pretty much describing Friendica. It does everything you’ve listed there (and more) except for Matrix.
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?
interoperability
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.
I am for it but only if media can be separated into different tab
It feels like they could all be part of one unified platform.
They are. It’s called the fediverse.
There’s no reason why any of these software options couldn’t support all the same stuff, as you say. But so far they have chosen not to.
Maybe another option will come along one day that supports more of it at once.
Yes please don’t try to shoehorn everything into every soft, like Spotify now have shorts and other “social media” bullshit.
There’s no reason why any of these software options couldn’t support all the same stuff, as you say. But so far they have chosen not to.
I can’t post a video using a Matrix account in a way that makes it publicly searchable, and they’re unlikely to support that in the future. In this case, I would have to create a separate account on PeerTube.
My thought is that plugin-based development could solve this issue. Even if they choose not to support a certain feature, people could simply use a plugin instead.
Matrix is not part of the fediverse, so that’s kind of a special case and doesn’t work the same at all as the rest.
What you describe sounds very simplified, but let me assure you that there is nothing simple about this problem (I say that as a software engineer that has studied ActivityPub, the protocol underlying the fediverse).
Matrix is not part of the fediverse, so that’s kind of a special case and doesn’t work the same at all as the rest.
Didn’t know about that. Is there a fediverse messager people could use?
What you describe sounds very simplified, but let me assure you that there is nothing simple about this problem (I say that as a software engineer that has studied ActivityPub, the protocol underlying the fediverse).
I’m sure the development is difficult, and I don’t mean to downplay the complexity involved. Still, I wonder if a modular or plugin-based architecture could help bridge that gap.
Xmpp is The activitypub of chatting
It sounds like that would require unifying the architecture of all fediverse platforms, which nobody is interested in and very much goes against the point (decentralization). Right now all of these platforms are written independently, with unique architectures and different programming languages.
Suffice to say that, while it’s a nice thought, what you’re proposing is not really realistic, nor is it actually desired.
I see now, thanks
Is there a fediverse messager people could use?
There is one in active development. But it doesn’t seem to be federating YET according to the description. That’s an item in the planned list, and federating with other instances of itself is marked as wip. But work is being done on that front, the latest commit on the main branch is from 4 days ago.
thanks!
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!
Each platform have different functions and is a different tool.
How do you imagine all the functions of PeerTube should fit inside Lemmy?
All the platforms are already unified. You can subscribe to a PeerTube channel from Mastodon. You can post to Lemmy communities from Mastodon. People on Pixelfed can follow you on Mastodon.
How do you see all the features of PeerTube fitting into Lemmy?
I mean, videos and text are basically just posts, right? What features couldn’t be implemented on lemmy?
All the platforms are already connected. You can follow a PeerTube channel from Mastodon. You can post in Lemmy communities from Mastodon. People on Pixelfed can follow you on Mastodon.
I haven’t seen a way to post in Lemmy communities directly from Mastodon. The bigger issue for me is that there’s no easy way to search across all these platforms. If I’m into a certain topic, I have to go hunting for it on each one separately.
Posting from Mastodon can be done by mentioning the community as if they are a user eg
@community@lemmy.instance
thanks!
The problem with fediverse now is there isn’t an easy way to search on all platforms. That troubles me a lot
This isn’t all of the fediverse but it searches a good chunk of it
My thought is that plugin-based development could solve this issue, but I could be wrong
Well, different uses would just migrate to the plugins. Don’t you have the twitter plugin? Can’t see my posts then etc.
Don’t you have the twitter plugin?
twitter plugin?
It was an example.
If you have plugins for everything, you’ll have to install them all or miss out => big ugly monolithic soft (even if the code lives in plugins).
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.
Just like the UNIX philosophy of old - Write programs that do one thing and do it well.
Yes! but still I think fediverse could benefit from plugin-based development. So it would be “Write plugin that do one thing and do it well”
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)
Well, diversity is the central idea behind the entire Fediverse… We get many different perspectives on the same content. That includes many individual instances and individual software. The opposite of that would be no diversity. One platform and one software, like Reddit or Facebook or most big commercial services. And we have projects in between, both federated and non-federated, even crypto-based, which combine many aspects into one platform.
thanks!
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.
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?”
Whether enough people want it is a different story, and most developers are stuck in the app store mentality, so it gets difficult to get enough support for this to move faster.
most developers are stuck in the app store mentality
really? the developers I know doesn’t seem to have this problem. They are all like “we should make those thing into one” I guess the opinion in this post came from them as well
There are a lot of architecture astronauts that will keep talking about “we should develop a grand-unifying system”, but most of them are all talk and little result.
When push comes to shove, the developers that actually ship are the ones that look at problem they want to solve and work on that.
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