Messaging apps - XMPP vs Matrix vs ???
from Eldaroth@lemmy.world to selfhosted@lemmy.world on 26 Jan 15:26
https://lemmy.world/post/42200771

Hey guys, I recently started to play with the thought to deploy a Snikket (XMPP) server on my VPS to play around with it a bit. I already had a Matrix (Continuwuity) server running on an older VPS with Docker at one point. But besides me using some bridges (WhatsApp, Signal etc.) it didn’t see a lot of use. Originally I had set it up with the goal to replace Discord, but so far couldn’t get my small group of gamer friends to switch to something else.

What are your experiences with XMPP (doesn’t have to be Snikket) or Matrix? Would you recommend one over the other maintenance and/or usability wise?

Just curious what the community’s current sentiment is in regards to private self hosted messaging services 😊

#selfhosted

threaded - newest

drkt@scribe.disroot.org on 26 Jan 15:46 next collapse

Mautrix supports puppeteering your Discord account, so it doesn’t matter if your friends won’t join matrix.

docs.mau.fi/bridges/go/setup.html?bridge=discord

I am currently doing this and it works well enough that I can see myself not opening Discord again, but it isn’t perfect. For that reason alone, Matrix wins in my book.

e: I am using Conduit for Matrix homeserver

Link@rentadrunk.org on 26 Jan 15:54 next collapse

It’s worth mentioning that it doesn’t support voice calls though.

Eldaroth@lemmy.world on 26 Jan 19:21 next collapse

Used some of the Mautrix bridges (WhatsApp & Signal) in an attempt to combine all my messaging apps on the phone into one single app. Worked reasonably well I have to say.

The Discord bridge I never tried, mostly because my friend group is not really using the instant messaging part of Discord. We more or less only use it for voice chat while gaming or just some shit talking. Thinking about it, for this a TeamSpeak or Mumble server would probably be enough to replace our Discord usage 😄

poVoq@slrpnk.net on 26 Jan 20:45 collapse

That can be also done with a Slidge gateway for Discord on XMPP.

Yaky@slrpnk.net on 26 Jan 16:06 next collapse

I hosted Matrix for several years. It mostly works fine, apps look consistent, bridges are nice, but is a pain in the ass in some aspects. Onboarding sucks. Data needs constant cleanup (or gigabytes of storage, even for a dozen users). Sometimes notifications are delayed hours. Sometimes images don’t load.

New Element Server Suite is more corporate-oriented, requires Kubernetes (!) to run, includes defacto mandatory services. Element X has no feature parity with Element Classic, especially calls.

I ran Snikket many years ago for a few months. But now they have smooth invites/onboarding, admin panel, and always had reliable notifications. Even bridges through Slidge. I plan to switch back to Snikket soon.

More details

scott@lem.free.as on 26 Jan 18:29 next collapse

Notifications are instant for me, using a self-hosted Unified Push server too.

Eldaroth@lemmy.world on 26 Jan 19:25 collapse

Nice blog post you wrote there, I like how you go into some details about the problems you faced hosting Matrix.

ArcaneSlime@lemmy.dbzer0.com on 26 Jan 16:16 next collapse

Personally I like XMPP over Matrix because

  • Matrix clients aren’t great (even element is buggy as piss on my phone and a shitty electron app on linux)
  • Matrix is too difficult for “normal” people (I agree they should get good but they don’t and what good is a chat app without recipients).
  • Matrix public rooms have a CP problem, and as such I can’t recommend people join it just in case, I don’t need my mom seeing that shit.
  • Matrix was started as an Amdocs project before they defunded it and the lead dev went to form The Matrix Foundation. Amdocs is a Mossad affiliated company that infiltrated American telcom companies long ago. Matrix also pisses metadata to any server it federates with, including matrix [.] org, and I have no proof that Mossad is spying on that metadata but I have no trust either, nor proof that they aren’t, so I can’t trust matrix anymore.

Though XMPP also has had it’s own problems for me, so at the moment it’s my fallback and I’m trying out Delta Chat which I have been loving.

Eldaroth@lemmy.world on 26 Jan 19:27 next collapse

Couldn’t agree more with the first two points, especially the second one when it comes to adaptability by my non-techy friends and especially the wife-approval-factor.

