It is battle tested, standardized, widely used, have open source servers and apps, end-to-end encryption (OMEMO), self-hostable and are low on ressources and federated / decentralized.
I use it with family and friends. Conversations and blabber.im on android and Gajim on Linux. There’s also apps for windows and Apple.
Curious if anyone here use it and why, why not?
EDIT: Doh. In these Lemmy times I forgot federated. Added.
What I have to give to XMPP is that it’s one of the easiest federated services to self-host. Running Prosody is super simple.
Prosody is amazing and I’m still astounded by how easy it is to get XMPP up and running. That’s great stuff!
How does this compare with matrix?
TL;DR: Matrix is good for text AND binary data (XMPP is text only) but XMPP is a bit more centralized than matrix, though both work based on federation principles. XMPP is more lightweight but supports more config options.
Thanks!
The real core difference is that XMPP just passes messages around (and history is just bolted on as an extra thingy between you and your server), while Matrix is literally a federated database of message history.
I use it for pretty much all of my stuff, both as a message bus as well as a command-and-control mechanism for my bots.
I would like to hear more about what you’re doing / how you have it set up. I’ve used xmpp to relay messages from home automation stuff - which usually involves piping something to a script calling a library.
I wrote an XMPP-to-REST bridge, one-to-N. Everything gets its own rail and message queue on the bridge so as long as something can make HTTP requests, it can send messages and receive them. Huginn agents, any of my bots (written in Python), even shell scripts. Just about everything I have that crunches numbers has at least one of those bridges and a population of bots running on it.
There’s nothing wrong with command line chains, I have a really cut down version of System Bot re-implemented as a shell script (developed under Busybox’s default shell) for my OpenWRT stuff.
I use it for OMEMO encrypted family messaging and image transfer (snikket). Very fast messaging, lightweight server, and the A/V works quite well. Biggest issue, imo, is the lack of a great iOS client - not a judgement on the developers, I think that’s just the reality of developing on iOS. But an iOS client that works as seamlessly as Conversations would go a long way to regaining lost traction.
This is what I’ve been saying for years. Siskin is pretty good these days, but it’s still not perfect (push notifications with OMEMO have no content). It’s really hard to recommend XMPP to people when the iOS experience is kind of bad (with omemo, anyway).
I cannot recommend Siskin, as those in my life that have tried it have always experienced random issues. I find Monal to be a better experience in every way, except for the lack of calling support with Conversations.
Monal is okay. It chews up battery and recently did some heinous crimes with group chat notifications so I’ve switched to Siskin. Either way… Neither app is perfect. Xmpp is decent on iOS now, but still a little lacking.
I like XMPP and OTR is nice, but we need double-ratchet for secure communications and sync with multiple devices.
Omemo is double ratchet and my messages sync to multiple devices. New device can’t read old messages sent before exchanging keys with the other clients.
We had an XMPP server at work but 90% of people wouldn’t bother using it. As much as I dislike Teams it the only client that’s ever been deployed in my company that everyone actually uses.
We used to use it at work and I loved it but then eventually got replaced by slack which I am not a fan of.
slack is the worst team communicate software ever existed. Everything is better than it.
I see someone hasn’t used Microsoft Teams.
Or hipchat
Hipchat is XMPP. I used to connect to it in Pidgin.
Hipchat was great before Atlassian sold it to slack
I wish I knew that when we used it. I was using their client and it wasnt great. Slack was a welcome change when we switched
Its not great, but its nowhere near half as bad as teams
absolutely it is, worst part I hate is I cant mute/block anyone. Just have to deal with that annoying douche yapping all day in chat.
Even Microsoft Teams?
My wife uses teams for work, it seems pretty nice, it has everything in place, like video meeting, meeting note, calendar, and everything seems very streamlined.
Slack just don’t have anything. What is your complaint about teams, is it unstable or something?
Buggy, uses a ton of resources, super weird UI. I’ve said no in job interviews to companies who use Teams as their main communication platform. Slack is “fine”, but much better than Teams. At least it works, especially from Linux.
My wife’s company mainly use windows, and I have never tried it on my computers, so that is probably why I never heard much complain about it.
I think for them, they just use teams and couple other software, nothing resources intensive, so the resource consumption is probably fine for them.
Yep. And all complaints come from hackers/developers/programmers. Especially if you search Hacker News, you can find hundreds, if not thousands of comments where people just can’t stand of Teams at all.
We use Teams and friends at work, so I know the struggle.
When I lost my cell modem due to the 3g shutdown, I switched to xmpp for home automation for a while. I should probably set that up again…
It’s well worth it.
It’s great, problem is adoption with non tech people. You clearly had better luck with your friends and family than most. It’s hard enough to get them to use something as standard as Signal.
I host my own XMPP server and I like it (super lightweight and easy to set up), but good god the people that work on XMPP stuff seem to not want it to take off at all. They all complain that everybody is using matrix for some mysterious reason and when you explain that you can’t in good conscience get your friends to switch to it because there aren’t really great iOS apps it’s just a hissy fit about how people should use android instead… which is just not very realistic. Really wish XMPP had a good cross platform client. The client situation is improving rapidly and OMEMO finally mostly works everywhere! But it’d be really nice if there was a consistent client between platforms.
That all sounds really critical, but I really do like XMPP and I really hope it gets better and gains more traction again! We really need good federated chat again, ideally just associated with an email address or something… because the current chat ecosystem is a mess!
Agree it’s easier to get techies on board. With normal people it is kind of a struggle competing and argumenting against the likes of WhatsApp, FB messenger and such. But I totally think it’s worth it because privacy.
It’s trivial to self host. I’m running a server on a small VPS for the family. Best part is they don’t even know they are running XMPP, just installed Conversations and that was it.
I switched to iOS from android a while ago, but conversations was an AMAZING app and I wish there was something even half as good on iOS. That said… isn’t it the case that conversations is a paid app on Google play, and only free on fdroid? It’s totally worth the $2 or whatever it was on Google play, but I feel like it’s a hard sell for normal people who are used to free chat apps? Did you have any problems with that, or has the situation changed since I last looked?
There is also Cheogram (conversations fork), which is actively developed/tweaked by the jmp.chat folks - very nice. Also Snikket (conversations fork) that is themed and tweaked to use with a snikket server, but it happily works with other servers.
Another interesting tidbit. Chromebooks integrate the Android runtime to run play store apps. Windows 11 is also kinda/sorta shipping an Android runtime, but not by default. You can also spin up an Android runtime on Linux. I tested the snikket android app on Windows 11 and ChromeOS - works perfectly. So, I suspect all conversations forks can run across Android, Windows, ChromeOS, and Linux platforms - pretty neat. Doesn’t solve the iOS gap and getting the runtimes going could use polish on Windows and Linux. And nothing against the other desktop apps in development, but the ability to essentially run the Android app against most major environments makes me want to contribute to that code base (if I had any ability to develop for android, that is).
Ah yeah, another fun fact is that Snikket on iOS is a rebranding of Siskin. On iOS Siskin seems to be the best option right now with the one caveat that push notifications won’t contain the content of OMEMO messages (I think the plan is to design and implement an encrypted push XEP?). Conversations is probably the best xmpp application out there, so I’ve been tempted to run it on Linux via the Android runtime in the past. These days I’m pretty happy with Dino.
I feel like we need something like converse.js on all platforms or something. Just something decent and consistent so you can recommend it to a friend on a different device and help them / understand their perspective, you know? I think converse.js has a desktop app via electron now, which seems like a start.
The standalone converse app was problematic when I tried it last. Also, there was a summer of code attempt at bringing jingle a/v sessions to converse, but it was never completed and nobody seems to have picked it up.
That’s a bit of a shame. I don’t personally find jingle that important, but it’d be great if it worked… Also OMEMO on converse is sort of in a weird state I think. AFAIK it still depends on a JS libsignal library that’s deprecated.
Yes Conversations is still a paid app on Play Store. The F-Droid version also doesn’t support Google cloud notifications so some message notifications will go missing occasionally. For Android there’s also Quickly which is a Conversations fork and aTalk which works OK but reminds me of 90s Windows software. It’s still quite usable though. Honestly Conversations is totally worth the money if only for the amount of effort gone into modernising the platform which also a testament to its extensibility.
Oh, I totally agree that conversations is worth the $4 or whatever. I just have a hard time convincing friends to switch over to a new chat application to talk to only me when it’s not even free for them, you know? And if it’s a less technical person getting them on fdroid is a tricky proposition too. I don’t begrudge conversations for charging, but I do think it would be easier to get people on XMPP otherwise.
I’ve been self-hosting Matrix for years and it’s been amazing.
I had my own server and used it for a long time until Android decided that it knows better what background services I want to have running and thus killed the “instant” part of instant messaging.
Since then I’m on Signal and could at least convince most of my friends and family to move there.
A bit different, but is anyone using SimpleX?
SimpleX has worked great in my experience! Currently torn between SimpleX and XMPP.
I’m still on irc
Irc is underrated. Its my example for people getting upset communities are moving to forums instead of the fediverse sometimes because its old that old does not mean outdated.
And don’t get me wrong, I really like this communication model, but I would never suggest it for a major software project community. I need things to be fully baked for official adoption. Part of my interest in contributing here is getting us enough critical mass that threadiverse development gets to that fully baked point
I think it should be incorporated into Lemmy as a chat function. Also been thinking if I could develop it, I have experience with XMPP from an application my employer creates.
Do we have to give every forum a chat function? I don’t want anyone and everyone to be able to dial me up to talk about my internet post history
Considering the fact that there is a special field in user profiles for a Matrix handle, I imagine upstream would prefer something Matrix-y instead.
Of course I can’t speak for anyone involved. Especially if someone else is thinking of writing the code themselves.