It's not that simple. Many doesn't know about omemo, jingle, etc, when it comes to xmpp. Or xmpp bridges like biboumi.
Matrix is is doing the same thing, but on differrent - and way more complicated - infrastructure ideas.
Prosody is definitely much simpler to configure, even with multiple domains, especially when per domain specific setting are needed.
So you can't just say, let's use XMPP. You have to be very specific and make sure people use the right versions.
You can say that Prosody is easy. I don't find the following list easy: https://prosody.im/doc/modules
And you probably need 'Component "conference.example.org" "muc"' for any kind of 'room' support.
The the next question, does prosody have the equivent of federated rooms in matrix. Here is a list of XMPP extensions in the documentation: https://www.prosody.im/doc/xeplist
I guess the answer is, there are no federated rooms in prosody.
Another question is whether it is possible to send someone an XMPP message when that person is offline. I have no idea how to search for that.
I guess newer Prosody supports this and much more out of the box but the generic configuration instructions I used are here: https://serverfault.com/questions/835635/what-prosody-module...
> The problem with omemo, jingle, etc. is that you have makes sure that the XMPP components you use support them. It would be fine if all popular implementations support those features, but that's not the case.
Isn't this also the case with Matrix that no implementations except the official ones support E2E encryption?
This isn't true. There are independent working E2E implementations in weechat-matrix and pantalaimon (python-nio), nheko (mtxclient), and even a read-only one in purple-matrix. Meanwhile lots of independent apps build on the official SDKs (e.g. Seaglass on macOS, bots like Matrix-Recorder, the various Riot forks, etc)
In Matrix, clients are supposed to implement the full Client-Server API. If a client leaves out e2e then it cannot claim to implement the matrix protocol.
Given that 1.0 of the full matrix protocol was published only a few days ago, it makes sense that anything other than the official implementations are behind. E2e in the official implementation is not that old either.
Even the official implementations need some work to be useful. For example, cross device signing is not there yet.
A general purpose project to provide all clients with E2E encryption is being developed (and is usable right now): https://github.com/matrix-org/pantalaimon
Right now it runs as a daemon on a user's local machine.
I too ran an XMPP server for years, used plaintext and OTR, it was nice.
This was in the days before everyone had tablets, phones and laptops. I used ChatSecure (formerly Gibberbot) on my phone and Pidgin on my PC.
OMEMO wasn't invented then and nobody else had the double ratchet so I had to just deal with the fact there wasn't multi device support and E2E.
Google and Facebook both offered XMPP bridges too. Google and Facebook have discontinued such services. Voice/Video never worked with them and file transfer with Pidgin never worked with Google Talk.
Now in today's world, how am I seriously going to convince my friends to use XMPP when they will say, can we use camera/video, oh do we have group E2E too?
Am I seriously going to say "lets use this XMPP client for chatting in text because it supports OMEMO, and lets use this other client because now we want to have a video call?".. What am I going to do when they're on Android?. Conversations.im is nice, but there's no voice/video with that.
The problem simply is there's no reference client that does everything. Many of the clients are ancient fugly GTK clients, and if they do Jingle it's only on Linux (Pidgin, Gajim, Telepathy based etc)
* https://en.wikipedia.org/wiki/Jingle_(protocol)
* https://en.wikipedia.org/wiki/Comparison_of_instant_messagin...
If we all use different clients for different things how am I supposed to say "Mom you click here to do that".
Then you do have some promising clients like Coy.im that look nice. And they've said NOPE NO OMEMO HERE. https://github.com/coyim/coyim/issues/233#issuecomment-21200...
Oh you can have video here, but no OMEMO https://github.com/jitsi/jitsi/issues/199#issuecomment-17017...
If Conversations offered voice/video, that would have been a different story.
That said, self hosting matrix seems to be similarly hard to execute at this point in time - simply too many opaque and moving components on the server side.
The riot client is also incredibly slow for my taste.