this post was submitted on 29 Oct 2024
330 points (98.5% liked)
Fediverse
28514 readers
423 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Still don't understand the need for matrix when xmpp is a much more battle tested standard, far more lightweight, way less complex, and easier to make clients for.
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.
You should try it again instead of spreading very outdated info about it. All major clients and server implementations have more or less feature parity and interoperate fine these days (and yes there are yearly complicance suites for XMPP that are exactly what you are asking for). What you are saying was true 10+ years ago when Matrix didn't even exist yet, and Matrix has very similar issues with different client and server combinations these days.
Sorry, what's the issue exactly? You called it an issue and I fail to see the problem. The X in XMPP stands for "extensible", so it is being used precisely as intended, so that is still XMPP.
You could use your favorite extensions if you want, but all up-to-date implementations follow the standard defined by XMPP, and it includes all features of a modern messaging experience
You have to be going out of your way to have a non-compliant server or client. This isn't really an issue that happens.
That's how it is today though! I see the issue, you said you haven't tried it in years. Admittedly, I only started with XMPP 2 years ago but haven't had any of the issues you mentioned. Not sure when this became the status quo, but it is pretty awesome. Maybe it is worth trying again :)
XMPP Works fine when it's setup or when you don't manage the hosting, but God is it painful to self host an xmpp server. Then you have the clients that are all basically 10 years old at this point, except maybe Dino for linux. It even needs a special setup to work on restricted networks via port 80/443 because it wants port 5222 and 5223, and let me tell you, I've spent over a week trying to setup that reverse proxy, it was hell. I've never Hosted matrix so maybe it's worse, but this isn't the end of my gripes with xmpp. Most basic communication features in 2024 such as replies reactions quoting threads etc.etc. are unsupported ootb, and you need both a client that supports the extensions (often very slow to adapt "new" standards AND a server that has enabled the plugin for that feature.
Xmpp is plain old, and like many like to think, no xmpp was not "triple-E'd", people simply stopped using it because it's really inconvenient and the UX is horrible.
You are in for a world of pain regarding Matrix if you think xmpp is painful to host. Compared to hosting a Matrix server, XMPP is very pain-free to host. Sure, it takes a slight bit of effort to understand that there are other protocols than HTTP, but beyond that that initial learning curve, XMPP servers are extremely hassle free.
And you must have used extremely outdated clients. All the modern ones (which there are plenty) support replies and reactions etc. ootb. Let me guess, you only tried Pidgin? That client hasn't been updated for xmpp in 15 years or so, and is by far the worst.
I recommend you use snikket if you're having trouble selecting plugins, because it has everything you need out of the box and its super easy to setup.
Isn't that just a configuration in prosody / snikket? What implementation did you use that didn't let you configure this? Or are you expecting major implementations to default to port 80/443? Because that would be quite problematic.
This is already supported by the major clients. I know for sure that conversations on android (and I suppose the many clients based on it) supports it. For server implementations, it is available out of the box on snikket, and it is a plugin you have to enable on prosody.
I don't agree with this.
Can you please explain why? A quick look at the spec for both protocols shows you that matrix is literally a hundred times more complex, so I don't understand the basis of the contrary. The matrix creators have shown they are okay with increased complexity under the pretext of a more complete experience, but in reality, XMPP has achieved the same features with far less complexity.
If you're speaking about self hosting, again, I don't see how, as matrix is notorious for self hosting issues. XMPP's snikket works out of the box and has all the commonly used features and plugins pre-baked. The underlying prosody implementation is a step down, but is also quite easy as long as you know what plugins and options to activate (and if you don't, then use snikket).
I don't want to defend Matrix. I agree that it is not stable and lightweight. However, I believe it is simpler than XMPP. Wanna set up a server? Synapse. Need a client? Element. The default softwares are easy for new users to discover.
Also, the fact that Matrix has a single protocol means that in theory all servers and clients can work with each other (Although I know we are far from that at the moment). It is much better than XMPP's XEPs in terms of simplicity.
It's not that I don't like XMPP. I want a stable, encrypted, federated messaging platform. However, in terms of money and motivation, Matrix seems to be closer to that right now.
With all due respect, this is a very biased view
Wanna set up a server? Prosody (which has a hassle free out of the box experience through snikket)
Need a client? Conversations
The default softwares are easy to use for new users.
For matrix, however, you are forced to use synapse. You complain that xmpp is not a single protocol, but in reality, all the major implementations are compatible. Can you say the same about matrix? The other implementations aren't even close to achieving this.
Xmpp's extensions are a powerful feature, and the issues you think it presents do not exist with xmpp anymore, but is actually the status quo for Matrix.
When I decided to try XMPP, I had to do a lot of research to decide which applications I should use for the server and client. I did not experience this in Matrix. And yes, I know Matrix is not stable. I am not against that. It's just easier to get on board.
If we told two people to use these two software independently, they would start using Matrix much more faster than XMPP. I think this is enough to call it uncomplicated.
Also, would you recommend Snikket server (or Prosody) for 1:1, group calls and screen sharing?
Answering this first so it doesn't get buried down. Screen sharing wouldn't be supported by xmpp since its just messaging, but I believe Jitsi has that feature. But for the rest, snikket and conversations (for android) I would recommend, yes.
Whatever is the first answer you get from a web search should be fine. Most sources recommend conversations for client, but all the other recommendations you'll see are good too. For server, the easiest to setup is snikket, but all the other and up to date implementations should work okay, although they might need some configuration if you want all the modern messaging features.
Why do you think so? Let's assume a user who doesn't self host. XMPP clients are far more stable and error free, whereas matrix has random issues every now and then, especially with encryption and public groups.
XMPP clients are a lot more customizable and come in different models. Matrix has only one client that works well (and some forks of it that look roughly the same). I'd say that's a win for XMPP for new users.
Now let's say it's a self hosting user. I don't need to say much here, matrix is notorious for self hosting issues, and being a massive resource hog. XMPP, you have snikket, which works out of the box without issues and can be hosted on a raspberry pi even.
I may be biased here, so I urge you to tell me, in what way would a new user adopt matrix faster? I can tell you one. Matrix has corporate funding and has managed to advertise better. That's their only win.
And to use it with a similar feature set, everyone is using different extensions which also have to be supported by the clients. I know there is this one server implementation (name escapes me at the moment) and Conversations on the client side, but it's hardly the standard and we're not really talking about plain XMPP then anymore.
The same is true if you use a Matrix server other than Synapse and a client other than Element. If fact these days the spec incompatibilities are way worse on Matrix than on XMPP.
Have you used XMPP recently and ran into the issue of non-obscure servers, clients, or self-hostable implementations using different extensions or not supporting them? (I actually haven't experienced this even on the obscure ones, but can't confirm for all of them). Please do not make that accusation, because that I'd really not what happens in reality.
Why not when... It literally is? And all major implementations follow it? That is by definition a standard.
Why not? "extensible" is in the name. It is meant to be extended. The protocol is being used exactly as planned and intended.