I love XMPP and am hopeful for its future with what the teams behind Movim[0], and Fluux[1] are doing. It was a tremendous shame that Matrix didn't improve upon XMPP and instead did their own thing. I continuously wonder what would the XMPP ecosystem look like, if the millions of dollars of funding Matrix initially had (what a waste) went to XMPP instead?
Yeah yeah yeah. I’ve heard this for 8 years. And yet, everyone can talk a great game, no one can build a mobile client that is anywhere near the quality of any other chat platform.
And here I am, hosting a Matrix server for my family for 6 years now, with no issues and an amazing experience, from the backend to the huge variety of mobile clients, a mature Rust sdk that I can hook bots into with ease, etc.
agile-gift0262 1 minutes ago [-]
Not sure about iOS, but for Android Conversations is great
shadowgovt 4 hours ago [-]
It's because the xmpp standard is absolutely brutal. I've tried to stand up a server and the amount of configuration I had to do just to get off the ground was absolute nonsense.
It's sort of the Apache of chat protocols and that's not a compliment.
Semaphor 3 hours ago [-]
> I've tried to stand up a server and the amount of configuration I had to do
I run my own server for 2 people. Using Prosody [0] took some config but wasn’t that hard. Easier than installing Arch, harder than installing Windows ;)
Nowadays, there is also Snikket [1] by the Prosody maintainer, which is essentially an opinionated all-in-one configuration setup based on Prosody, barely any config needed.
Counter point: I ran prosody for years and changed almost nothing to the defaults.
Just like with Apache, all you need is a sane default configuration that covers the most common use cases, and I think modern XMPP servers offer that.
Semaphor 1 hours ago [-]
FWIW, I think I had to fight a bit to figure out setting everything up correctly for uploads to work. But as I said in sibling, nothing too problematic.
PunchyHamster 9 hours ago [-]
It makes sense. It's old, crufty mix of extensions, which nobody actually wants to be that modular for a chat client, because that just gets you into mess of what server/client supports
akho 8 hours ago [-]
Matrix is in the same place wrt feature mismatches. It's a quality of the problem, not of the solution. I actually think XMPP does a better, more structured job here.
neilalexander 8 hours ago [-]
XMPP leans heavily on capability negotiation and service discovery which makes it straightforward to degrade gracefully when feature mismatches occur. Matrix is significantly lacking in this regard.
shadowgovt 4 hours ago [-]
Unfortunately, some of the features that can degrade are things like "the chat is actually secure."
opan 2 hours ago [-]
I strongly prefer that with XMPP I can disable the encryption when it breaks to tell my friend I'm trapped under a boulder and bleeding out. With Matrix our chat is encrypted, I can't turn it off ever, if it stops working I can't communicate, my only option is to make a new room with encryption disabled and invite my friend hoping he sees the invite and accepts in time.
oivaksef 6 minutes ago [-]
I want to see this movie
Edit: now I can't stop thinking about correlation vs causation - you being under the boulder bleeding out at the same time XMPP encryption suddenly stops working.
Physical hardware certificate thinggy which got crushed?
tcfhgj 7 hours ago [-]
> Matrix is in the same place wrt feature mismatches.
not it isn't - still today there's no choice between incompatible room types or incompatible encryption algorithms and whatever else.
Matrix is nearly as old today as XMPP was when the Matrix project was started, and Matrix is still such a pile of shit standard that there's STILL only one server implementation and one client. That's actually not how the standard was designed; if Matrix had been a successful project, according to their own goals, the ecosystem would look a lot more like XMPP than it does.
Comparing XMPP at 11 years old to Matrix today makes it abundantly clear that the main thing Element LLC does is waste European public grant funds
tcfhgj 7 hours ago [-]
Actually, Matrix has a series of server and client implementations.
Also, imho Matrix is a better standard than xmpp, because of what PunchHamster said and the better feature set.
Of course, everyone is entitled to their own opinion :)
opan 2 hours ago [-]
I think GP was speaking hyperbolically, because most new features hit Element/Synapse first and other clients lag behind implementing them. If you care about more than the basics working, it's kind of just the illusion of choice.
zaik 8 hours ago [-]
> mess of what server/client supports
If you allow for independent implementations of the protocol this will always happen. Also, inventing another non-standard protocol creates even more incompatibility between clients and servers.
opan 2 hours ago [-]
IRC and email worked out pretty well I think.
shadowgovt 4 hours ago [-]
"Oh, I'm sorry, did you want it to work? You should have installed the 'it actually works' modules."
Working with XMPP gave me a whole new appreciation for why people keep inventing their own chat protocols. I don't think this is an unsalvageable situation, but the protocol is desperately in need of an "XMPP: the Good Parts" doc.
It was so cool when facebook, google and others used to use xmpp, at that time I used a single IM client https://adium.im
zerozerotwo 9 hours ago [-]
This used to be one of the biggest Mac open source projects. I remember they demoed project builder (before Xcode) compiling it
nunez 3 hours ago [-]
Best chat client ever. Man we had it good back then.
exe34 13 hours ago [-]
I had amsn when msn and yahoo messenger were the place everybody I knew was at.
d3Xt3r 10 hours ago [-]
I was on Miranda. It was tiny and portable (unlike Trillian) and could connect to pretty much every popular messaging service, including IRC. And in spite of being able to connect to everything, it used far lesser memory than even just a single instance of MSN and Yahoo. It was one of my go-to apps that I'd install on a freshly formatted PC back in the day.
pavo-etc 7 hours ago [-]
I have recently picked up XMPP as my agent communication layer, and its worked great. Each pi agent is given an account and wrapped in an XMPP client[0] that lets it speak to me and other agents when needed.
This has worked well since I can spin up new accounts on demand and I can use existing server software (ejabberd, perfect) and clients (Fluux, great; Conversations, okay). I've had to make a few custom modifications to each client to make agent comms a bit nicer (e.g. exposing status messages more prominently since I use that to expose current agent commands), but the XMPP layer has had pretty much everything I could have wanted.
Controlling a chat service is a bit intoxicating, I'm now using it as my notification service over a bunch of different projects.
I used Google Chat way back, its nice that the tech is still around and great as ever.
This is really neat. I've recently been watching people use custom pi harnesses and thinking of jumping in, but I was dreaming of a way to do essentially what pi-msg does so that I could drive it remotely in a more full-featured way. Thanks for sharing.
pavo-etc 2 hours ago [-]
Thanks! I had the same urge, I didn't want to be responsible for an entire GUI and communication layer but I did want to have a remotely controllable extensible harness, this was the perfect middle ground.
The benefit beyond that was having agents running on my server directly so they can do a lot of sysadmin and monitoring tasks, as well as suggesting config changes through PRs to my nix config.
dhc02 2 hours ago [-]
Letting the agents bang their heads against the wall hunting down a config fix for a random malfunctioning piece of my homelab instead of me is by far my favorite part of the AI present.
tehnoslow 6 hours ago [-]
Cool use case with the agents, hadn't thought of that
gatlin 6 hours ago [-]
Amazing! Perhaps my project here would interest you. Also do you have bonjour support?
pi-msg doesn't support bonjour, I'm running it on a nixos server (nix is the real secret ingredient of my whole setup) the xmpp server is the same machine as the agents. I'm almost always on a different network to the one where the server is. If the server goes down the agents and ejabberd are coming down simultaneously.
abound 10 hours ago [-]
I recently migrated from Google Voice to jmp.chat, which is a telephony/SMS/etc bridge to XMPP. I use Dino on my laptop, and Cheogram on my phone, and the experience has been quite nice and seamless. Next step is to host my own Prosody server and import my whole Google Voice history.
dewey 13 hours ago [-]
> Matrix reinvented the wheel as a rubber-tyred metro. On paper, it provides real benefits, such as climbing steeper inclines, which are then used to aggressively advertise and lobby local governments to buy in. But in the end, the municipality gets locked into a single vendor.
I stumble upon Matrix from time to time, but Jabber I haven't really seen anywhere in the past decade after my internet friends moved to IRC. Are there any bigger communities still using it? Back in the days Facebook Messenger was backed by it, so maybe there's still some bigger entity using it as a backbone for something?
inputmice 13 hours ago [-]
XMPP these days often gets used as a friends-and-family style messenger (Think WhatsApp, iMessage, Signal replacement) rather than something communities would use (Discord/IRC). A lot of users of XMPP are also out of the public eye. NATO, police forces and intelligence agencies use it. The community style channels are supported though and a search engine for them can be found here: https://search.jabber.network/channels/1
Semaphor 13 hours ago [-]
Yeah, I use it as a messenger for my wife and I.
opan 1 hours ago [-]
XMPP is somewhat popular on the fediverse, especially the Pleroma side. If you meet people there who want to chat elsewhere, they likely are on XMPP. Also if you have a Disroot account it comes with XMPP.
svyatoslavpavl 13 hours ago [-]
Jitsi Meet still runs on XMPP, Prosody handles the signaling. WhatsApp also started life as a patched ejabberd.
iamcalledrob 11 hours ago [-]
WhatsApp is still based on XMPP unless things have changed a lot recently.
I don't consider WA a product. I don't consider it a viable product. Post-2014/Zuckerberg. Who cares if it's XMPP, it didn't federate
6 hours ago [-]
1970-01-01 12 hours ago [-]
XMPP is the pinnacle of chat that just works. And it is champion by default, which is kind of the point here. All other popular systems and servers went defunct; it will never be taken over by BigCo and left to rot. Here's to 25 more years!
opan 1 hours ago [-]
I regularly use IRC, XMPP, and Matrix. I think your description fits IRC better. XMPP kinda has a Plan 9 or Amiga type of vibe, cult following "ahead of its time", but never took off totally how people hoped, or didn't stay relevant at least.
grumbel 11 hours ago [-]
> XMPP is the pinnacle of chat that just works.
Not my experience. I had to give up on it since it was just completely flooded with spam, and unlike mail readers that have ways to mitigate it, XMPP clients were ill prepared. Might still work if you keep your address hidden, but as chat-like alternative to a public email it just stopped working years ago.
fluoridation 11 hours ago [-]
What do you mean? You have to accept a friend request before someone can message you. It's more spam-resistant than email, not less. That said, I don't know if there's anything that prevents spamming friend requests.
grumbel 11 hours ago [-]
And how am I going to find the valid friend requests under the hundreds of spam ones? I used it just like a chat version of public email, for bug reports and such, so I don't know who is going to message me beforehand.
ezst 8 hours ago [-]
You can mediate friends requests by having servers generate an invite link, you can generate QR codes your friend can scan on a side channel, ... There are ways
justsomehnguy 3 hours ago [-]
Or you can just show the welcome message from a new contact, just like anyone else does. Adding a 2nd factor here is the reason XMPP suck.
fluoridation 10 hours ago [-]
Fair enough. I've only ever used XMPP when Google chat used it and at work in the days before Slack.
daneel_w 10 hours ago [-]
I think that's a symptom of the provider you chose, not the XMPP sphere itself. I've used Jabber/XMPP for just over 15 years and while I've seen plenty of bullshit going on in various highly popular MUCs (join-floods, phishing attempts and such) I've never personally been subjected to spam directed at me.
tcfhgj 10 hours ago [-]
I have joined XMPP rooms via Matrix and have already gotten spam from XMPP this way
zaik 8 hours ago [-]
Which is surprising since XMPP allows you to hide your global address in public rooms and Matrix doesn't (unless they fixed it by now?).
justsomehnguy 3 hours ago [-]
> XMPP is the pinnacle of chat that just works.
Except no.
You can't even have a conversation between Conversations and Fluux because OMEMO is enabled by default in Conversations and there is just no OMEMO support in Fluux - despite it being actually modern one.
Gajim works but Pidgin doesn't even show "I sent you an OMEMO encrypted message but your client doesn’t seem to support that". Just like images, which is a first party in Telegram and even WhatsApp.
So much for 'just works'.
F3nd0 2 hours ago [-]
And of course most XMPP clients which support OMEMO only support an old version of it, which is incompatible with the new OMEMO version, currently only supported by KDE’s own client—Kaidan. That also happens to be the only desktop client I feel like I’d actually enjoy using (if only I could use it to talk with people not using Kaidan).
jcbrand 25 minutes ago [-]
FWIW Converse.js and Dino also support the latest OMEMO.
troupo 8 hours ago [-]
> XMPP is the pinnacle of chat that just works.
No. It doesn't "just work". It very much depends on which subset of the XEPs all the parties in the chain support.
> All other popular systems and servers went defunct;
Well, in this sense it does just work :)
upofadown 3 hours ago [-]
You can always send and receive messages no matter what XEPs are supported. Not that that is a problem in practice. There is a fairly well established subset of XEPs that everyone supports.
Unless you want to encrypt said messages. But I guess insecure communication beats no communication at all. (I also never had much luck with voice and video calls using XMPP.)
bobanrocky 2 hours ago [-]
We use xmpp for our company’s IOT product suite. Works quite well with its presence and messaging capabilities ..
Backend runs ejabberd.
_carbyau_ 5 hours ago [-]
When I ever have time...
1. Gain/find-someone-with crypto library use knowledge.
2. Jabber client with Iroh networking and E2EE.
3. Completely remove XMPP server dependence.
4. Allow users to exchange Iroh-Node-ID outside of jabber (QR code, other secure channels?), store in Jabber contacts.
5. Develop from there. Calendar usage, multiparty, backups.
But I have neither the time nor the knowhow right now.
tolerance 11 hours ago [-]
I had a good technical experience using XMPP once but the community I found using it was an obscure one and I haven't come across another instance of others using it since. No matter how useful a tool is the main hurdle is adoption. This sort of retrospective is useful from an advocacy point of view.
delduca 13 hours ago [-]
I think Android still uses XMPP to delivery push notifications under the hood
inputmice 13 hours ago [-]
Indeed. And on a Google-free Android phone the XMPP client Conversations can utilize its existing, permanent XMPP connection to deliver push notifications to other (mostly open-source) apps using an alternative to Google push (FCM) called UnifiedPush.
Unless I'm mistaken, Apple's push notifications network ("APN") and a few other macOS/iOS under-the-hood things are also built on top of XMPP.
Daunk 8 hours ago [-]
XMPP always seemed great, buy I have yet to find a client that can replace Telegram's client on both desktop and mobile.
dpc_01234 6 hours ago [-]
Any Android XMPP client recommendations? I tried one, then it's fork Monocle, and none of the seem to be able to handle simple notifications correctly.
opan 1 hours ago [-]
Seconding Conversations, though I wish it'd let me disable relative timestamps.
Semaphor 3 hours ago [-]
Never had notifications issues with conversations.
basilgohar 11 hours ago [-]
I loved using XMPP and used to run my own server and even had the apps that would send notifications from my phone for different events over XMPP (forgot the name at the moment).
I'm all-in on Matrix right now and use it for my family but it's a far cry from the usability that XMPP had. I am still hopeful that Matrix can live up to its promises but perhaps XMPP will always be around if that doesn't work out. Who knows!
wycx 7 hours ago [-]
MAXS? As far as I can tell, it is broken by newer versions of Android.
telesilla 12 hours ago [-]
Google & XMPP standards foundation develop the very useful Jingle XEP, so XMPP is linked to the history of Google Voice and whatever Google Talk/Chat turned into, maybe somehow inspiring Google Meet? Jingle was also inspirational to WebRTC signalling.
kogasa240p 13 hours ago [-]
Its biggest issue is adoption because it's very solid otherwise and even supports stuff like screen sharing.
tcfhgj 10 hours ago [-]
screensharing is ubiquitous at this point
lnz_me 13 hours ago [-]
i set up a xmpp server a few weeks ago for agent orchestration and agent to human workflows. hadn't inatalled ejabberd in a very long time but feeling right at home.
writtenone 12 hours ago [-]
Are there any XMPP clients with the UX and privacy of Signal?
All of them seem to look like they're from the 00s!
Thanks! Any good Android clients? "Conversations" seems to be the best and it's nowhere near the polish of Signal & Co. crashes often, UX is clunky, family will never stick with it.
4chandaily 12 hours ago [-]
As a counterpoint, I use conversations literally every day, and cannot recall the last time it crashed. My partner and kids have used it for at least the last 7 or 8 years to communicate with me and each other. I don't claim there are no issues, but "crashes often" isn't something I would expect to hear about it.
I don't find the UX to be clunky either, but I acknowledge that could just be my familiarity with the program, so I would leave that for others to dispute.
fishgoesblub 12 hours ago [-]
What makes you think that? I haven't experienced, or heard of people having frequent crashes. Me and my family also use it to communicate to each other with no issues regarding the UI.
arendtio 10 hours ago [-]
Crashes?!? I've been using Conversations for a long time and can't remember any crashes. Something must be wrong with your setup.
For me, the bigger problem is that I was unable to get OMEMO + Apple Clients working properly. I think OMEMO 1 has some design flaws and hope that OMEMO 2 will fix those.
pavo-etc 7 hours ago [-]
I ran into this exact problem. I needed to fork Conversations to add a lot of polish. My fork is definitely improved but still has a few rough edges I'm chipping away at.
F3nd0 2 hours ago [-]
Do you plan on contributing your improvements upstream, or is that not feasible for some reason?
zeafoamrun 13 hours ago [-]
And I haven't used XMPP for about 20 of them (sadly)
giancarlostoro 13 hours ago [-]
There was a time where both Google Chat (whatever it was called back then I lost track) and Facebook Chat were built on it. So you might have.
zeafoamrun 12 hours ago [-]
You're right. I know at least one company used XMPP for things like customer support chat too. So maybe I have. I just mean the last time I used it intentionally was a long time ago before I was worn down futilely trying to convince friends to use it instead of locked down chat apps.
giancarlostoro 10 hours ago [-]
That's fair, no worries.
seba_dos1 11 hours ago [-]
Google Talk - and it was an actual federating XMPP server, in contrast to Facebook which merely allowed you to login with an XMPP client.
giancarlostoro 10 hours ago [-]
There was a point where Google and Facebook supported external clients, and then within the same year both Google and Facebook closed up to any external clients, then ultimately ditching XMPP.
esafak 8 hours ago [-]
25 years of independence and, dare I say, irrelevance.
unethical_ban 9 hours ago [-]
I think of Matrix as a protocol + client/server suite; an open standard with official software backing it and a number of parallel implementations. When I wanted to stand up an independent server that could do most of what Discord does for communities, Matrix was the easy find. Encrypted chat, e2e support, and encrypted voice and video chat rooms with screen share.
I admit I didn't research "XMPP-based discord alternative" but maybe that says something about the ecosystem's health.
colechristensen 8 hours ago [-]
My first task at my first real tech job was setting up an ejabberd server
Flowdalic 13 hours ago [-]
[flagged]
bborud 11 hours ago [-]
If only they had avoided XML. XML drove away a lot of people who would otherwise have been interested early on.
(I once found myself in the same meeting as two of the people who made the mistakes that meant you couldn’t just pipe stuff through an XML parser and hope it worked. I tend to speak my mind)
Rendered at 05:52:25 GMT+0000 (Coordinated Universal Time) with Vercel.
[0]: https://movim.eu/
[1]: https://github.com/processone/fluux-messenger
And here I am, hosting a Matrix server for my family for 6 years now, with no issues and an amazing experience, from the backend to the huge variety of mobile clients, a mature Rust sdk that I can hook bots into with ease, etc.
It's sort of the Apache of chat protocols and that's not a compliment.
I run my own server for 2 people. Using Prosody [0] took some config but wasn’t that hard. Easier than installing Arch, harder than installing Windows ;)
Nowadays, there is also Snikket [1] by the Prosody maintainer, which is essentially an opinionated all-in-one configuration setup based on Prosody, barely any config needed.
[0]: https://prosody.im/
[1]: https://snikket.org/
Just like with Apache, all you need is a sane default configuration that covers the most common use cases, and I think modern XMPP servers offer that.
Edit: now I can't stop thinking about correlation vs causation - you being under the boulder bleeding out at the same time XMPP encryption suddenly stops working.
Physical hardware certificate thinggy which got crushed?
not it isn't - still today there's no choice between incompatible room types or incompatible encryption algorithms and whatever else.
Comparing XMPP at 11 years old to Matrix today makes it abundantly clear that the main thing Element LLC does is waste European public grant funds
Servers: https://matrix.org/ecosystem/servers/
Clients: https://matrix.org/ecosystem/clients/
Also, imho Matrix is a better standard than xmpp, because of what PunchHamster said and the better feature set. Of course, everyone is entitled to their own opinion :)
If you allow for independent implementations of the protocol this will always happen. Also, inventing another non-standard protocol creates even more incompatibility between clients and servers.
Working with XMPP gave me a whole new appreciation for why people keep inventing their own chat protocols. I don't think this is an unsalvageable situation, but the protocol is desperately in need of an "XMPP: the Good Parts" doc.
https://xmpp.org/extensions/xep-0479.html
It exists! https://docs.modernxmpp.org/
This has worked well since I can spin up new accounts on demand and I can use existing server software (ejabberd, perfect) and clients (Fluux, great; Conversations, okay). I've had to make a few custom modifications to each client to make agent comms a bit nicer (e.g. exposing status messages more prominently since I use that to expose current agent commands), but the XMPP layer has had pretty much everything I could have wanted.
Controlling a chat service is a bit intoxicating, I'm now using it as my notification service over a bunch of different projects.
I used Google Chat way back, its nice that the tech is still around and great as ever.
[0]: https://github.com/zachpmanson/pi-msg
The benefit beyond that was having agents running on my server directly so they can do a lot of sysadmin and monitoring tasks, as well as suggesting config changes through PRs to my nix config.
https://github.com/gatlin/pii
pi-msg doesn't support bonjour, I'm running it on a nixos server (nix is the real secret ingredient of my whole setup) the xmpp server is the same machine as the agents. I'm almost always on a different network to the one where the server is. If the server goes down the agents and ejabberd are coming down simultaneously.
I stumble upon Matrix from time to time, but Jabber I haven't really seen anywhere in the past decade after my internet friends moved to IRC. Are there any bigger communities still using it? Back in the days Facebook Messenger was backed by it, so maybe there's still some bigger entity using it as a backbone for something?
Not my experience. I had to give up on it since it was just completely flooded with spam, and unlike mail readers that have ways to mitigate it, XMPP clients were ill prepared. Might still work if you keep your address hidden, but as chat-like alternative to a public email it just stopped working years ago.
Except no.
You can't even have a conversation between Conversations and Fluux because OMEMO is enabled by default in Conversations and there is just no OMEMO support in Fluux - despite it being actually modern one.
Gajim works but Pidgin doesn't even show "I sent you an OMEMO encrypted message but your client doesn’t seem to support that". Just like images, which is a first party in Telegram and even WhatsApp.
So much for 'just works'.
No. It doesn't "just work". It very much depends on which subset of the XEPs all the parties in the chain support.
> All other popular systems and servers went defunct;
Well, in this sense it does just work :)
https://xmpp.org/extensions/xep-0479.html
https://compliance.conversations.im/
1. Gain/find-someone-with crypto library use knowledge.
2. Jabber client with Iroh networking and E2EE.
3. Completely remove XMPP server dependence.
4. Allow users to exchange Iroh-Node-ID outside of jabber (QR code, other secure channels?), store in Jabber contacts.
5. Develop from there. Calendar usage, multiparty, backups.
But I have neither the time nor the knowhow right now.
There was a talk at FOSDEM about that.
https://gultsch.video/w/gRGZqKKvNBvvMesyWNQzoK
I'm all-in on Matrix right now and use it for my family but it's a far cry from the usability that XMPP had. I am still hopeful that Matrix can live up to its promises but perhaps XMPP will always be around if that doesn't work out. Who knows!
All of them seem to look like they're from the 00s!
I don't find the UX to be clunky either, but I acknowledge that could just be my familiarity with the program, so I would leave that for others to dispute.
For me, the bigger problem is that I was unable to get OMEMO + Apple Clients working properly. I think OMEMO 1 has some design flaws and hope that OMEMO 2 will fix those.
I admit I didn't research "XMPP-based discord alternative" but maybe that says something about the ecosystem's health.
(I once found myself in the same meeting as two of the people who made the mistakes that meant you couldn’t just pipe stuff through an XML parser and hope it worked. I tend to speak my mind)