It’s the issues with XMPP’s spec: you don’t just use XMPP, you use XMPP + your favorite optional spec implementations.
If your friends aren’t on the same server/client combo then you won’t be able to communicate with them (effectively).
I loved XMPP, still do, but haven’t used it in years. If it were to get a single, matrix-style “spec release” (think an aggregation of existing features into one collection) that contains/requires a bunch of modern chat features I’ve come to expect from programs, then I could see it potentially having a resurgence.
I like this reddit comment’s explanation:
As someone said before, compare it to E-Mail.
Matrix ~ smtp/pop3/imap (protocol layer)
synapse ~ sendmail/postfix/dovecot/exchange/… (server)
element, fluffy, … ~ thunderbird, outlook, pine, elm, … (clients)
Everyone can host it’s own server and have it’s on private chat cloud. Thats like E-Mail and other opensource chat servers like Rocket.Chat, Mattermost and so on.
But like for E-Mail, it is easy possible to federate with others (like mail: “talk” to other mailservers), to be able to chat with people on other Matrix Servers. That’s the difference to most of the other opensource chat.servers, which are stuck to their cloud.
As for EMail: Choose your best weapon, will say, client or server software. The protocol is free and will stay free. At this time, there’s mainly synapse as the reference implementation from matrix.org and upcoming dendrite, but more servers will be available in future I think. At client side, theres element as the reference implementation and also some others, for example fluffy.chat.
Another cool feature ist bridging. The protocol specification allows bridges to other chat-systems, so you are for example able to talk to IRC-Servers or XMPP-Servers too. Many bridges are in development, less are stable. But more to come in future.
Matrix.org is “outsourced” from university and responsble for developing the specs. They are the big brain behind. They also server matrix.org as free service for people to test matrix or use it without having their own servers.
Element.io is also an outsourced company, which is developing element (reference clients). They are also selling hosted solutions to get money to the project.
Both are under the roof of the new Vector limited.
Because the Api is free, everyone can produce own servers an clients and (in theory) no one can take the whole network over. (in practice: if a big company does its own “cool” non open addons and has enough users, the same shit as for xmpp and WhatsApp could happen…)
Because everyone can host its own servers *and* optionally federate, the same product can be used for high secure private chat-clouds, for example in hostpital, military, schools, whatever, but it can also be uses to talk everyone like e-mail or phone. *And* no one has the masterhost, so no one has all data and no one can change the rules overnight to get money, more data or whatever.
From functional side: Matrix is what some people call “modern”, it has text chat, you can send files, you can do voice- and video-calls (in element: 1:1, for groups with jisi as backend) and send voice-messages (at least in fluffy.chat, upcoming in element also). You can also plugin things like etherpad or BigBluButton and send cute stickers if needed. You can structure your contacts with “spaces” (beta).
Element got better and better in the last year and is imho very easy to use for now, but with some last edges. Fluffy is somewhat easier some users as far as I’ve heared but not feature complete.
I hope, Matrix will be the E-Mail-Version of Chat in the future. I have reviewed some systems for my university and it was the only one from which I think it has the potential to do so. So, give it a try. It’s great.