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.
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.
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.
It’s the issues with XMPP’s spec: you don’t just use XMPP, you use XMPP + your favorite optional spec implementations.
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
If your friends aren’t on the same server/client combo then you won’t be able to communicate with them (effectively).
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.
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
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 :)
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.
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.
but God is it painful to self host an xmpp server
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.
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.
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.
It even needs a special setup to work on restricted networks via port 80/443 because it wants port 5222 and 5223,
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.
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.
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.
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.
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.
it’s hardly the standard
Why not when… It literally is? And all major implementations follow it? That is by definition a standard.
and we’re not really talking about plain XMPP then anymore.
Why not? “extensible” is in the name. It is meant to be extended. The protocol is being used exactly as planned and intended.