Matrix has too much metadata, i read, and XMPP so far does everything Matrix claims to do. I am sticking with XMPP (Jabber) for as long as i can, especially because it has proven itself over 20 years.
Technology
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
XMPP can be done mostly well, but achieving that is relatively complicated, and free, reliable, public servers that are likely to stay around for long are few and far between. It has proven too much of a pain for mass adoption without a large sponsor, and those are all gone now. It's not bad for small communities, though, if they have someone well-versed in all the important XEPs maintaining the server and helping people with the clients.
IMHO, Matrix is far better suited to general purpose and large scale messaging. The unprotected metadata is pretty minor, easily avoided if you have a need, and as I recall, on their to-do list. (Also, this article is about a new standard protocol, so criticizing the old one seems a bit off-topic.)
What bothers me is that similar "words of caution" can be had about Matrix: it established itself in the same niche as XMPP, but with a much more convoluted and resource intensive protocol (that many already gave up on hosting at scale due to creeping costs and complexity), with no user benefits for this extra complexity, and with only a single entity (consistently experiencing financing challenges having measurable impacts on the quality of the product) being in charge of developing both the client and the server. That's some big red flags.
I don't believe Matrix to have any edge over XMPP nor any characteristics to make it more successful where XMPP isn't. It is definitely not learning from XMPP's history and consistently repeating the same mistakes. And this is written as someone who was an early XMPP adopter around the turn of the millennium, moved on, and while learning about it, wanted to love Matrix thinking it could be "XMPP, modern, reborn, without the boomer etiquette". Turns out current XMPP is just that and Matrix isn't, and I am happy to self-host XMPP accounts for a few hundred people, family and friends and to no longer have to do it with Matrix.
with no user benefits for this extra complexity,
This is not true. One of the benefits I've enjoyed greatly is being able to point a group of non-techies at a URL and have them up and running, with fully encrypted channels, in less than 5 minutes. Another benefit is chat history across multiple devices. There are more.
with only a single entity [...] being in charge
Also not true. It's an open protocol with a well-defined process for contributions. The original authors certainly have influence, but I haven't seen any gatekeeping there.
of developing both the client and the server.
There is no single client or server. There are multiple clients and servers (with varying levels of resource usage) from multiple developers, and the available options continue to expand.
I'll grant that XMPP is a simpler protocol, especially in its minimal form without the various XEPs that are needed to even approach a comparison, but it also doesn't accomplish as much. That's not a "red flag" for Matrix. Also, this article is specifically about a new protocol.
I am happy to self-host XMPP accounts for a few hundred people, family and friends and to no longer have to do it with Matrix.
Yes, your case is an example of a small community with an informed and involved admin, which I pointed out in my original comment. XMPP can make sense there (I've done it too) but it's a niche within a niche. It doesn't address the problems that Matrix solves.
with no user benefits for this extra complexity,
This is not true. One of the benefits I’ve enjoyed greatly is being able to point a group of non-techies at a URL and have them up and running […]
I was talking about the protocol's complexity, Matrix is indeed notorious for that (you can lookup "Matrix state resolution" if you want to know more). That's not removing anything from the good work they've accomplished on the client-side, which you've highlighted, but just to be fair to XMPP, that's not unique to Matrix and you can find something comparable e.g. here: https://jabberfr.org/
with only a single entity […] being in charge
Also not true.
It's true and easily verifiable in practice, just check-out who's doing the work, who's operating the network (still very centralized), who's operating the gateways/bridges, and where the finances are going. Being an open protocol is a good start, but more important is how diverse is the ecosystem of client and server implementations and actors, and although the client-side has seen some diversification in the recent years, it's still very much an issue. New Vector Ltd is failing in one area, and now tens of thousands of users are disconnected from thousands of rooms. Now, compare that with the XMPP ecosystem, and the dozens of companies, individuals and NGOs contributing/sponsoring and authoring the protocol and its implementations.
There is no single client or server.
There is only one client that's fully featured, and it's element, there's only one server that's mature and that's synapse, none are fully spec-compliant, both are maintained by New Vector Ltd. You don't encounter such a rift between "the reference client" vs "the rest" in the XMPP world, and you don't see situations where the spec is updated "best-effort" from the implementation.
but it’s a niche within a niche. It doesn’t address the problems that Matrix solves.
What do you think are the problems that Matrix solve, essentially?
-
It won't ever become a "messenger for the masses", it's just not that good compared to WhatsApp and Messenger.
-
It won't ever become the reference "open-source, open-protocol" messenger, Signal is there to stay.
-
Remains the niche of "the messenger that I self-host because I can" which is shared with XMPP.
In this regard, Matrix is much harder and costlier to run. It addresses the same problem space with more overhead and complexity, which costs them in terms of diversity of implementation and resilience. When I wrote earlier about large users dropping them, I had in mind the French government which cut their losses and stopped subsidizing New Vector Ltd, while much larger XMPP instances comfortably run millions of users privately and quietly (in things like online games).
I also have in mind the upcoming "Matrix 2.0" shake-up, which is the 3rd or 4th reboot of the Matrix protocol. It has a good chance of being the last one, though, because the new design basically starts from the realization that "the protocol is too complex, the client can't efficiently deal with that on the user's device, so clients will now run remotely, and a dumb frontend will connect to the proxy". So, expect even greater self-hosting costs and marginalization.
I’m surprised how many fellow xmpp people I see on here, because I feel like matrix has a lot more of the public consciousness. It’s nice! I’m pretty happy with xmpp, though I wish I could find some larger communities.
The lists of public xmpp group chats I've found are all centered around xmpp software - clients and servers. If I ever find myself in the position of launching or running a large community (unlikely), I'd try to offer an xmpp-powered chat. It seems like the decision today is Discord -> Matrix -> IRC - xmpp isn't even in the running. But maybe users have to be a little more vocal.
This is my experience as well. It’s a little disappointing. Still, if anybody has suggestions for xmpp communities I’d be happy to hear it!
You could just roll out your community on XMPP and offer a web+anonymous access to it (converse and movim could be good options). In the end, that's no different than discord and many users' first exposure with Matrix. Now that I think of it, there's a mod_converse for ejabberd and maybe even for prosody as well.
Prosody and openfire have easy deploy converse options I've used in the past. My point was more that creating a chatroom doesn't create a community. I am curious to see how Libervia's xmpp/activity pub bridge matures. All of the built-ins plus potential to federate across activitypub makes an interesting technology underpinning for a community.
My point was more that creating a chatroom doesn’t create a community.
how would you define a "community"? And how big a deal is this effectively?
As far as I'm aware, communities (if defined as a list of rooms under a same namespace) are native to XMPP in the sense that MUCs can be namespaced at the domain level (e.g. "welcome@mycommunity.server.tld"), and then it's up to clients to do something about it. I've seen some discussions going over jdev recently but there didn't seem to be too much interest (even though clients have had a decades-long head-start to tease potential users).
IMO/IME, the "community" approach as found in discord & al. is rather detrimental and makes the relevant information hard to track because of excessive (per-server/community) rooms & notifications micromanagement. Decades old communities and projects have collaborated successfully on IRC over a single/couple of rooms and this doesn't seem like a problem in practice.
More than the proliferation of rooms, I'm more interested in threading which is seeing a comeback as of late (e.g. in Cheogram), which is somewhat more comparable to zulip and "gentler".
I like what Cheogram is doing, between the client and the funding model.
Let's say my interests are self-hosting and tennis, and I make public MUCs for self-hosting and tennis - great, but now what? How are users discovering the community. What is a chatroom without users? The community or traffic need to happen before the chat.
Ohh, so you were talking about finding communities in the literal sense. Most clients these days hook into the https://search.jabber.network/ API, so you can just go to the "discover channels" section of your client and type "selfhost" and find xmpp:[email protected]?join and xmpp:[email protected]?join
How likely do we think this is to be the interop format that the big name messaging apps use to support that EU regulation to allow cross app messaging?
I personally think it's likely. Facebook is one of the companies that will be targeted by EU's DMA and since they co-authored this standard, it seems likely they'd want to use it to respect the DMA. If Facebook uses it, others will adopt it because of their sheer control over messaging services.