The Plethora of Messaging Services

Date:2016-09-03
Abstract:There are many messaging services. Most share a lot of common ground but differ in fundamental ways. For each task there are multiple options, but no solution solves all the problems. The direction is towards walled gardens which are not compatible with each other because of profit.

There are just too many channels one can communicate over. This should be a good thing: More choices, no dependence on a single vendor. In theory this is true. The problem are the incompatibilities between the different services.

With email, I have a specified protocol (with all its flaws) and can use whatever email provider I want. With a single email address, I can contact everybody who uses email.

The current plethora of messaging apps works in a different way. Most use the phone number as the unique identifier. But you cannot communicate with people using different apps. So you basically have the following choices:

  • Ignore all the different messaging apps. Use something open like email instead. Miss out on casual chats with other people.
  • Use the most popular app (currently WhatsApp apparently) and be ignorant about all the other ones. People who do not use the app of your choice just have bad luck.
  • Use all the different services simultaneously. Install ten apps on your phone, bookmark a bunch of websites on your computer. Remember which conversation was on which channel.

Each option has drawbacks. I used to go the first route. Currently I take the third one.

Choosing the Right App

Going the third route means that before doing anything, I must choose which service to use.

For instance for real time chat my preferences are the following:

  1. Telegram (has a nice desktop client)
  2. WhatsApp (has a somewhat usable web interface, a lot of people on this service)
  3. Signal
  4. Text message (costs money beyond my monthly contingency)
  5. Hangouts (few users)
  6. Skype (most people only have it installed on their computer, hard to reach people fast with it, software is really bloated)
  7. Wire (no users)

I have a bias towards Telegram just because it works nicer on the desktop. Other than that I think WhatsApp currently has a few nice features that Telegram lacks:

  • Ability to archive chats
  • End-to-end encryption by default, even in group chats
  • Broadcast

Signal has some of those advantages over Telegram as well. Also Signal is open source which is another plus.

When doing a group chat, the priorities are pretty much the same.

  1. Telegram
  2. WhatsApp
  3. Slack
  4. Signal
  5. Hangouts
  6. Skype
  7. Email mailing list
  8. Forums software

The only new options are mailing lists. Those are nice for technical communities and allow to have multiple threads open at the same time. This is not possible with all those messaging apps where the messages are just one linear stream. I dislike that for anything serious because you quickly loose track of older messages.

A voice call has a plethora of options again:

  1. Cellular (can use my headset, costs)
  2. Landline (free within Germany, great quality, cannot use my headset)
  3. WhatsApp (encrypted, free, there is some echo)
  4. Telegram
  5. Signal (encrypted, free)
  6. Skype (a lot of people have this for calls)
  7. Hangouts (decent quality)
  8. Wire (some echo also)

The ultimate variant would be to change my mobile phone contract to have an unlimited calling plan. Then I could always use my headset and would not have to worry about the costs.

Doing a video call is not possible without going over the internet. So there my favorites are:

  1. WhatsApp
  2. Duo (dead simple to use)
  3. Hangouts (supports group video chats, a bit harder to set up as the account name is not just a phone number)
  4. Skype (many people have it installed, does not support group video calls any more)

For sending large files I have those options:

  1. Telegram
  2. Email
  3. Upload to server or one-click-hoster, send link

Sending via email is limited to say 20 MB. Telegram supports up to 1.5 GB per file and is really nice to use. As many people only use it on their phone, one needs to send it to a service people actually use on their desktop.

Reasons for the Plethora

Although I would love to see some unified service, I don’t think it is going to happen any time soon. There are a few decisions that make it a “go” or “no go” in certain situations.

Contact discovery

For instance the contact discovery: With email, you have to ask people for their email address. With XMPP, you have to ask them for their account. But with WhatsApp, it just works, assuming you already have the phone number. This is awesome as one does not need to ask everybody about their username again.

When I was in high school, services like “Yahoo! Messenger” and “ICQ” were popular. There you would choose some screen name or get assigned a random number. This was unique to the service. If you had somebody’s email address or phone number, you could not simply chat with them.

This can be thought as a disadvantage. Is meant that I had to keep track of various people’s screen names, which for some reason changed every couple months …. But it also meant that I could easily get a second account representing a different persona.

Tying things to the phone number is also bad as I have to enable somebody to wake me up in the middle of the night with a phone call just in order to let them write messages on WhatsApp with me. The account image I have on WhatsApp is shared with everybody. I cannot have a too funky images as that would appear strange to some contacts. Also a photo in a business suit is not the right thing for a casual conversation with friends.

It is therefore a fundamental decision whether the phone number is the identifier or not. Therefore you already have two these groups:

Phone number Email address Something else
  • Cellular
  • Duo
  • Landline
  • Signal
  • Telegram
  • WhatsApp
  • (Wire)
  • Email
  • Hangouts
  • Wire
  • AOL Messenger
  • ICQ
  • Skype
  • Slack
  • (Telegram)
  • XMPP
  • Yahoo! Messenger

Entries in parentheses are alternate identification modes.

In a professional setting, the first column is probably not the best idea if you have a casual status and profile picture. Since those group of messengers work as an text message replacement, one can still use those professionally.

