s/discord/???
seems impossible
discord is one of the harder pieces of software to replace, due to:
- server costs
- network effect
- years of progress & feature development that a replacement would have to catch up to
but, replacing it is something i've thought about quite a bit and i figure i should write down what i have so that that thinking isn't entirely useless.
pieces
if your only use case is 1:1 messages, there are plenty of workable alternatives to discord, i'm partial to xmpp but there are lots of alternatives there.
the part that's unsolved, in my opinion, is servers (im going to refer to them as guilds from now on to avoid confusion with real servers). grouping forums, voice chats, text channels, etc all together in a cohesive way is why discord is as dominant and widely used as it is.
thinking about it this way makes the ideal strategy for replacing discord clearer: implement DMs and guilds separately, they are two very different problems.
DMs have to deal with:
- end-to-end-encryption
- federation
where guilds have to deal with:
- many channel types
- moderation
you might argue federation is necessary for guilds as well, but considering guilds are assumed to be owned by somebody it isn't crazy to also assume only that person's server actually needs to host it. the only part where servers need to communicate is authentication, so the server you are chatting on can confirm your identity on your server.
this is about the point where my train of thought usually ends because i definitely do not have the time to implement something like that between my other projects, but i read a post on mastodon which came to the same conclusions as me and figured it would be worth writing about to try to spread this idea.
i think the best possible outcome would be if a client could support xmpp for DMs and something else for guilds, seamlessly, using the same auth identity for both things.
existing alternatives
my opinions on existing alternatives to discord and how well they solve the problem of being able to switch off of discord, in mostly random order.
matrix
- federates, and tries to solve guilds
- very heavy weight. i tested running a conduit instance and saw it using more than half of the cpu on my little vps, at all times. this resource usage means it is more expensive / less accessible to self-host and thus more centralized. i think matrix is overcomplicating the problem of guilds and then not entirely solving the problem.
xmpp
- solves DMs and e2ee very well with OMEMO
- i don't think MUCs are a replacement for discord's guilds
- prosody is much lighter weight than a matrix homeserver, cheaper to host means more decentralization :)
signal
- similar e2ee situation as xmpp
- doesn't federate :(
- doesn't solve guilds
- i haven't used it personally
guilded
- probably solves guilds
- comes with the same problems as discord
- doesn't federate :(
revolt
- probably solves guilds (maybe not yet)
- doesn't federate :(
irc
- solves a subset of guilds
- doesn't have the same semantics as something like discord, message history is not a thing by default. ircv3 is better but still far from discord
- doesn't federate :(
steam
- could work for gaming communities, not much else
mumble
- probably solves voice chat the best out of any alternative
- otherwise seems lacking
- i haven't used it personally
i think if revolt had this kind of auth federation (where you can chat with people on other servers but the actual messaging only occurs on that other server instead of trying to replicate it to every server involved) it would likely be the solution to guilds. one can hope but i suspect it wont happen