Your notable open alternatives are Matrix or Signal. Matrix is a PITA to set up and admin and has all the issues you'd expect from a newcomer. It's fine if you like living on the bleeding edge, and has some promise, but isn't exactly "tried and true" yet and its software ecosystem is small and immature. Signal, OTOH, is only kinda, halfway, sorta, open. In both cases, your options for server software, if you don't want to step directly into "here be dragons" territory, are limited to at most two options, and options for client software aren't a ton better.
With XMPP it's easy to get a server running on dirt-cheap hardware, maybe straight from your favorite distro's official repo (you have multiple choices of mature daemons for your server), and it has tons of clients and client libraries on every platform under the sun.
Basically if you want to serve an open protocol for chat, with all the ecosystem benefits one wants from a protocol (versus an ecosystem that's, at least so far, tightly coupled to an official implementation), XMPP's your front-runner.
(I'm omitting IRC because its ideal use-cases are different from XMPP's, so they're not exactly competitors)
> I'm not entirely sure what use cases remain for XMPP in 2021 though.
So many! The first obvious use-case is federated, encrypted instant messaging. The only two alternatives are delta.chat and Matrix. Former is pretty cool (everyone has email right?) but lacks good desktop clients, latter is pretty cool (decentralized rooms, "spaces") but server-side recommended software is resource-hungry (but conduit.rs is an ongoing alternative) and client-wise there's only one client that implements all features and it's a web client which is really bad for security and reasonable resource usage (here again alternatives are coming like Nheko).
The Jabber/XMPP ecosystem is more or less advanced depending on what features are of interest to you: PubSub-based microblogging has been standard for years, audio/video used to be a disaster but the situation has greatly improved with interop between major clients... while IRC-like IM stuff has been working fine and stable for almost two decades, a timelapse during most people had time to change addresses at least three times outside of that ecosystem (IRC -> MSN/AIM -> GChat/FBChat -> Whatsapp/Signal/Telegram -> Matrix/Briar/?).
So what's relevant about modern XMPP specifically? Account portability is being worked on as part of the Snikket project, and ActivityPub interop as part of the Libervia project. The former is a complete client/server XMPP distribution for easy selfhosting (no hard fork, only friendly forks contributing upstream), the latter is a library for building native XMPP clients (frontends) more easily which pioneered federated forging (to replace Github & cie) and is currently using itself for its own development.
So not everything is perfect and shiny but XMPP ecosystem is doing good after all those years. It's pretty easy to selfhost a server and get started. I just really hope we have more cross-protocol cooperation to promote interop between the different federated networks. It's a shame that some federated ecosystems don't value interoperability as a key feature.
It's 2021, but people are still communicating online... so plenty? :)
XMPP is a great choice anywhere you want interoperable real-time communication between systems (either for person-to-person or machine-to-machine messaging). There are of course other choices as well these days, but all have trade-offs.
I believe it's the only major protocol that doesn't rely on google services for push notifications on Android and also has clients available in the app store on iOS.
So if you want to, for example, chat with people in China and avoid WeChat it's a pretty solid choice. Or if you just want to avoid google services.
That said, the clients available on iOS are lacking features you would really need in a business context. Conversations on Android is pretty good out of the box.
Believe it or not some of us still run private XMPP services so that we can communicate with our contacts in a private and secure manner....and it still just works.
> XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
runawaybottle|4 years ago
Edit: Found it:
https://github.com/ortuman/jackal#supported-specifications
Ejabberd in comparison: https://www.process-one.net/en/ejabberd/protocols/
It’s crazy how much stuff a mature xmpp server can do out of the box.
Valodim|4 years ago
Incidentally, that one is missing from jackal's list. I wonder if that means that you can't set or see users' nicknames when using it?
tschellenbach|4 years ago
I'm not entirely sure what use cases remain for XMPP in 2021 though.
handrous|4 years ago
With XMPP it's easy to get a server running on dirt-cheap hardware, maybe straight from your favorite distro's official repo (you have multiple choices of mature daemons for your server), and it has tons of clients and client libraries on every platform under the sun.
Basically if you want to serve an open protocol for chat, with all the ecosystem benefits one wants from a protocol (versus an ecosystem that's, at least so far, tightly coupled to an official implementation), XMPP's your front-runner.
(I'm omitting IRC because its ideal use-cases are different from XMPP's, so they're not exactly competitors)
southerntofu|4 years ago
So many! The first obvious use-case is federated, encrypted instant messaging. The only two alternatives are delta.chat and Matrix. Former is pretty cool (everyone has email right?) but lacks good desktop clients, latter is pretty cool (decentralized rooms, "spaces") but server-side recommended software is resource-hungry (but conduit.rs is an ongoing alternative) and client-wise there's only one client that implements all features and it's a web client which is really bad for security and reasonable resource usage (here again alternatives are coming like Nheko).
The Jabber/XMPP ecosystem is more or less advanced depending on what features are of interest to you: PubSub-based microblogging has been standard for years, audio/video used to be a disaster but the situation has greatly improved with interop between major clients... while IRC-like IM stuff has been working fine and stable for almost two decades, a timelapse during most people had time to change addresses at least three times outside of that ecosystem (IRC -> MSN/AIM -> GChat/FBChat -> Whatsapp/Signal/Telegram -> Matrix/Briar/?).
So what's relevant about modern XMPP specifically? Account portability is being worked on as part of the Snikket project, and ActivityPub interop as part of the Libervia project. The former is a complete client/server XMPP distribution for easy selfhosting (no hard fork, only friendly forks contributing upstream), the latter is a library for building native XMPP clients (frontends) more easily which pioneered federated forging (to replace Github & cie) and is currently using itself for its own development.
So not everything is perfect and shiny but XMPP ecosystem is doing good after all those years. It's pretty easy to selfhost a server and get started. I just really hope we have more cross-protocol cooperation to promote interop between the different federated networks. It's a shame that some federated ecosystems don't value interoperability as a key feature.
MattJ100|4 years ago
XMPP is a great choice anywhere you want interoperable real-time communication between systems (either for person-to-person or machine-to-machine messaging). There are of course other choices as well these days, but all have trade-offs.
catherd|4 years ago
So if you want to, for example, chat with people in China and avoid WeChat it's a pretty solid choice. Or if you just want to avoid google services.
That said, the clients available on iOS are lacking features you would really need in a business context. Conversations on Android is pretty good out of the box.
tempfs|4 years ago
How crazy is that?
throwaway894345|4 years ago
> XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
Click the link above for more detailed info
southerntofu|4 years ago