Messenger X won't fix anything

I’ve been annoyed by the state of smartphones lately, and one of the top contenders in “Most Annoying” is instant messaging. Currently, the options for instant messaging outside of communities like tech (IRC), gaming (Discord, which has a bunch of other problems), etc. is an app.
At the top of this list have been WhatsApp, iMessage, Signal, and Telegram, to name a few. What similarities do all of them have? Requiring a phone number to sign up.

It’s not just about the phone number though: In Europe, you’re almost forced to use WhatsApp to be part of a social circle. It doesn’t matter if it’s just talking to someone quickly over a text, organising meetups or catching up with an old friend: it’s all done over WhatsApp. I’m sure this applies to other regions as well, just replace WhatsApp with iMessage, for example.
The situation has gotten a bit better with the recent adoption of Signal, but even though Signal is viewed as the saviour to the mentioned services (and it is substantially better due to it being open-source and implementing an open standard, for example), it really isn’t, because it doesn’t fix the fundamental mistakes that instant messengers have had in the past years: It requires you to have a phone (and a phone number) to use it.

Requiring a phone (number) to use a messaging service is… weird. It heavily ties the act of instant messaging to a phone – and simultaneously excludes people that don’t have smartphones from the massive amount of social interactions these messengers see.
But, it doesn’t stop there. Other problems include Signal being centralized and not allowing other implementations than the official clients. You’re not allowed to spin up your own server for decentralized communication but you are being tied to the official Signal servers, making these a single point of failure. In addition, the fact that 3rd party clients are not allowed means you’re forced to accept the decisions that the developers of Signal make; may it be that you can’t set a custom status message or cryptocurrency being baked into the clients. You have no control over this and you have to eat bad decisions up, just like you have with the other messengers.

How do we solve this issue, though? What’s the correct way to ensure that the next instant messaging client doesn’t suffer the same downsides?
Contrary to what a lot might believe, it’s not another app. Instead, it requires a proper protocol to be defined, which supports at least the following features:

  • Not tied to a phone and/or a phone number
  • Minimal but feature rich enough to see wide adoption
  • Decentralized servers (possibly Peer-To-Peer)
  • End-to-end encryption
  • Allows 3rd party clients

These should be the most important ones, for the following reasons.
To support these features means being unable to be censored, keeping the user be the focus of the app (in contrast to a company), allowing a rich ecosystem of implementations with different look and feel (as well as system requirements), and not requiring users to own specific hardware to interact with other people.

To my knowledge, Matrix has been the latest (popular) attempt at this, but it’s falling short of a few things. As someone that doesn’t use the protocol enough, encryption just seems too complicated when it should be transparent and the user shouldn’t have to think about it. In addition, the only viable client I’ve seen is Element, a client heavily based on JavaScript and specifically Electron for a desktop app, which makes the client feel sluggish, especially on older hardware.
Adding to this, the only server implementation I’ve seen is written in Python and, supposedly, is very taxing to run, especially on small servers.

Matrix, so far, has been a good try, but it has fallen a bit short on some things. But, I could be wrong, and I’m open to being told better!

The state of instant messaging is not a great one and can be greatly improved upon, but it’s a big undertaking that needs multiple people to work on. And even then, adoption is not guaranteed. It’s by no means a trivial task and takes a lot of work to do, but the outcome is one that’s undoubtedly wonderful for everyone involved, creators of any kind as well as end users.

Personally, I’d love to be part of a team of people working on a better instant messaging experience, both in the technical and user sense, so if you do, please don’t hesitate to contact me.

Do you have a comment on one of my posts? Feel free to send me an E-Mail:
To participate in a public discussion, use my public inbox: ~witcher/
Please review the mail etiquette.

Posted on: September 10, 2022

Articles from blogs I read

Some OpenBSD features that aren't widely known

# Introduction In this blog post, you will learn about some OpenBSD features that can be useful, but not widespread. They often have a niche usage, but it's important to know they exist to prevent you from reinventing the wheel :) => https://www.o…

via Solene'% February 24, 2024

mwx(4), another new wi-fi driver, added to -current

Hot on the heels of qwx(4) [see earlier report], and soon after going -beta, -current has gained another new wi-fi driver - mwx(4). Claudio Jeker (claudio@) committed the import: CVSROOT: /cvs Module name: src Changes by: 2024/02/21 03:48:10 Mod…

via OpenBSD Journal February 23, 2024

Rust participates in Google Summer of Code 2024

We're writing this blog post to announce that the Rust Project will be participating in Google Summer of Code (GSoC) 2024. If you're not eligible or interested in participating in GSoC, then most of this post likely isn't relevant to you; if y…

via Rust Blog February 21, 2024

Generated by openring