XMPP was mostly killed by Google.
XMPP was mostly killed by Google.
They've done a few good things (Olm), and don't have to worry about backwards compatibility yet, but for the most part it seems like they're just reinventing the wheel and re-discovering problems XMPP fixed 15–20 years ago, except with a giant distributed graph protocol that doesn't scale very well (not that this matters for most people that aren't, eg. Google).
These are all things that I have on Matrix out-of-the-box and that I have some trouble getting on XMPP.
I run my own XMPP server, I have been doing it for a couple of years, but getting some modern features is very difficult, if not impossible. But with Matrix everything is quite easy.
Android has Conversations, which has pretty good XEP support. But I can count on one hand the number of desktop clients that support this, and none of them are Pidgin[0] or Adium, which are probably the two most popular desktop XMPP clients (though it's hard to know for sure). Gajim supports it but not for multi-user chats[1].
Chat history is certainly not a solved problem overall in XMPP.
>It's only not a problem with Matrix yet because they have a single client
Matrix has lots of clients, the difference is it has an official reference client that supports (almost) all the protocol's features.
[0] https://developer.pidgin.im/ticket/15653 [1] https://dev.gajim.org/gajim/gajim/issues/8036
No encryption by default. No sent and read receipt by default. User account and password hazzle. No audio chat. No video chat.
XMPP just doesn't cut it.
I think XMPP is doomed, because it doesn't enforce the things I listed, and I think it will never do so.
This process could be faster for sure, but that requires independent developers to work on implementations and to share their experience.
Because if have to look through tables and bug trackers to figure out what client/server combination I can use (and have to pester my friends to use(!)) you can't count something as "addressed" IMHO. I still use only a very basic set of features with XMPP, because in my experience attempts to get anything advanced are way to time-intensive to be worth it for the few buddies still on XMPP, and I can't really push new people onto it that way.
Let me stress this:
> production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft
That's from XEP-0363: HTTP File Upload.
Not sure this works as well elsewhere (e.g. the Matrix spec just states that it's "still evolving: the APIs are not yet frozen and this document is in places a work in progress or stale").
> WARNING: This Standards-Track document is Experimental. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. Implementation of the protocol described herein is encouraged in exploratory implementations, but production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft.
It means that there will be one client that supports this (Conversations for Android) and maybe one server supporting this (probably ejabberd). Good luck navigating the minefield :)
Meanwhile I can install Slack on multiple devices and have the same functionality everywhere :)
I was hoping to be able to adopt it for communications within my family and friends, but it did confuse me a lot. Especially on Android.
That is a huge deal. Having a de-facto reference client for all platforms with most of the features is very important. XMPP never had that. Google could have done it but they didn't.
I used XMPP for more than a decade and tried everyone else to switch, but it has always been lacking in many ways in all platforms, without a safe fallback option.
For the record, we have a working Desktop/Android client on the way, which supports file sharing, carbon, MAM, Jingle (for file transfer only so far, but voice/video is planed at some point), with unique interface, and more features to come. It is also working on web and console (TUI + CLI).
UI may need improvement, help is welcome.
https://www.goffi.org/blog/goffi/9ff9bb64-1e1f-4334-80e5-a86... and https://salut-a-toi.org/
With Mix coming, I think XMPP will become/remain pretty awesome. https://docs.ejabberd.im/tutorials/mix-010/
https://github.com/dino/dino/tree/master/xmpp-vala/src/modul...
There aren't any client's that can handle mix yet, but I think I saw something about it at Conversations GitHub.