Methylene Blue

How to choose a messaging platform?

Introduction

Finding an messaging application to communicate with your family, friends and other acquaintances might be difficult. It depends on your needs, whether you mind stepping out of your comfort zone, your threat modeling, etc.

Personally, my criterias are the following one:

  1. Ideally, open source, because it allows more transparency and quick fixes.
  2. Speed is essentiel: one second to send a message is okay, but not five or above (in the best conditions of course).

SMS

Simple enough, but you need a flat fee. For some reasons, I can’t send MMS when on Wi-Fi only. You can’t create groups, and if you communicate with someone abroad, you may have to pay fees. Clearly not ideal, so I add a third criteria:

  1. The application should allow you to communicate with anyone from any country without constraints.

WhatsApp

Probably the most popular app that respects the third criteria.

It requires your phone number. It has encryption, but the keys are held by Meta Inc., and your messages still transits to their servers. Moreover, WhatsApp collects a lot of information.

One notable detail, which won’t affect everyone : on Android, WhatsApp requires Google Services for notifications. As I disabled it, I sometimes don’t get push notifications, even when allowing the app to run in background. So most of the time I have to open it to read new messages that haven’t appeared.

All of these flaws apply to Messenger as well.

Discord

Discord has too many problems. In short, it collects much more data than necessary, can ban your account for no reason, and adds questionable features that slow down your device.

And recently, Discord, who pretended to be against advertisements, is planning to add sponsored ads (archive.is).

There are solid alternatives such as Mumble (didn’t use it much, but at least audio quality was far better), Matrix and Revolt.

If you still need to use Discord, prefer using a client that blocks trackers, like ArmCord (desktop) and Aliucord (Android). These clients allow you to install mods as well, and, in theory, don’t respect Discord’s ToS. In practice, I got no problem with them and haven’t been banned.

The issues with data collection leads me to another requirement:

  1. The application should respect my privacy. If I’m not easy when someone listens to my private conversation with a friend in real life, then I don’t see why I would be by message. Therefore encryption is valued.

Signal

The most popular privacy-oriented alternative to WhatsApp. I used it for a year to chat with my friends. Honestly, it works well. The similarities with WhatsApp allow to reduce the learning curve.

However I couldn’t use it recently because I deleted the Google Services, and Signal needs them to work, otherwise you can’t sign up.

Session

A fork of Signal. The main difference is that you don’t have to enter a phone number or username. Instead, a unique id is generated for you, which allows more anonymity.

I was ready to use it, but the biggest issue I met was the slowness of message sending and reception. Even with fiber and nearby devices, messages took around ten seconds to be sent.

Molly

Another (soft) fork of Signal, with new functionnalities like passphrase encryption, so that if someone gets your phone, they cannot read your messages or know your contacts.

This app has two versions : Molly, which uses Google’s proprietary code like Signal, and Molly-FOSS, a completely free and open-source version. The last one is available on Accrescent, and works without Google Services, so I can use it freely.

It is closer to Signal, so the transition wasn’t that hard, even after using SimpleX. Closer also means compatible: you can chat with Signal users and use Signal on desktop.

SimpleX Chat

Let’s go further : no phone number, no unique id made of random numbers. SimpleX Chat (or SXC) only uses temporary ids that are different each time you connect. The website gives clear and transparent information about that, and about privacy in general.

Unlike Session, the messages are sent and received instantly. However, I din’t get any notification sound on my phone when I receive a message. I could fix that in my phone settings, but I can’t remember if this option was disabled by default. If you don’t have any push notifications, meaning you have to open the app to get them, disable the battery saver for this app.

I haven’t tried calls yet, so I can’t tell about their quality.

I use it not only to speak with friends, but also to sync texts and files between my phone and my PCs, which is more ideal than using webapps such as Pushbullet, Google Drive, etc.

In my opinion, the only considerable downside is the fact that you can’t use the same profile on multiple devices, since there is no account system. Either you connect your phone profile to your pc, which is temporary, or you create a new profile on your pc, which works very well. Speaking of profiles, creating one is very quick. So if you invite someone they won’t have to setup a whole account with a phone number or anything. Another drawback I found: for some reason you can’t download json files that you send or receive.

UPDATE: for a few days I was sending messages to a friend to hear from him, yet he wasn’t responding (he always answers quickly). I decided to call him, and he explained to me that he responded to my messages, which looked strange as I didn’t receive them. Eventually, I got them, 3 days later. The sending date confirmed his sayings.

This became a dealbreaker to me, and is the reason why I looked for another instant messaging (Molly).

Conversations

This app was my first introduction to XMPP. It requires an account, with an XMPP address. But do not worry, creating an account is fast, you’ll just need to solve a captcha with letters at the end.

It works pretty well and has a beautiful design, which is one of their first goal. One downside I found was with images. When you send one, your contact will receive it, but they have to download it to see it. And if they delete it, they won’t have access to it in the application anymore.

Another drawback: there is no fully cross-platform XMPP client. For example, to chat with an iPhone user, they have to use Monal Im or Siskin. On Linux I used Dino, as Gajim and Psi were not visually appealing to me.

You can find more clients here.

There is also Quicksy, which is like Conversations, but you create an account using your phone number. Under the hood, it creates an XMPP account like your_phone_number(at)quicksy.im.

Schildichat (Matrix)

To become a translator for Privacy Guides website, you have to join the Matrix group. I first used Element, but this article from Cadence encourage me to try Schildichat.

It works well, but I haven’t used it a lot. At least I receive notifications instantly. I am not sure I would use it with friends though.

Conclusion

Finding a messaging platform (or application in general) might be hard, so you have to dig a bit according to your needs.

If you want to have a smooth transition and (probably) convince friends to use a more private app, Signal (or Molly) is a good deal.

SimpleX is ideal if you want full anonymity, but with the issue I got, I can’t recommend it anymore.

I haven’t talked about similar services such as Jami or Briar, since I never used them.

#messaging #software #open-source

Reply to this post by email ↪