Since most people only have one phone number, those messengers cannot be used when you are not willing to give people your phone number. Such a situation can occur when you want to have a chat with people on the internet. The Fedora developer mailing list is such a place. Everybody can read the mailing list. If I was to post my phone number there, everybody in the world could basically call me at night.

Bundling the account with the phone number also poses problems for those who do not use a smartphone. What about tablet users? Can they still use the service when they receive a confirmation text message on the feature phone? With Telegram, this is possible. WhatsApp and Signal cannot be installed on a Tablet without a SIM card. So this also feeds into the decision process.

Profit

Another thing is that it can be profitable when people use your platform. So it makes sense to replicate a platform almost identically. This is sad from a technological standpoint but completely reasonable from a business standpoint.

So we can again group the various services in a different way:

Donations Something User pays money Mixed
  • Signal
  • Telegram
  • Allo
  • AOL Messenger
  • Duo
  • Hangouts
  • ICQ
  • Skype
  • WhatsApp
  • Wire
  • Yahoo! Messenger
  • Cellular
  • Landline
  • Email
  • Slack
  • XMPP

Desktop or Mobile?

Then the whole list can be grouped by usability on desktop and on mobile devices:

Desktop best Both good Mobile best
  • Landline
  • Skype
  • Email
  • Hangouts
  • ICQ
  • Slack
  • Telegram
  • Wire
  • XMPP
  • Allo
  • Cellular
  • Duo
  • Signal
  • WhatsApp

One can see that services can work well on both classes of devices. Actually I propose that a good and free protocol can be used well everywhere. If there is not a decent client for it, people will eventually develop it.

Conclusion

So for each of the services, I have an “excuse” why I have it:

App Reasons Disadvantages
Cellular
  • Can use my headset
  • Decent voice quality
  • Works almost everywhere
  • Costs money, especially internationally
  • Text messages are limited to 160 characters
  • No option to send files
Duo
  • Frictionless contact discovery
  • Easy to set up, uses phone numbers
  • No group video chats
Email
  • Multiple accounts easily possible
  • Suitable for professional communication
  • Needed to create user accounts on the internet
  • People often do full-quotes when not needed
  • Sending large files is not really possible
  • Encryption with OpenPGP or S/MIME is very hard to use
Hangouts
  • Video chats in groups possible
  • Contact discovery is hard
  • Video chat on Linux only with Chromium or plugin
  • Allegedly slow with many groups
Landline
  • Best voice quality, even with VoIP
  • Included in internet plan to call landline numbers
  • Can only call landline numbers for free
  • My headset seems go have wrong impedance, need to hold earpiece to my head constantly
Signal
  • More privacy than WhatsApp
  • Encrypted voice call
  • Chats can be archived
  • End-to-end encryption by default
  • Chrome app works but is not as polished as the Android app
  • Not used by many
  • Needs a smartphone
  • When opening a chat, the very last message is shown. This is annoying when there are more than a screen full of new messages.
Skype
  • People have it installed
  • Voice call with multiple people
  • Android app is really sluggish
  • Online status does not make any sense on mobiles, just says “online” all day
  • Group video chats are now a premium feature
  • Linux support is neglected
Slack
  • Team communication
  • Global history available
  • Thread support
  • Multiple topic rooms quickly set up
  • No native app, only Electron app
Telegram
  • Frictionless contact discovery
  • Convenient web interface, good desktop client
  • Large file support
  • Self-destruct of messages to prevent stealing of messages from stolen phone
  • Ability to set a username, keeps phone number private (?)
  • A couple of groups that I like to follow are on Telegram
  • Somewhat dubious encryption scheme
  • No way to get in touch with the operators of the service
  • End-to-end encryption not usable with multiple clients
  • Web interface constantly causes system load
  • All data is stored in the cloud, if somebody gains access he/she can read all the past messages.
WhatsApp
  • Frictionless contact discovery
  • Most people use it
  • Encrypted voice and video call
  • Chats can be archived
  • End-to-end encryption by default
  • Web client takes ages to connect
  • Web client breaks the end-to-end encryption
  • Cannot send arbitrary files
  • Needs a smartphone
  • Silenced chats still create pop-up notifications
Wire
  • Video chats with HTML5 in the browser
  • Small user base

The apps that I could ditch easiest would be Duo, Hangouts, Signal, and Wire. Skype is needed for voice conferences which occasionally happen while gaming. Telegram is “needed” to stay in contact with people that do not have a smartphone. Then WhatsApp is “needed” for a couple of groups where the users only have that service.

Taking the purist stance of only using email, XMPP, and perhaps the cellular network are impractical and expensive. Taking the path of least resistance means to use all those messaging apps. Bringing a lot of people to one particular (libre) service is not really possible in my personal life, there are too many dependencies. So I stopped wasting my power on being a missionary.

In a business setting everything changes. There the security of your business ideas is a major concern. Also you have the power to mandate certain communication services. Having a company wide XMPP service would certainly possible and could make sense.

Although I dislike the feudal structure of today’s messaging services, I think I cannot really do anything about that :-/.