There seems to be a serious lack of a Discord equivalent fediverse platform unlike other social media alternatives. Most of the closest options are either too overwhelming in UI/UX for majority of people coming from Discord, missing deal-breaking features like video calling or are not federated.
Could it due to some technical limitation of the ActivityPub protocol? I skimmed through its documentation and I get the impression that content may not be accommodating of instant messaging without unconventional modifications. It would also be troublesome to federate massive bunch of messages across (physical) servers in real time.
If it were truly possible to create a Discord alternative, what would it take to make it compatible with the fediverse while also ensuring it feels functional and intuitive for migrating users and not pose too much of a resource drain for self hosters?
Edit: Modified title to clarify post talking about ActivityPub in particular
Discord? UUUUGGHHHHH. For chat, XMPP already exists.
But overall, one of the issues of “why does an alternative to XYZ not exist?” is that usually, when we talk about those corporate jails, XYZ does too much for anyone to up and create a 1:1 alternative. This is valid both in and out the Fediverse. Discord is currently a chat platform, a video platform, a streaming platform, a documentation platform (ugggh), an issue tracker (UUUGHHH), an FBI / ICE honeypot, and a picture gallery.
For unreasonable people (the majority of the internet as it would seem), even lacking one of those features is somehow a “deal breaker”, when it actually makes perfect sense in terms of maintainability and independence to design and work up an alternative to characteristics such as chat or videos individually, rather than to platforms. Text chat? IRC / XMPP. Video calls? Jitsi. Picture gallery? phpgallery. Documentation? Wikis. Issue tracker? Forgejo / Chiselapp. ICE? Get Kirk’d.
So for people who create solutions for their own scale and usually without a profit or a means to operationally maintain the project, they are at a severe disadvantage that people won’t put up the effort to even learn there is an alternative. I’m guessing partly it’s because YT, TikTok and ChatGPT have turned people’s attention span to brainrot to such a degree they can’t follow a simple instruction pamphlet with pictures.
too overwhelming in UI/UX for majority of people coming from Discord
Uhhh, Discord’s user experience is one of the most chaotic fever dreams I’ve ever come across, and is a large part of what makes me want to get away from it (among many other reasons).
One of the really frustrating things about Discord is that people are using it for things that it’s not good for. Like documentation, or really anything where a new reader is looking to find a persistent source of information. Chat should be good at chat, and wikis should be easily accessible on the open web - not in an obscure digital group that has to be joined to be seen.
It’s like when people start a business and then use facebook as their “site.” No that is not a site, and you know what, I don’t want to shop there anymore either. Same energy.
There’s actually shoot.
If i understand correctly, Discord is a chat application for private and group chats. There is Matrix chat that works reasonably well as a replacement.
It’s decentralized, open source software, and i’ve used and tested it for at least a year now. It works well enough. It does not use the ActivityPub protocol though.
Mind that Matrix chat tends to private/group chats, which means they’re not typically visible to everyone else. Which means it would make little sense to try to embed them into the rest of the fediverse, which is openly accessible.
Isn’t that Matrix?
ActivityPub wouldn’t work because it’s not a messaging protocol. It’s a publishing protocol. The closest thing you have is Lemmy- where you have a server (instance) with channels (communities).
It’ll be easier to achieve something like this using SMTP (email protocol) than with ActivityPub.
Matrix and XMPP are your best bets (although XMPP doesn’t necessarily natively have video call, usually you’ll have an accompanying TURN server)
What you can do with email, xmpp and the fediverse is have the same username. It is possible for someone to make a platform which gives you one name and it accepts email, xmpp and fedi. Unfortunately, Matrix, for some strange reason uses the format of @name:server instead of the standard name@server (activitypub might use @name@server but that’s close enough and a lot of lemmy frontends don’t even care for the initial @. In reality that initial @ is probably just being used to ping them, now realising.)
Everyone complaining about matrix are just complaining about front end issues, they are absolutely fixable.
Matrix just isn’t up to it. It doesn’t function the same really. It doesn’t feel the same.
That might not be a bad thing. I hate Discord. That might come due to its usage though. It’s just not made to organize technical support.
Well yes, that’s the problem. Matrix is just used for tech/troubleshoot issues and it’s buggy as hell.
It isn’t a social experience like discord. It is a gap in the fediverse
I exclusively use Matrix for social experiences. I’m in servers and group chats for clubs, communities, and even Lemmy instances. Works great
Do you use voice chats in the same way that Discord allows you to? Can you hop in to an empty voice channel without having to initiate an end to end call?
How did you find them? How many people are in them? There’s no hub for community discovery for matrix-based communities, to my knowledge.
As I said in another comment: It seems to me a hypothetical federated Discord client needs to adopt the same model as the fediverse with community lookup functions where the discord-like instances would federate with other discord instances and be able to browse rooms, in something akin to the Discord Discovery tool.
matrix can absolutely be a social experience. check out the 196 blahaj chat: https://matrix.to/#/#196-Blahaj:chat.blahaj.zone
Its uses are few and far between. It seems to me a hypothetical federated Discord client needs to adopt the same model as the fediverse with community lookup functions where the discord-like instances would federate with other discord instances and be able to browse rooms, in something akin to the Discord Discovery tool.
Matrix just doesn’t offer that at all.
yeah content discovery sucks unfortunately :(
I do think there maybe should be better lists and indexes of stuff that shows you related content on the Fediverse.
In what ways?
Its buggy, it just doesn’t really look like Discord. It is a chore for new users to use. There’s no useful community discovery.
That sounds like a frontend issue. Not a protocol issue
Don’t go looking for a 1 to 1 drop in. That mindset won’t work much. Same case wit expecting windows to work the same as windows: they’re just different and have to be learned in their own ways.
Right, but it almost doesn’t matter because no-one is actually using matrix in the same way they might use Discord. It just isn’t being used socially for hobbies and interests and a part of that is it’s design and bugs and tedium getting set up.
You can’t choose what order channels are in, for one thing
That sounds like a frontend issue
although XMPP doesn’t necessarily natively have video call, usually you’ll have an accompanying TURN server
The same is true for Matrix and the popular Ejabberd xmpp server has a Stun/Turn server built in, which makes it even easier to setup than what you have on Matrix.
P.S.: Matrix also isn’t a messaging protocol. It is a distributed database protocol that has been abused for making a messenger with it.
P.S.: Matrix also isn’t a messaging protocol. It is a distributed database protocol that has been abused for making a messenger with it.
Harsh, but true
Right. This is why you CAN do video, audio, messaging, 3d object data, etc using the same backend servers. It does require some complexity on the dev side too because of that
What about Matrix and XMPP?
Just fyi there is matrix which is federated but it doesn’t use activity pub protocol and it’s not directly a drop in replacement discord. Voice/ video/ screen sharing aren’t quite on the same level as discord.
Discord has both private and public channels. I won’t bother considering their threaded discussion offerings, because they’re absolutely horrendous.
ActivityPub is primarily public. You have scoped visibility that enables things like private messaging, but there is no implementation that allows for federated private group discussions.
There are proposals and a few implementations, but they all rely on everybody else to implement the same proposal, otherwise messages leak out, and that defeats the entire assumption of the private group.
It’s not an unsolvable problem, merely one that hasn’t been successfully solved yet.
As for whether AP is a good fit… It’ll work. At the end of the day you’re exchanging messages. Whether they’re long form or chat messages makes little difference.
I think the reason why Matrix doesn’t use AP is mostly to draw a clear line between public and private activity. Because if you use one protocol for both, the temptation is high to mix them and that leads to unclean implementations which leak messages. I think it should stay divided.
It’s totally possible to make a true 1-1 competitor to Discord but no one has done it yet.
Nextcloud Talk is probably the closest thing with federation. But Nextcloud is notoriously complicated to host. And for some reason super unpopular outside of Europe.
Stoat (formerly Revolt) is very close, both in functionality and UI. But is not federated (and has no plans to) and for some reason not very popular. Also doesn’t come with the wealth of configuration and moderation tools that Discord does.
Matrix works but it’s super slow, bug-ridden, and complicated to use.
Zulip is similar but I’ve used it fairly extensively and still have no idea WTF is happening. Also not federated.
Of course there’s always IRC and whatever other ancient comms tools that still work fine but are very dated and lack functionality.
matrix is only slow if you use the synapse homeserver.
I don’t use the Synapse home server and it’s still very slow.
Nextcloud talk has federation?
sho does
I had no idea… How is it used? Can I sign in with a fediverse client app using a Nextcloud account and start commenting on stuff?
Federated does not mean ActivityPub. They federate with each other using (presumably) their own protocol but I don’t actually know.
The Stoat development cycle is really, really slow. This is why it’s just fallen away.
I’ve barely ever used Discord, I’m not entirely sure I understand how it works, because individuals host their own servers? “Join my Discord server.” So, Discord as a business provides software and…user account brokerage? In terms of functionality, it does basically what an IM client/forum engine and Ventrilo did?
A discord “sever” is a community space running on Discord’s servers. There are forum areas managed by the community owner, including permant voice/video channels, DMs and group chats are enabled through shared community involvement or direct friend requests but otherwise external to the communities management. Moderation is handled on per community basis barring servwr ToS violations.
Is Discord social media? Social sure, but not media really.
It always seemed to be more a live communication/chat app to me.Many people use it as forums.
which tbh is a bad idea from the start
I didn’t say it isn’t. I much rather use traditional forums that are indexed on searchers.
Except it’s completely gated behind Discord corporate servers, unsearchable outside of Discord, and all ownership lies with… you guessed it, Discord.
But oooh aah Nitro…












