Every major company is pushing users toward its own proprietary chat service. As a result, people are often forced to create multiple accounts across different platforms to stay connected with friends, relatives, and colleagues who all use different services.
For technical people, what are the best approaches for connecting across different chat networks?
Here are some options I’ve been considering as a "main" protocol:
- IRC: While IRC still has a loyal user base, its popularity has steadily declined. It also lacks modern features like voice/video calling.
- XMPP: I don't know much about it. XMPP's community support seems less widespread compared to other alternatives.
- Matrix: Matrix offers a modern and feature-rich protocol, but it can feel heavy. Synapse, the most common home server implementation, on different occasions I've seen it to be quite slow (For example when joining a room).
My idea is to set up a server with bridges that puppet connections to various chat services, so I can manage all communication from a single place.
Is this plan feasible? Has anyone successfully implemented such setup?
I've heard great things about Matrix. Peeble's founder, Eric, was building Beeper, a chat app with a similar purpose to what you describe (it recently got acquired by Wordpress). I believe that the core was built on top of Matrix, so you might be up to something there.
What I mean by this is that if you bridge using Matrix while also chat using Matrix, to set up two accounts: one for all your bridged chats (fine to mix networks here) and one for all your actual Matrix usage. Bridge chat state can get messy in some cases and keeping it separate keeps your public account and state db "clean".