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.