I only tried out Delta Chat like two years ago linking it to a secondary Gmail account. Don’t think this really fully utilized it to its full potential. What do you like most so far about Delta Chat?

ArcaneSlime@lemmy.dbzer0.com on 26 Jan 19:57 collapse

They no longer recommend using a traditional email account, instead recommending chatmail servers like these (there’s more as well, but they have this small list to choose from in the app or you can bring your own). They say if you have to use traditional email use a dedicated account for delta chat, not one that also gets traditional email.

I like how they are trying to address metadata as much as possible, the onboarding is so easy my literal mother can do it, video/audio calling is in beta and works pretty well (some glitches, but it’s in beta), the webXDC stuff is cool but I don’t really use it yet, and I’m sure I’m forgetting something.

Yaky@slrpnk.net on 26 Jan 22:29 collapse

Matrix clients aren’t great

IMO the main advantage that Matrix-Element has for normal users is the branding: Element is Element on the web, Android and iOS. (Snikket is trying to do the same for XMPP though)

Matrix is too difficult for “normal” people

Agreed. Simple user+password login to a hosted (non-matrixdotorg) server takes 5-6 pages to click through.

Matrix public rooms have a CP problem

I was spammed with racist copypasta on XMPP once too. But being in large Matrix chats guarantees being invited/messaged.

…Matrix also pisses metadata to any server it federates with, including matrix [.] org

Replication+sync is a strange decision for chats. It sort of makes sense for slower fediverse posts, but creates a lot of strange scenarios and privacy issues with chats. Also, matrixdotorg is used for key backups and vectordotim is used for integrations IIRC.

ArcaneSlime@lemmy.dbzer0.com on 27 Jan 01:27 collapse

IMO the main advantage that Matrix-Element has for normal users is the branding: Element is Element on the web, Android and iOS.

I agree, though Delta Chat has this too, it’s the same on linux/mac/win, android, and iOS. There’s also Arcane Chat for android developed by one of the devs of Delta Chat as sort of a testing ground but that’s like an if you know you know thing, like my mom just thinks we’re all on Delta Chat. One thing is they don’t have a web interface afaik, you need the app.

Simple user+password login to a hosted (non-matrixdotorg) server takes 5-6 pages to click through.

And the recovery passwords and all that just seem to be out of reach for those who just use hunter2 for everything, if the complaints I got are indicative if most people.

I was spammed with racist copypasta on XMPP once too. But being in large Matrix chats guarantees being invited/messaged.

Good news for Delta Chat is they don’t really do groups like that, you can group chat but it’s more for like friends and family than strangers, I see that as a win in this use case, where if we need xmpp/matrix style public groups we can fall back to xmpp. You also have to accept chats before they go through and there is no discoverability so you won’t get random drive bys.

Pika@sh.itjust.works on 26 Jan 16:26 next collapse

I couldn’t get into matrix, but I was a huge fan of open fire. It’s interface was stupid easy for XMPP administration and for awhile I ran it no issue with my group of friends. granted we ended up just going back to discord not due to any issue with the server or protocol but because it was tedious trying to get people to switch off a platform that works for most people.

Eldaroth@lemmy.world on 26 Jan 19:31 collapse

Yeah that’s the thing with a lot of these platforms, it’s dead simple for most people to download the app and create the account. You already loose two thirds (if not more) of the people as soon as the sign up process gets a bit more complicated, even more if they have to manage and secure any kind of secret (encryption keys) themselves. Not that it would be so difficult to save this stuff in a password manager, but I guess that’s already where a lot of people still fall short… What a uphill battle that was (still is) with some of my friends and family to get them to use a password manager for a start.

cecilkorik@lemmy.ca on 26 Jan 16:40 next collapse

I ran Matrix for like a year, and pretty much hated every minute. It was fragile, complicated, and incredibly, bafflingly resource intensive. Matrix is an overengineered nightmare in my opinion, and it seems to be quickly distancing itself from self-hosters while pursuing enterprise usage. Neat technology, horrible implementation, misguided company.

XMPP is a breath of fresh air in comparison. Just like we still use email everywhere (even for authentication nowadays, fun!), XMPP is not obsolete simply because it’s older. It’s a solid foundation, plenty extensible, and does almost everything I can imagine needing to do without unnecessary complexity.

