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. The following illustrates the various paths that one can take to message some other person.
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:
- Telegram (has a nice desktop client)
- WhatsApp (has a somewhat usable web interface, a lot of people on this service)
- Text message (costs money beyond my monthly contingency)
- Hangouts (few users)
- Skype (most people only have it installed on their computer, hard to reach people fast with it, software is really bloated)
- 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
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.
- Email mailing list
- 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:
- Cellular (can use my headset, costs)
- Landline (free within Germany, great quality, cannot use my headset)
- WhatsApp (encrypted, free, there is some echo)
- Signal (encrypted, free)
- Skype (a lot of people have this for calls)
- Hangouts (decent quality)
- 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:
- Duo (dead simple to use)
- Hangouts (supports group video chats, a bit harder to set up as the account name is not just a phone number)
- Skype (many people have it installed, does not support group video calls any more)
For sending large files I have those options:
- 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.
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 - (Skype) - 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.
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:
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.
So for each of the services, I have an "excuse" why I have it:
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 :-/.