Why aren't messaging apps created like email and sms, where you can send messages between multiple service providers? [closed]

Solution 1:

There is a common protocol, several in fact – a popular one being XMPP (aka Jabber); another is SIMPLE, a variant of the SIP protocol used for VoIP. (Some of the oldest ones, such as Talk, Zephyr, or Gale – even IRC – were also built with cross-domain communications in mind.) Rather, commercial services don't want to use a common protocol, both for technical and commercial reasons it seems.

Here's some historical examples of Jabber usage alone:

  • Originally, Google Talk (pre-Hangouts) was a standard XMPP service and could connect to other domains using XMPP – they even introduced the voice/video-over-XMPP extension (Jingle).
  • Originally, Facebook Chat was an XMPP-compatible service, although did not support inter-server federation (presumably so that more people would have to sign up for a Facebook account).
  • For a short while, even AOL's AIM tried to support XMPP alongside their (proprietary but partially open nevertheless) OSCAR protocol.
  • Signal is XMPP-based, but they have a blog post about the decision to not support this feature. Signal's main argument is that a federated protocol becomes very difficult to change, other than adding small features here and there. (Which is... indeed true for SMTP and DNS, for example.)

If I had to guess, because it didn't become a "killer feature" during the birth of the Internet (eventually being instead "solved" on the client side, using multiprotocol chat apps such as Trillian, Miranda, or Gaim/Pidgin), federated instant messaging missed its chance to become a core Internet protocol and instead is just considered to be another commercially-nonviable feature that a very small percentage of users care to ask for.

(IRC is contemporary with SMTP and had a massive federated network back in the day, so why didn't it become 'the' protocol? Well, its server-to-server protocols are completely unsuitable for untrusted environments, as they form a tightly-synchronized system rather than a loose mesh of independent domains. It could be made to work with purely one-to-one messaging, but IRC's focus is channels and it's not good at that.)

Finally... spam. I remember having read some mailing list threads by XMPP server operators, describing Google Talk as the main source of all spam messages by a huge margin – they didn't do a good job at dealing with abuse reports sender-side, and they were such a large provider that you can't afford to outright block it, but due to the format of chat messages vs emails (short, arriving in parts, very little metadata), it's apparently impossible to decently filter it recipient-side, either.

You can certainly install an XMPP server (ejabberd, Prosody) much like one would install an email server, and be reachable as [email protected] through anyone else's XMPP server. There are XMPP clients available for many operating systems, from Windows to Android. (Though you will have some difficulties making push notifications available, and if you don't, it will drain your battery.)