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


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
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
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.
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