9 ms·
Earlier this year, I finally took the time to revisit the state of instant messaging services. My requirements: - open source - cross-platform (linux, mac, w
by foresto 6y ago
Earlier this year, I finally took the time to revisit the state of instant messaging services. My requirements:
- open source
- cross-platform (linux, mac, windows, ios, android)
- group chats
- end-to-end encryption
- well-understood crypto ciphers & protocols
- mature enough for a reasonable expectation of security & privacy
- easy enough for most computer users
- some way to protect metadata (e.g. self-hosting)
- signup without real-world ID
- offline message delivery
I ended up choosing the Matrix network. The reference client is called Element[1] (formerly Riot). There are things I dislike about the client, but they're pretty minor compared to the benefits of the underlying protocol, and lots of alternative clients are in development[2][3].
On top of meeting my requirements, all signs indicate that development is both active and moving in the right directions. Reading the team's weekly reports and issue tracker convinced me that they are making very sound decisions.
[1]: https://element.io/ https://element.io/
[2]: https://matrix.org/clients-matrix/ https://matrix.org/clients-matrix/
[3]: https://matrix.org/clients/ https://matrix.org/clients/
Here's what I didn't like about the others:
Briar: Lacked cross-platform support and (iirc) offline messaging. Tor brings baggage that not everyone is ready to accept.
Cwtch: Not mature yet.
Jami: Very fragile code base in my experience, which was also true when was called Ring, and when it was called SFLphone. Only about 25% of the builds I've tried over the years actually worked. I was unable to determine whether it had offline messaging.
Keybase: Now owned by Zoom, which is a privacy nightmare.
Ricochet: Same problems as Briar.
RocketChat: Crypto is not mature yet.
Session: Not mature yet. Small limit on number of group chat participants.
Signal: Required phone number for signup. Required Google Play Services (aka spyware) for quite a long time. Weak cross-platform support. Some of that is finally changing, but Moxie will surely make more intolerable design decisions, and refuse to fix them for years, again.
Telegram: Homebrew crypto.
XMPP: Most clients are hard to use (or to teach others to use). Good servers are hard to find. Protocol standards are a mess. I couldn't find a real-world e2ee group chat implementation.
Everything else: Failed to meet my requirements even before I looked closely, mostly due to closed code and/or problematic corporate interests. (For example, I will not use an app from Facebook or any of its subsidiaries.)
- michaelsbradley 6y agoDid you look into Status? https://status.im/ https://status.im/ https://github.com/status-im/status-react https://github.com/status-im/status-react https://github.com/status-im/nim-status-client https://github.com/status-im/nim-status-client
- Legogris 6y agoI've been out of the loop a bit on Status recently; do you know if it's currently utilizing Matrix protocol or if it's on the roadmap? I take their partnership and $5M investment into New Vector in 2018 as an indication of such intentions. Or perhaps they're intending to just bridge Whisper and Matrix. https://matrix.org/blog/2018/01/29/status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem https://matrix.org/blog/2018/01/29/status-partners-up-with-n...
- divan 6y agoNo, that investment was for establishing good relationship. There were no attempts or discussions to marry or bridge protocols.
- Legogris 6y agoHuh. They do mention this as "potential obvious advantage" in the post I linked: > Bridging between Matrix and Whisper (Ethereum's own real-time communication protocol) - exposing all of the Matrix ecosystem into Ethereum and vice versa But maybe this is just meaningless marketing fluff and something that's effectively left to "the community".
- maqp 6y agoQuick unrelated comment from the peanut gallery: Every time any crypto-currency related messaging app is published, I think it should be mandatory to immediately explain what the currency and/or blockchain brings to the table. Is it a paid app? Does it store ciphertexts indenfinitely to the blockchain? Or public keys?