XMPP could have been something truly great. The ejabberd project alone has been used to build WhatsApp, Nintendo's Push Notification System, Epic Games' Chat, etc. - so it does have a genuine track record of being scalable and providing value to this day.
I suspect the thing that held back its adoption for end-users (or is still holding it back) is the fragmented ecosystem and so-so open source clients with questionable inter-compatibility, i.e. you can get calls from Windows to Android to work as an end-user, but it's a rocky path.
Hopefully we can one day see the great XMPP renaissance.
> I'd wager to say the protocol/backend is the easy part.
And yet, in 2016, 9 years after the first iPhone, XMPP still struggled to provide any of the modern conveniences on the protocol level: https://gultsch.de/xmpp_2016.html (at the time most of the links marked as "solution available" were going to experimental and beta proposals)
The protocol/backend can be, and often is, as much hindrance as the clients.
iOS is not indie-dev-that-does-not-want-to-monetize-friendly and I believe this is the cause of this struggle. Siskin and Monal are iOS clients that solved the issue apparently.
Noting is "I need to spend a significunt chunk of my time for no renumeration"-friendly.
And yet there are numerous free, or pay-less-than-a-cup-of-coffee clients for many things and services, whether those are open or closed, free or paid (Ivory for Mastodon https://tapbots.com/ivory/ and Wikipedia's app come to mind).
Thanks for the tip for Siskin and Monal! Even a few years ago the situation was dire.
I believe the lack of great clients for apple platforms is due to how little the overlap is between people who see value in using a self-hosted, federated, lightweight chat system and people who want to use apple products.
thou afaik the spec does not include any provisions for direct messages (as technically it's only a group with two members), leaving the mess up to the clients.
Why could have? It is truly great. I've been running a server for my family for two years now and it has been pretty solid. If I show my friends how to get an XMPP address I also recommend them a modern client (Android: Conversations from F-Droid, iOS: Monal).
I feel like compatibility between clients is good, people just aren't used to having independent implementations anymore. It's easy to cook up your own protocol and have compatibility by being the only game in town but if you look at the bigger picture you have just created more fragmentation. We need more instant messaging standardization and XMPP serves an important role as the IETF internet standard for IM.
I've tried occasionally hosting XMPP servers for a long time and sadly I didn't have as nice of an experience client-wise as you did. Especially on Windows, where most people live, the biggest clients don't properly support video or even voice calling and OMEMO support used to be really hit or miss in a way where depending on the person I was texting I had to switch to OTR. (This is, admittedly, way better now)
Maybe the modern web-based clients like Movim are better, never got around to testing them. I'll admit that Android always was the golden platform for XMPP thanks to Conversations - as long as you stick to that on both ends it's the perfect experience.
It is sad indeed that the development of clients relies on the volunteer work of a very limited group of individuals, mostly explainable by the lack of "hype" around Jabber/XMPP.
FWIW it's been smooth-sailing for me and my non-tech family and friends for many years now. BTW, OTR is deprecated, and OMEMO just works.
Most people live on their smartphone for IM these days, at least in my circles. I have been surprised by how few people are actually interested in getting a chat app on their "real computer".
I think many people don't even realize how inter-device their IM service usage really is due to how seamless the web frontends of WhatsApp/Telegram/etc. are. Some people like to use these when working on their desktop for 8+ hours a day.
I don't witness this around me. By far, most of my "real life contacts" will only use their phone to use messaging apps, and don't use whatsapp web at all.
Since we're recommending clients, Quicksy (basically the same as Conversations) is great on Android to be close to the UX of Whatsapp, Telegram and Signal (your ID=your phone number + autodiscovery of contacts). I don't want it for myself (phone number as ID? yuk), but I think it's underrated as it seems to fit what a lot of non-techies actually want.
Both Conversations and Monal are abysmal from modern UI/UX standpoint and don’t get even close to something like Whatsapp or Telegram (and those two have lots to improve themselves)
Same can be said about desktop clients.
Time was when Google and Facebook both used XMPP (I think with official cross network support in their apps?). I also recall MSN Messenger being able to talk to Yahoo Messenger, though I'm not sure if they used XMPP for that.
Google talk was XMPP-federated for a while (but never upgraded to good practice such as using basic encryption...), and while you could connect to Messenger via an XMPP client, they never enabled federation.
I suspect the thing that held back its adoption for end-users (or is still holding it back) is the fragmented ecosystem and so-so open source clients with questionable inter-compatibility, i.e. you can get calls from Windows to Android to work as an end-user, but it's a rocky path.
Hopefully we can one day see the great XMPP renaissance.