negative zero

We Need to Use Better Messaging Programs

2019 April 11

[messaging] [opinion] [privacy] [tech]

We currently have a myriad of messaging apps available to us, but most of them are insufficient in my opinion, for a variety of reasons. Here are my criteria for a messaging app I'll consider using.

Necessary Criteria

Free Software

We need to be using free software. Right off the bat, this takes almost all of the popular messengers out of the running.

End-to-End Encryption

End-to-end encryption (E2EE) means that messages are encrypted on one party's device, sent encrypted through the internet (or whatever network we're working with), and not decrypted until they reach the recipient(s). In other words, end-to-end encryption means that only the people involved in the conversation can read the messages in the conversation.

Contrast this with the way many apps work: encrypt data in transit, but not end-to-end. This means that the message cannot be read by someone intercepting the message, but the person (or company) running the server hosting the message can still read it. Unless you trust some company with the contents of your messages (which I don't), this is insufficient.

Now, E2EE is not necessary for public forums where anyone should be allowed to view all messages. But for private conversations, it's important to keep messages private.

Privacy Respecting

If there's a specific company developing the app or hosting all the servers, it's important that they respect their users' privacy. Facebook's messaging apps (including WhatsApp) use end-to-end encryption. Do not think for a second that this means Facebook respects its users' privacy. Just because the contents of the messages are encrypted doesn't mean the company processing them isn't analyzing the metadata associated with those messages.

Ideal (But Not Required) Criteria and Other Considerations


Decentralization is important, for a variety of reasons.

The ideal type of decentralization would be a totally peer-to-peer (P2P) messenger. This allows users to communicate directly with each other, without needing a server. This is great for when the involved parties know and trust each other, and they're all online.

It may not work as well when parties don't trust one another and may not want to identify their IP addresses, or when one of them is offline. Working with a server allows a user to hide their IP address from other users (although the server will, of course, know this IP address), and it allows for asynchronous communication. Since most text communication today happens asynchronously, we need servers.

So we can use a federated model for our servers. Examples of federated messaging protocols include XMPP/Jabber, Matrix, and of course, email. We'll talk about email here because presumably it will be the most familiar to readers.

With email, users can sign up with different email providers (like and, but because the email servers at and both use the same protocol (SMTP), they interoperate, enabling user1 to send a message to user2. Among the other benefits of decentralization, it's possible for users to move from one provider to another, without having to also force all of their contacts to move. This prevents lock-in in the way most messaging apps lock their users into their program. (Because once all your friends are there, you can't leave.)

If you can self-host, awesome. you can take direct control of your messaging. (Of course, you still have to worry about your contacts' hosts...)

Free to Use

I don't have a lot of money to spend on messaging apps. I also believe that gratis software is necessary for accessibility. If some people can't afford it, it's not accessible.

The Hidden Condition

Unfortunately, the biggest condition for people to use such apps has little to do with the quality of the software or how much it respects its users. The biggest factor in whether people will use an app or not is whether their contacts use it. There's not a whole lot of purpose in downloading or signing up for messaging apps that no one will ever use with you. This makes it extremely difficult to move off of platforms that don't respect their users' freedom and privacy, to apps that do. But it's an important change to make.