Matrix’s bridges are its killer feature, and it’s nice… when it works. But it’s simply not worth the headache of dealing with Matrix, in my opinion.

AbidanYre@lemmy.world on 26 Jan 16:44 next collapse

What’s your end goal?

Simplex is easy to host for direct messaging and I had decent luck with Mattermost as a slack replacement.

0x30507DE@lemmy.today on 26 Jan 16:59 next collapse

I haven’t tried running a matrix server, but ejabberd has been very solid, and it’s not too difficult to set up.

JadedBlueEyes@programming.dev on 26 Jan 17:15 next collapse

A lot of the people reporting issues with Matrix being slow and resource heavy are reporting issues with Synapse, which is Element’s big Python implementation. My Continuwuity instance, which is a server written in Rust, uses a fraction of a CPU and a total storage in the hundreds of megabytes. A few less features, but it has most of the ones people care about.

Eldaroth@lemmy.world on 26 Jan 19:34 collapse

Can’t speak for the Synapse hosting, as back when I hosted one myself I directly started with Dendrite (was not really that feature rich) and switched to Continuiwity soon after. And I have to agree, ran like a charm on my VPS and didn’t use a ton of resources. Granted, I was the only user so can’t say how the usage would have increased with more users active.

Madiator2011@piefed.social on 26 Jan 17:27 next collapse

So I’m going to be wierd one but I prefer Matrix more. Though I tried both. So with XMPP most often I had with custom ports setup and in some cases they did not worker well if you have reverse proxy in front of it so in my case it required tinkering with xmpp and ssl setup to get it right. As resource usage I agree it’s lightweight. Now moving to Matrix I used to be long time Synapse user then I moved to ESS setup it had higher first time setup but once you get running it’s working wery well. The new MAS system improved user onboard now I can share link and registration token and user can register like on many websites no manual work need. Also they added new admin panel but there is one pain here some things are locked behind Pro with I’m not fan off. So ye for me Matrix is much better but it depends on your hardware and target number of people.

Eldaroth@lemmy.world on 26 Jan 19:40 collapse

No weird opinions, you do you and if Matrix suits your needs, great. In general I like the idea and concept behind Matrix, was a bit clunky to get it going initially but afterwards, with Continuiwity as backend server I have to say I ran quite smooth. I guess for a small homelab/self hosted setup with maybe a hand full of users, XMPP sounds easier to maintain. But I guess I’ll have to find out, probably going to deploy Snikket or Ejabberd for a test run.

Madiator2011@piefed.social on 27 Jan 07:58 collapse

Would recomend ejabder as snickers takes over ports 80 and 443

Eldaroth@lemmy.world on 27 Jan 08:03 collapse

You can actually change these ports if you run Snikket behind a reverse proxy according to their advanced configuration docs. But yeah, probably going with something else than Snikket as it doesn’t really suite into my current Podman/Traefik setup. At least not without a lot of tinkering which I don’t feel like at the moment 😅

stratself@lemdro.id on 26 Jan 18:25 next collapse

I’m running continuwuity, and ejabberd as text-only IM servers to talk to some communities. The latter (and XMPP in general) has more moving parts (more ports, SRV records, etc) to set up, but messages deliver much faster and take much less resources. They’d probably both run fine on a VPS with the proper tweaks anyhow - the Rust-based server makes Matrix actually not suck after all

For bridges, I’ve used maunium-discord as a Matrix bridge in the past, and trying out slidcord right now. I think Matrix bridges still got better UI/UX due to more supported features (spaces/threads) and coherent clients, though let it be known Slidge is a hobbyist project. If your chat server is mainly for bridges, stick to Matrix and consider disabling federation. Also Matrix if you’d like your friends to switch over from Discord - it has more Discordesque features like custom emojis/stickers and SFU-backed group calls

Though this doesn’t mean I’m unrecommending XMPP. I do appreciate its clients’ snappiness, in-band notifications, the general ephemerality of its chats, and unrivaled efficiency. I kinda wanna write a blogpost comparing both software and protocols, but right now I don’t have an opinion about one over the other. They’re both cool albeit they both leak different metadata differently

Lemmchen@feddit.org on 26 Jan 18:25 next collapse

Unfortunately there is no “Discord, but (federated/selfhostable) E2EE FLOSS” and at this point I don’t understand why. There isn’t even “Discord, but (centralized/proprietary) E2EE”.

