Discord has recently made a controversial decision that could be the start of long-term decline. The situation has people looking at alternatives. However, a lot of the alternatives I feel bark up the wrong tree, or are good for certain niches, but not others (i.e. I like Zulip for focused technical communities, but it’s a bad fit for social clubs). In this post, I’ll try to outline things I feel a lot of alternatives get wrong (or ideally, get right). There’s a lot of navel gazing and bikeshedding about this topic, so I’ll stick with what I think are my most notable takes.
Federation is a misfeature for hosted platforms
When it comes to decentralization, federation is a huge buzzword and selling point. It seems like in theory a good middle ground of peer-to-peer and entirely centralized. However, I think in the case of a chat platform, which hosts a community, it causes more problems than it solves. For things like the Fediverse (or its ATProto equivalent), federation makes sense because all the servers together are effectively one community, with little division between communities outside of maybe the local timeline on a server (groups never took off on the Fediverse). Your own community is well, a community of its own. It’s likely that it doesn’t need to interact with other communities. Having that possibility massively complicates things when it comes to scaling, differences in policy domains, and liability.
I think the better solution for a chat platform is to focus entirely on the standalone server use case. What people actually want out of federation (fewer apps and fewer accounts) could instead be achieved through single-sign on and a single client that supports multiple servers with the same API. You could allow communities to maintain their own sovereignty by hosting their own server. For the 99% that don’t, you could provide hosted servers, and have migration between them. This is the model Zulip uses, and I think it makes sense.
End to end encryption is another misfeature for public channels
We live in precarious times with government overreach in privacy, and encryption is becoming table stakes for many. However, for publicly joinable communities, E2EE is theatre that makes things far more complicated. You have to get E2EE just right, or it stops being secure and just becomes an obstacle instead. For a public group, it’s even more absurd, since you can just simply… join it, and the amount of people means i.e. taking screenshots is hard to pin down who leaked information. It’s not worth it for communities at a two-digit member count.
That said, E2EE is very important for small groups and one-on-one conversations. A public platform shouldn’t handle that, and for DMs and such, defer to a platform focusing on those use cases. Signal gets them right, but people have misgivings about its centralized nature. There’s room for a possible alternative there; it just won’t be with the same platform that handles communities with dozens or hundreds of people.
Voice chats are a space, not an event
Most chat platforms focus on text chat and neglect the A/V experience. What they often do is bolt on support for things like Jitsi/BigBlueButton, which provide a Zoom like meeting experience. While they do work, they’re not a good fit for social communities. Things like Zoom are built around timeboxed meetings on your calendar, not as hangout spaces.
It feels hard to explain unless you use them actively and see the communities form around them, but the difference is that a voice channel is a place. You can join in and drop out freely, without the overhead of setting up a call, and it’s easy to see what the state of it. It’s easy to just start sharing your screen or camera, and everyone can do so at the same time (unlike things like Zoom, which only allow one screen to be shared, and make it the big focal point everyone must pay attention to).
The voice chat model is probably closest to what gaming VoIP platforms like Mumble were like, with different lightweight rooms. What also gets this surprisingly right is Slack, where “huddles” effectively add lightweight voice channels associated with every text channel. Perhaps the play might be to extend Mumble into being a general chat platform, rather than adding voice channels to something else.