(2023-04-07) Modern instant messaging solves non-existing problems ------------------------------------------------------------------ Alright, enough of this meta-content (posting on Gopher about Gopher), now we can talk about real stuff. Not so long ago, I was advocating that everyone should move to Matrix from whatever proprietary crap they're using right now: Discord, Slack, WhatsApp, Viber, Telegram etc. Yes, everyone with a slightest bit of intelligence understands why Matrix really is orders of magnitude better than any of those things. But I have stopped advocating for it. For everything users already got used to see in modern messengers, it just makes it more open-source, secure and distributed. Sorry, federated. That's an important difference. With a distributed system, I still would be able to connect to the KaiOS-themed Matrix room on mozilla.org when my homeserver on anonymousland.org went down. But with the federated system that Matrix is, I couldn't. And that's just the first issue with Matrix I spotted right on. Tox, for instance, doesn't have it, as it is truly distributed. Just saying. The second issue is that Matrix is just as overengineered as just about everything else these days. It works over HTTPS. With JSON transport. Sometimes even with WebSockets. That's an enormous amount of transactional overhead, parsing and transport-layer cryptography. It is, in fact, a glorified federated webchat system that makes even XMPP (which is already bloated beyond repair with all its XML) look like Gopher in comparison to Web 2.0. I can't imagine running a Matrix client on a MIDP2.0/CLDC1.1-enabled phone with GPRS-grade connectivity, 16MHz CPU and 32KB of RAM. Yes, not megabytes, but KILObytes. And let me tell you something right away, to send a message to all Internet communication protocol developers of current and future generations: if a client cannot be made to work under these specs directly with your protocol, it already sucks by default. The third, and IMO the most important issue, is that Matrix doesn't really offer anything that would facilitate its mass adoption. For noobs, any simple but reasonable argumentation like "it's just like your favorite crapssenger with all the same features, but doesn't spy on you by design" is definitely not enough for them to switch, especially that they, to support their inherent laziness, often employ the chicken-and-egg fallacy like "everyone around me doesn't use it, so why should I, who will I talk to if I join there?". For tech-savvy people, Matrix doesn't bring back simplicity and control, as no one can single-handedly recreate a basic chat app over a weekend from scratch, starting with bare TCP sockets. Security-wise, it makes life a bit easier, but that's about it, and that's nothing IRC/XMPP over TLS or Tor/I2P couldn't achieve. Speaking of XMPP, I see a stunning similarity. XMPP was initially created as a response to the most popular crapssenger of the time, the father of all crapssengers: ICQ. Its protocol was so simple though that it quickly became reverse-engineered and alternative clients appeared at the speed of light. Whoever owned ICQ (at different times, it was different companies) didn't like the situation and constantly changed the official protocol, and these changes got reverse-engineered and the loop repeated. It was a kind of an arms race between official and unofficial client developers. XMPP/Jabber protocol was aimed at creating a fully open and federated messaging platform as an alternative to ICQ - doesn't this remind you of anything? And, just like with Matrix, Jabber got much more complicated than the protocol it was rivaling. Over the time, it turned into a heap of RFCs and XEPs no one knew for sure which to implement, and caring about the userbase just shifted somewhere far away. In case you're wondering, this is the future I predict for Matrix as well. On a larger scale of things, XMPP ultimately failed, along with ICQ. Why? Well, as I said, most people are lazy. And someone very clever decided to prey on their laziness. Someone, and I don't really know who did this first, told them: "you don't need to think up your user ID or remember the one we gave you, you also don't need a password: your phone number already is both your ID and the method to authenticate you". And people really started falling into this trap, and the brave new world began. Later on, most mainstream crapssengers returned to the notion of passwords but (just think about it for a sec) as an additional security measure, and they still use your phone number as your sole ID and optionally abuse your contact list data. Even the seemingly open-sourced Signal does this, which in fact tells a lot about who might be really interested in developing this "most secure messenger in the world". See what I'm saying? Invent a problem people don't have, convince them they do have it and it really is a problem, and offer a solution for it. That's how mainstream software development has been working for at least the recent 25 years (maybe more but I don't have enough visibility on things that happened before). And even beyond software, that's how changes we don't need are imposed on us in general. So, what are my proposals instead of using inherently broken "modern messengers" and their open-source counterparts like Matrix? - use Tox if you're really concerned about privacy more than about resource consumption; - use SMS/RCS (where available) if you still want to use your phone number as the sole identifier; - use IRC (+bouncers if necessary) for team-wide or individual instant messaging and its SDCC extension for direct file sending; - use plain old good email for non-instant messaging with attachments (and, whenever you don't want to invent an ID for some other service, using your email address as an ID is _much_ more preferable to your phone number); - use SIP+ZRTP for voice/video calls over the Internet, or friggin' Jitsi Meet if you really need some Zoom-like presentation experience (although Tox also has got you covered here, it's just a browser-only alternative option); - use BitTorrent to share large files. Although, BitTorrent and other simple P2P protocols (simpler than Toxcore) and what one actually can do with them is a topic for another time. --- Luxferre --- P.S. Switching to 78-char width from now on. Will explain later why. Probably.