sj_zero@lotide.fbxl.net on 26 Jan 21:40 collapse

Erm... Yeah, that's matrix with encryption enabled on the room.

ulterno@programming.dev on 26 Jan 18:29 next collapse

I am considering using ???.
Will get to it someday.

Eldaroth@lemmy.world on 26 Jan 19:39 collapse

Only heard great things about it

goatinspace@feddit.org on 26 Jan 18:30 next collapse

XMPP is great usability wise. Not sure what server is the best.

poVoq@slrpnk.net on 26 Jan 20:50 next collapse

XMPP is generally nicer to host due to lower resource requirements and better server management in general. The mobile apps are also more snappy and need much less battery, plus notifications are more reliable.

Matrix has somewhat more public rooms of FOSS projects you can join, but typically these projects are also available on IRC, which you can join via the excellent Biboumi gateway for XMPP.

sj_zero@lotide.fbxl.net on 26 Jan 21:38 next collapse

A lot of things people say about matrix don't apply to conduit. I've run it on an Intel Atom d2550 and it ran fine.

poVoq@slrpnk.net on 26 Jan 23:47 collapse

What people say about Synapse is also somewhat outdated. These days it isn’t actually that much worse than Conduit (or forks), the main issue is that when you start joining older and bigger rooms the resource use goes through the roof, and that is also a problem with Conduit etc. Ultimately, this is a protocol issue and not an implementation issue.

artyom@piefed.social on 26 Jan 21:59 next collapse

I haven’t use XMPP much. Matrix is kind of a nightmare. It has most of the important things of a chat platform but as others have said, is a pain in the butt to use. Encryption issues, slow loading, images not loading, etc. It’s also basically on-par with something like WhatsApp, security-wise, in that your message content is encrypted but pretty much nothing else is, and when 90%+ of users are in the matrix.org domain anyway, that’s not acceptable, in my opinion.

I would recommend SimpleX instead.

TheBlackFang@lemmy.blahaj.zone on 26 Jan 22:54 next collapse

Incidentally, I just setup my own Snikket server earlier today. Worked like a charm 😌 I haven’t done a whole lot with it yet, but I like its clear admin interface and the concept of circles. I had some issues with video calls (frozen picture) though.

airikr@lemmy.ml on 27 Jan 13:31 collapse

Snikket user here, too. Have used it since maybe 2024 and are very happy. The only downside is the clients even if they are very good (especially Gajim and Conversations), but also video calls.

I got so annoyed with video calls I ended up with installing Jitsi Meet. Works like a charm with no issues with video, voice, rooms, screenshare, or chat.

So whenever I want to have a voice/video call with someone these days, Jitsi Meet is the only way to go for me. If the voice call need to have an extra layer of security, my Snikket server works good.

lambalicious@lemmy.sdf.org on 26 Jan 23:21 next collapse

XMPP is the best among the listed options, although ??? is not that far behind (or wouldn’t be, I still can’t find a mobile app, does anyone know one???). Good servers include Snikket, ejabberd and Prosody. It’s also the best fit for a small and/or private installation because it’s quite light (not lightweight like IRC, but still light), whereas Matrix is a nu-protocol and this quite hefty on resources, and honestly I have never seen benchmarks on what running a ??? service is like, not even for the official Docker container.

poVoq@slrpnk.net on 26 Jan 23:43 collapse

There are multiple good XMPP mobile apps for Android: joinjabber.org/docs/apps/

The story on iOS is somewhat less good right now, but Monal is ok and Movim works quite well as a PWA in Safari.

pinball_wizard@lemmy.zip on 26 Jan 23:33 next collapse

To me, XMPP is still the instant messaging gold standard. Everything has an app (or seventeen apps) supporting it, and it tends to just work.

My experiences with XMPP are: very good.

Matrix does more. I have used it on and off for fancier online meet-up type stuff. As others have said, it is relatively new, and that has various costs and drawbacks.

French75@slrpnk.net on 27 Jan 00:19 next collapse

couldn’t get my small group of gamer friends to switch

The hardest part of any change right there.

14specks@lemmy.ml on 27 Jan 14:53 collapse

Nobody has mentioned mattermost yet. I haven’t stress tested it by any means, but I found it too be decent.