Why is Matrix mentioned more often than XMPP in self hosted forums?
from cyclohexane@lemmy.ml to selfhosted@lemmy.world on 21 Apr 18:38
https://lemmy.ml/post/14727141

I’m looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?

Xmpp seems way easier to host, requiring less resources, has many more options for clients, and is simpler and thus easier to manage and reason about when something goes wrong.

So what’s the deal?

#selfhosted

threaded - newest

iso@lemy.lol on 21 Apr 18:47 next collapse

I don’t think XMPP is simpler than Matrix. With my insufficient knowledge; XMPP servers and clients have different standards. Some supports audio/video calls, some requires encryption while other maybe not etc.

Matrix has a standard set of features and all software around it built for those features. TBH I find Matrix pretty instable lately tho.

henrikx@lemmy.dbzer0.com on 21 Apr 18:51 next collapse

XMPP servers and clients have different standards. Some supports audio/video calls

And the same is true about Matrix lol

iso@lemy.lol on 21 Apr 18:58 collapse

Yes, you can shoot me from there and you’re right but I don’t see much difference between Matrix clients. The experience is pretty common between them. Synapse is de facto standard.

taladar@sh.itjust.works on 21 Apr 18:54 collapse

I was under the impression that there is only one Matrix server implementation. Standards are not really required in that situation.

farcaller@fstab.sh on 21 Apr 18:59 collapse

There’s way more and I already tried three implementations while trying to get a set of features I need. It’s a wild west out there and the resource usage is way higher than e.g. hosting Prosody. Seemingly it has to do with chatrooms being a full mesh, but my single user server consumes about 700mb RSS and 2.4 gb VSZ which is kinda high.

bradboimler@startrek.website on 21 Apr 18:47 next collapse

I think it has more to do with Matrix is kinda becoming the standard for secure open source messaging server but I do agree with you I would just use what works for you personally.

barbara@lemmy.ml on 21 Apr 18:50 next collapse

Xmpp is old and has no traction. Matrix is new and there are many people believing in it. There is a lot of money put on matrix. A lot of people want matrix to succeed. Especially companies, agencies and governments love matrix. Jumping on a train that already moves forward is easier than trying to push a standing train.

With xmpp, or signal I’ve got all my messages on my device. Distributing the info to other devices is difficult. With matrix everything sits on the server and distributes the info to the clients. That’s like my file cloud, or my photo cloud or my music server, or my document server. Everything is saved centrally on a server and all is independent of the consumer device. I can use multiple devices and everything sits on the server. That’s great for me as a user, it’s easy.

Xmpp is scattered which is great on one hand but matrix development is moving very fast. Xmpp can’t compete with that.

What’s the advantage of xmpp over signal for the end user?

just_another_person@lemmy.world on 21 Apr 19:10 next collapse

Wut

kbin_space_program@kbin.run on 21 Apr 20:31 collapse

If nothing else, there is space for a competitor to MS teams in the corporate space.

Everyone else is ending up on teams, but no one actually likes it.

Max_P@lemmy.max-p.me on 21 Apr 21:17 next collapse

Everyone ends up on MS Teams because they bundle it with Office365, so execs have the choice of “free” or another $12/mo/user for Slack. It immediately makes it a case of “justify how Slack is so much better we spend thousands on it when Microsoft gives us Teams for free”. Those execs don’t use chat software in the first place.

That’s why the EU forced them to unbundle Teams.

kbin_space_program@kbin.run on 21 Apr 21:29 collapse

No, not always. I know of a very major firm that uses google suite for everything but chat and video calls. They use MS Teams because its just that much better than google's alternative. From the chats Ive had, the issue with Slack there is that someone high up in their IT stack hates it.

lightnegative@lemmy.world on 22 Apr 08:51 collapse

Teams is relative.

At a previous job (Microsoft shop but in the public sector so 10 years behind), the standard messenger when I started was Skype for Business.

In case you’ve never used Skype for Business, it’s “Skype” in branding only and actually has nothing to do with the Skype software that Microsoft purchased and is more like MSN Messenger.

Compared to that, Teams is a huge step up.

Also, at a Microsoft shop, you have to use what Microsoft provides even though it’s usually balls.

It’s 90% of the reason I now refuse to work anywhere that’s bought into the Microsoft ecosystem. It’s just so… mediocre

Croquette@sh.itjust.works on 22 Apr 09:35 collapse

It’s not because you compare Teams to something worse that Teams isn’t terrible.

lightnegative@lemmy.world on 22 Apr 10:14 collapse

Well, as far as I’m concerned Skype for Business set the benchmark for terrible. Teams isn’t even close to being that level of bad

Croquette@sh.itjust.works on 22 Apr 16:35 collapse

I agree, but we should always compare to what is better and strive for that. Otherwise we get the situation today where the argument to take a product over another is that it’s less bad than the old one

Socsa@sh.itjust.works on 21 Apr 21:28 next collapse

I can use my published PGP keys with XMPP, for starters. And I can use OMEMO. Matrix supports neither afaik.

poVoq@slrpnk.net on 21 Apr 21:29 collapse

It is true that Matrix follows a fat server model, but multi-device usage works perfectly well in XMPP these days.

rglullis@communick.news on 21 Apr 18:56 next collapse

has many more options for clients,

The problem of XMPP is here. These options are not uniform among the possible different combinations of servers and clients.

The situation has improved a lot, but there was a point in time where saying “this is my XMPP handle” was far from enough to know if you’d be able to communicate with others, and you’d have to figure out things like:

  • Does the server support MUC?
  • Does the server support E2E? If so, which?
  • Are emojis supported on the server, or do they get converted to ASCII?
  • Can you use audio calls? If so, which codec?
  • If my client supports “share live location”, what do you see on your end?

Not to mention that until recently there was no decent XMPP client for iOS. Even today, the best alternative is siskin, which may have its vocal fans but quite frankly is pretty barebones and has a UI that would be considered ugly even in 2010.

Matrix as a protocol is technically worse than XMPP and Synapse is a resource hog compared to Prosody and Ejabberd? Yes, true. But at least I can tell non-technical people to download Element from the App stores and they will have a consistently-not-great-but-acceptable-and-improving experience.

derin@lemmy.beru.co on 21 Apr 19:18 next collapse

This is the correct answer, IMO.

I loved using XMPP back in the day, but I struggled talking with people who weren’t on the same server as me because of spec and client variations.

While Synapse is a resource hog, it (and Element) - to a certain degree - does the job. Can’t wait until sync v3 lands in the main server.

The only issue I have is with one friend who insists on deploying his own version of Synapse, but can’t figure out coturn and - as a result - we can’t voice chat properly.

Goddammit. Two steps forward, one step backward. 😅

helenslunch@feddit.nl on 21 Apr 19:43 next collapse

Funny I just launched Conduit this morning. Seems to work better than Synapse and is supposedly lighter.

derin@lemmy.beru.co on 21 Apr 20:06 collapse

Conduit sounds very exciting - but my synapse installation (and its concomitant database) is too old and big for me to make a switch to anything else just yet.

But I’m hoping Dendrite will one day allow me to migrate over - I don’t like how one of my most mission critical programs is a Python program running out of a packaged venv. 😅

antsu@lemmy.wtf on 22 Apr 00:40 collapse

Suggest your friend to give Eturnal a try maybe. I have it running on an Oracle free tier instance, and I use it daily to have video calls with my family using Synapse/Element (and Jitsi inside Element for group calls), and it works great. The documentation is very good too.

Edit: this is my Eturnal config, for reference:

eturnal: listen: - ip: “::” port: 3478 transport: udp enable_turn: true - ip: “::” port: 3478 transport: auto enable_turn: true - ip: “::” port: 5349 transport: tls enable_turn: true realm: turn.<MY_DOMAIN> tls_crt_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/fullchain.pem tls_key_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/privkey.pem tls_options: - no_tlsv1 - no_tlsv1_1 - cipher_server_preference

And the compose file: services: eturnal: container_name: eturnal image: ghcr.io/processone/eturnal:latest environment: ETURNAL_RELAY_MIN_PORT: 49160 ETURNAL_RELAY_MAX_PORT: 59160 ETURNAL_RELAY_IPV4_ADDR: <REDACTED> ETURNAL_RELAY_IPV6_ADDR: <REDACTED> ETURNAL_SECRET: <VERY LONG RANDOM STRING> volumes: - ./eturnal.yml:/etc/eturnal.yml:ro - /etc/letsencrypt:/etc/letsencrypt:ro restart: unless-stopped read_only: true cap_drop: - ALL security_opt: - no-new-privileges:true network_mode: host

derin@lemmy.beru.co on 22 Apr 09:59 collapse

Ooh, I’ll tell them to try it out - looks cool, cheers!

mbirth@lemmy.mbirth.uk on 21 Apr 21:54 collapse

But at least I can tell non-technical people to download Element from the App stores and they will have a consistently-not-great-but-acceptable-and-improving experience.

Conversations on Android looks and feels like any other modern messenger and supports basically all the XMPP features there are. And I found Monal on iOS to be pretty usable as well, when I tested it 3 years ago.

poVoq@slrpnk.net on 21 Apr 22:05 next collapse

Yes, Monal is catching up to Siskin fast, but until recently didn’t support a/v calls which is why many people still prefer Siskin.

As for a unified system, have a look at snikket.org which offers a one-stop solution under a single brand similar to Element. It uses lightly modified versions of Conversations, Siskin and Prosody (as a server) under the hood.

rglullis@communick.news on 21 Apr 22:07 collapse

Conversations on Android seems to be the default answer for “advanced client”.

But for everything else… look at Monal’s blog, they only added support to audio calls in October of last year. Nice to see it’s still being developed, but “too little, too late” seems fair.

poVoq@slrpnk.net on 21 Apr 22:16 collapse

The other XMPP client for iOS called Siskin has had a/v calls for many years now.

rglullis@communick.news on 21 Apr 22:22 collapse

Yeah, I mentioned it in the first comment. But seriously, it looks like something built in 2009. It might be functional, but only a die-hard XMPP fan would be interested in using it.

BrikoX@lemmy.zip on 21 Apr 19:07 next collapse

Google killed XMPP momentum. And while Matrix has many issues it needs to figure out, especially the development being almost exclusively supported by a for-profit company, they seem to slowly (very slowly) work towards more independence.

Matrix did some things right. Going with JSON spec instead of XML, having Element as uniform cross-platform client, offering bridges as a way to stay connected with your family and friends without needing to convince them to move (XMPP offers transports, but they function entirely differently) and offering end-to-end encryption by default.

XMPP in true open source fashion doesn’t have any uniformity from user perspective. Different ways to do the same thing on different clients, different clients on different platforms. That is a benefit for a savvy tech nerd, but it’s a huge inconvenience for a non-techie family member or friend.

cyclohexane@lemmy.ml on 21 Apr 19:52 collapse

Why is JSON better than XML? It’s more modern, sure, but from technical perspective it is not objectively better right? Not something worth switching protocols for.

You mention XMPP has transports as opposed to Matrix bridges. I thought they give you roughly the same outcome. What’s the difference?

BrikoX@lemmy.zip on 21 Apr 20:49 collapse

Why is JSON better than XML? It’s more modern, sure, but from technical perspective it is not objectively better right? Not something worth switching protocols for.

XML is unnecessarily complicated. By trying to cram everything into the spec, it’s cumbersome and hard to parse.

You mention XMPP has transports as opposed to Matrix bridges. I thought they give you roughly the same outcome. What’s the difference?

The goal is the same, but the way they archive that is different. For transport to work, you need an account on each platform you are using the transport on. It relays the messages through that account by mimicking the client. While bridges work by relaying the messages between rooms and not specific users.

My understanding is limited, so if you are interested, please do your own research.

cyclohexane@lemmy.ml on 21 Apr 21:22 next collapse

cumbersome to parse

Parsers have already existed for so long in every major language. Why need to worry about parsing?

And why need to worry about transports working differently if they achieve the same thing? They seem similarly convenient if I understood what you said correctly

oldfart@lemm.ee on 22 Apr 05:53 collapse

Additionally, libraries for XMPP exist in most languages, there is a varying degree of completeness, but they all do a good job of hiding XML from the programmer

poVoq@slrpnk.net on 21 Apr 21:44 collapse

Most Matrix bridges to commercial chat systems also require accounts on those networks. That’s the only way to make them work on most of these systems.

I guess you are specifically referring to the Matrix to Discord bridge that does work like you describe, but a similar bridge has existed for XMPP to Discord in the past but is currently broken and unmaintained. The currently working XMPP to Discord transport does require you to puppeteer a personal Discord account, but that is rather because of a different focus of the used transport framework than any technical limitation of XMPP in that regard.

BrikoX@lemmy.zip on 21 Apr 22:10 collapse

All platforms that don’t have public API access will require a way to relay that information, but I was talking about the difference in how the messages are relayed. Matrix bridges work fundamentally on each platform/protocol having its own room and relaying the messages through the bridged room instead of the user as XMPP does. That’s why you can relay the same messages to multiple rooms on Matrix, but can’t do the same on XMPP.

poVoq@slrpnk.net on 21 Apr 22:25 collapse

No, that is only an implementation detail, you can easily do a very similar thing with XMPP group-chats.

In fact the way Matrix does it is a major limitation and the source of an endless amount of issues with their IRC bridge.

allie@lemmy.mbl.social on 21 Apr 19:46 next collapse

I’ve been an XMPP user for decades. I use it daily to talk to all of my friends and most of my immediate family, so I’m certainly an advocate for it.

I think in the simplest terms Matrix gets mentioned more often because it’s newer and it’s development has largely been driven by a corporation with significant funding. XMPP had similar corporate sponsors years ago, but a lot of them moved on. The XMPP community isn’t gone, though, and XMPP development has continued.

As others have said, it’s true that XMPP had some difficult issues in the past with various clients only supporting certain extensions (XEPs), which meant what worked on one client may not work on another. This problem isn’t nearly as much of an issue nowadays, but it was frustrating in the past. There are official compliance suites that clients and servers can use to ensure they meet the base features for a particular purpose, so that has helped in that regard.

To me, XMPP is preferable because it’s a messaging protocol, not a giant graph database of all social interactions. I don’t need or want that. The main XMPP server software does handle message history that is synced across all devices, but this is often user configurable and none of that information is needed by or shared with other servers. MUCs are not replicated across the network, but only exist on the server that hosts them. While this does mean that server is a single point of failure, it’s much simpler to operate and, at least in my opinion, is better from a privacy perspective.

Traditionally XMPP, albeit with propriety extensions, has been used as the basis for a large number of messaging platforms. Google Talk was XMPP. Facebook Messenger was XMPP. WhatsApp still is XMPP, as far as I know. Kik is also XMPP. Google and Facebook’s platforms may still use XMPP, but I don’t know for sure. It certainly works as a messaging platform for lots of users, but without all the VC money, development is pretty much only done by volunteers or client developers that offer paid builds of their clients (like Conversations on Android).

EngineerGaming@feddit.nl on 21 Apr 19:54 next collapse

I am hosting both XMPP and Matrix now, and my main concern with Matrix is storage. I am afraid it would eat up the very limited disk space I have on my VPS. Conduit offers no built-in way to clean files up, and media is stored in a weird way that makes it a PITA to see which ones can and cannot be deleted. I now know that neither the database files nor the media can be just deleted.

I sorta like the idea of a chatroom existing on more than one server, but that MUST have been opt-in or at the very least opt-out.

neo@lemmy.comfysnug.space on 21 Apr 21:55 collapse

pidgin still doesn’t support omemo

poVoq@slrpnk.net on 21 Apr 22:00 collapse

Pidgin’s XMPP support hasn’t been updated in more than a decade*. Please don’t use Pidgin for XMPP! It lacks so much more than just not supporting e2ee via OMEMO.

*apparently they recently started working on a full re-write of it for an upcoming version, but it is slow going.

ErwinLottemann@feddit.de on 21 Apr 20:03 next collapse

because it’s new

poVoq@slrpnk.net on 21 Apr 21:25 next collapse

Many people have not used XMPP in years or never and go by hearsay of outdated information.

Matrix on the other hand had several million Euros of venture-capital to fund a marketing campaign.

cyclohexane@lemmy.ml on 21 Apr 21:47 next collapse

This makes matrix even less attractive to me lol. But you’re right, that’s a very good point.

rglullis@communick.news on 21 Apr 22:16 next collapse

several million Euros of venture-capital to fund a marketing campaign.

Citation needed. Matrix was funded by Amdocs initially, then got investment from Automattic and has gotten some contracts from European Governments, but AFAIK there is no “VC investment” and there certainly aren’t “millions to fund marketing”.

They do have better marketing than any XMPP developer, though. You basically don’t hear anything from process.one or the Prosody devs.

poVoq@slrpnk.net on 21 Apr 22:31 next collapse

As unpopular as VC funding is in some circles, the Matrix community owes a huge debt of thanks to Element’s investors (Status, Notion, firstminute, Dawn, Automattic, Protocol Labs and Metaplanet) and Amdocs for funding over $50M of work on both Matrix and Element since 2017.

Strait from their blog.

rglullis@communick.news on 21 Apr 22:54 collapse

Ok. I lost track of their funding. Seems like they raised $30M in a series B round in 2021.

Still, look at the timeline. 2021 is not that long ago, and Matrix was already ahead of XMPP in mindshare by then. It’s not really fair to say that this money was only spent in marketing, and it is not fair to say that without it XMPP would be making some comeback.

poVoq@slrpnk.net on 21 Apr 22:58 collapse

I didn’t say it was only spend on marketing, but they sure send a lot of people to developer conferences everywhere and offered “free” services to many open-source projects with that money.

rglullis@communick.news on 21 Apr 23:38 collapse

They were doing that before 2021. Even acquired gitter and ported it to Matrix.

poVoq@slrpnk.net on 21 Apr 23:42 collapse

Yes and they had plenty of funding from highly questionable sources before 2021 as well. Even if you only take the 20 million difference in two figures mentioned above, but Element also partnered with a really shady crypto-currency startup in 2018, which had its own sources of investor funding.

rglullis@communick.news on 22 Apr 00:52 collapse

Sorry, but now this is starting to sound like sour grapes.

Ok, they got a good amount of funding. But that alone is not enough to justify how they managed to gain as much mindshare as they did in relation to XMPP.

Element’s funding in 2018 or 2021 did not steal any opportunity for (e.g,) snikket to work on their product. Element following the “cathedral” model allowed them to be faster in the development of multi-platform clients, while the XMPP devs were all fixed to the Bazaar ideal, and because of that absolutely failed to deliver a modern application in the platform that is used by half of mobile users in the US.

We (techy types) tend to ignore things that end users care about and we are a lot more forgiving with systems that we see as “technically superior”, but the market cares a lot more about things like “Can I send emojis without having to worry about what client people use?” then “synchronization model or disk space requirements”.

This is not just “marketing”, this is “having someone with actual business and product sense”.

If it was up to me, sure I’d wish that more people would be using XMPP. But in 2019 when I told my parents that I wouldn’t be using WhatsApp anymore and that we needed a different app if they wanted to have video calls and see their grandchildren, XMPP was not even a choice for my iOS-using father, and Element (née Riot.im) was at least usable.

poVoq@slrpnk.net on 22 Apr 01:21 collapse

Both Matrix and federated XMPP are irrelevant in the larger picture, but Element chose to reinvent the wheel to have a product they could more easily market to investors. Had they spend a similar amount of money and developer hours to improve existing XMPP based options we might have an actually working and popular alternative now.

But as it stands, we have a quite fundamentally broken Matrix protocol & ecosystem with some semi-usable but more modern looking clients and a working and well proven XMPP ecosystem that is extremely starved of funding and developers.

You can call this “sour grapes” all you want, but it is the sad fact and a direct result of outside investments screwing with incentives of developers.

Edit: and on an ironic side note: in 2019 Riot.im was using a fancy wrapper around Jitsi-meet for all video-calls which is internally using XMPP, so you were in fact using XMPP as that was the only usable solution back then.

rglullis@communick.news on 22 Apr 02:10 collapse

Had they spend a similar amount of money and developer hours to improve existing XMPP based options we might have an actually working and popular alternative now.

And where would they get this money in the first place?

poVoq@slrpnk.net on 22 Apr 02:30 collapse

Venture-capital is not the only source of funding that they have, and only a tiny fraction would have been necessary to get to the same point if they had not wasted most of their funds reinventing a worse version of xmpp.

rglullis@communick.news on 22 Apr 06:06 collapse

If that is true, then why can’t the existing and current players in the XMPP space do it?

poVoq@slrpnk.net on 22 Apr 08:51 collapse

Because venture-capital funded grifters from Element are undercutting them for government contracts and offering “free” services to other organisations that would have otherwise likely funded some work on xmpp.

rglullis@communick.news on 22 Apr 09:30 collapse

Now, that is quite a stretch. We had almost 15 years of zero interest rate economic policies, all the “cheap” capital available to everyone and you are telling me that none of the companies with a vested interest in XMPP managed to get resources to grow because Element was sucking out all the air from the room?

If getting XMPP to be in a state that could compete with the proprietary messengers were that much cheaper than the resources taken by Element, why is it that none of telcos pushed for it to have something to show in the OTT space? Or why couldn’t Process.one/Prosody get any VC interested when there are so many firms that make a living of just copying whatever is trending?

You are trying to rationalize XMPP’s failure to get more adoption by blaming Element, but this is not a zero-sum game. I’ve been to XMPP meetups, and absolutely no one ever talked about initiatives to make it more appealing to masses. Everyone just wanted to geek out and scratch their own itch. If the XMPP community never valued commercial success, fine, but then don’t act like someone else robbed their lunch when all Element did was do the work that XMPP supporters didn’t want to do.

poVoq@slrpnk.net on 22 Apr 09:54 collapse

Ok this is starting to get hilarious in how naive you are. Have you looked at the messenger space at all? There are literally hundreds of venture-capital funded grifters competing in that space and Element is only one of them. And they are all playing a losing game these days, as they are up against giants like Discord (and to a lesser extend incumbents like Microsoft, with their Teams).

That the established XMPP players chose not to be part of this grift is a very sensible choice that also makes business sense if you care about the longer term survival of your company. Most of their income is from embedded and IoT applications these days, like running the notification infrastructure of giants like Nintendo. However, this sadly does not fund client development and improvements in user interface. The only sustainable funding for that was from open-source organisations and government agencies, which Element decided to persue aggressively. None of the established XMPP players felt like getting in on that race to the bottom as they didn’t have (and want) venture capital to burn. But now that Element has started to run out of funding they are turning to the “switch” part of the bait & switch grift and the ones really hurt by this is not XMPP, but all the organisations that naively trusted them with their communication infrastructure.

rglullis@communick.news on 22 Apr 11:08 collapse

So, companies working on XMPP are healthy and thriving, but they can not afford to extend into the consumer space because… they don’t want to go up against Discord?

makes business sense if you care about the longer term survival of your company

Then you make a separate entity to take risks in that space, kinda like what Amdocs did with Matrix?

I’m sorry, you can’t have it both ways. Either XMPP consumer XMPP is in a dire situation because Element beat ahead of the others due to their VC funding, or businesses working on XMPP are not interested in the consumer space because they don’t see it as worth the risk. But it makes no sense to claim that Matrix has achieved bigger mindshare with no actual merit in making a more accessible product, and that XMPP is acceptable as is.

poVoq@slrpnk.net on 22 Apr 11:46 collapse

You are either arguing a strawman or are intentionally distorting what I said.

My argument is that venture-capital has enabled Element to snatch away the little sustainable funding that exists in the open-source messenger space and this directly reflects in the not great state of the remaining fully hobbyist developed clients for XMPP. However, the same time Element spectacularly failed at using these funds to actually create a competitive system thus in the end they poisoned the well and burned a lot of money. This is a common pattern of venture-capital funded endeavours that was easy to see coming but Element prioritized short term gains over their stated goals.

rglullis@communick.news on 22 Apr 13:24 collapse

I am not trying to distort anything, I just don’t agree with your “venture-capital has enabled Element to snatch away the little sustainable funding that exists” premise. I don’t see what going after government contracts has to do with “open source funding” and I don’t think that “using VC funds to give away free stuff for developers” is something to be held against them just because the XMPP companies are not willing to risk it.

If the XMPP business are thriving in the IoT space, good for them. But to me, as a consumer, this means nothing if they are not willing to compete in the space.

Also, as long as we are talking about Free Software for the end product, I honestly do not care about who is funding it. All I care about is that I can find some way for my parents to talk with me and see their grandkids without depending on Facebook/Google, and if doing it with Element/Matrix is easier than doing with XMPP/siskin, then I’ll be using Element. I don’t need any of them to pass some arbitrary purity test, I just need them to deliver something minimally usable.

poVoq@slrpnk.net on 22 Apr 13:32 collapse

They can’t compete against “free” as enabled by venture capital funding. And you are being extremely naive if you don’t see the issue with that or who is behind a product even if the code is nominally FOSS. Have you been living under a rock the last couple of years? There is even an popular term for it called “enshittification” and it doesn’t matter much for that if the code is FOSS. This is not about purity, but rather about not shitting into your own water supply.

rglullis@communick.news on 22 Apr 14:04 collapse

Again, if “venture funding” is some sort of cheat code, why can’t XMPP make use of it? Do you want some moral high ground or some minimally useful product with mass reach?

nominally FOSS

Does it allow copying and redistribution? Yes

Can people fork it in case Element tries anything ridiculous like what happened with Elastic/MongoDB/Redis? Yes.

The thing is FOSS. This is what matters. Enshittification is being thrown around way too easily nowadays

rather about not shitting into your own water supply.

And where is the water provided by the XMPP side? “if you are on iOS, use siskin” is not at all an acceptable answer on 2024. The mobile OS with the largest market share in the USA simply does not have a decent client. What is going to be the next line? “People shouldn’t be using iOS anyway, so we shouldn’t spend our resources on it?”

Honestly, we are going in circles now. I don’t want to get in some type of flamewar over two separate open protocols. It starting to get ridiculous like discussing which branch of the Christian Orthodox Church is the purest one.

poVoq@slrpnk.net on 22 Apr 14:38 collapse

It’s not a “cheat code” it is a self-defeating funding mechanism as clearly seen with Element. The venture-capital funders don’t care what happens with the individual projects, all they care is to milk them dry at some point and hope that there is at least one that managed to capture the market and thus turns into a monopoly cash-cow.

There are good reasons for companies not wanting to play that game as it is a poisoned gift for most of them, and it is increasingly evident that this is true for Element as well.

P.S: Monal works fine now. But honestly, Apple is such a shit company for open-source projects that it is no wonder that people were not exactly excited about developing a client for it, and Element siphoned up all sustainable funding that might have paid for improving the commercially developed Tigrase iOS xmpp client (Siskin).

rglullis@communick.news on 22 Apr 16:10 collapse

Monal works fine now.

No, it doesn’t. It is still far behind in features compared with Element. It still doesn’t have things like reactions, which is pretty much standard in any messaging app.

That you think that Monal is an acceptable alternative makes me believe that your biases are clouding your judgment and make it very difficult to accept your premise about Element being “damned” because of its funding. But let’s just agree to disagree, because I don’t see how this discussion can go any further.

lemmyreader@lemmy.ml on 21 Apr 22:43 collapse

They do have better marketing than any XMPP developer, though. You basically don’t hear anything from process.one or the Prosody devs.

XMPP developer gultsch.social/@daniel does a good enough job at that imho

oldfart@lemm.ee on 22 Apr 05:49 collapse

Thos, exactly this. Whenever I ask the question OP asked, it’s always some people who used some ancient client in 2008 and never bothered to try again. And then Matrix came to existence with their marketing and they happily started using it, even though it didn’t have any better features

Corgana@startrek.website on 22 Apr 15:44 collapse

it’s always some people who used some ancient client in 2008 and never bothered to try again.

The biggest hurdle for widespread adoption of open platforms, imo.

ericjmorey@programming.dev on 21 Apr 22:16 next collapse

I’m going to throw this out there not being sure how true it is, but I find it interesting to think about.

XMPP is much more widely used than Matrix if you count WhatsApp (Meta/Facebook). ActivityPub is much more widely used than AT Protocol and nostr combined if you count Threads (Meta/Facebook). So reasons why people aren’t talking about XMPP include not wanting to recognize that Meta is hugely influential in this space and that most people don’t talk about the underlying protocols of the services and tools they’re use at all leaving a self selected group of people looking for alternatives with traction that don’t depend on Meta. Outside of WhatsApp, there’s not a lot of traction with any particular XMPP implementation. And none of the XMPP implementations have a Discord-ish organization of chat rooms that’s popular and familiar right now. Matrix has both right now (although I don’t think it will ever be more than a small niche in the mobile messaging space).

I’m fine with using Matrix for what it is. There are programming language communities that have been very helpful for me and a number of Lemmy related communities that have been nice to be a part of.

poVoq@slrpnk.net on 21 Apr 22:47 collapse

WhatsApp is using a complete fork of the XMPP specifications and never had influence on XMPP. In the early days when Facebook messenger was using XMPP as a C2S interface they had a bit of influence but what you said used to be much more true for Google some years ago and what happened there is a major reason why people don’t want Facebook to become influential in ActivityPub (which it isn’t yet).

Inui@lemmy.ml on 21 Apr 23:52 next collapse

aaa

BautAufWasEuchAufbaut@lemmy.blahaj.zone on 21 Apr 23:56 next collapse

Dino and Conversations weren’t good enough?

allie@lemmy.mbl.social on 22 Apr 02:07 collapse

I couldn’t find any decent XMPP clients that supported encryption and worked on both desktop and mobile without looking like they were made in 1995

For Linux and Windows, gajim works very well and is easy to use. It definitely doesn’t have an interface from 1995. If you need something easier for people on Linux, dino is even more streamlined and is extremely easy to use. I think there was an effort to make a Windows build too, but I don’t know how far along that is or if they are still working on it.

For Android Conversations is the gold standard. On macOS there’s Sikin and Monal, but I’ve never used them since I’m not a Mac or iPhone user. But all these clients support a wide variety of features including encryption.

It also doesn’t seem to function well as a Discord-like replacement, since I don’t want a separate “group chat” for every single topic. I want a central hub where people can then join pre-existing channels like you can in Discord and Matrix.

I’m not sure I follow you on this point. XMPP has had MUCs (Multi-user Conferences) which function similarly to chat rooms/IRC channels for a long, long time. The channels are accessible regardless of what server you’re on as long as your server is federating with the wider XMPP network. There’s even a searchable list of public MUCs at search.jabber.network covering a variety of topics. Most servers allow creating new channels if you want to start a new one, and anyone can join regardless of their server.

[deleted] on 22 Apr 02:51 collapse

.

allie@lemmy.mbl.social on 22 Apr 03:00 collapse

Not sure what the problem with Gajim was. There’s a distro package already in Arch, although I usually use the AUR packages from git. I haven’t had any problem with either of them, though.

You should be able to limit MUCs so that they’re only for local users of a server and not accessible to people outside the server. Or, you can make them invite only, require a password, etc. So there are options there.

One-to-one video and audio chat works pretty well with XMPP. I don’t think group video/audio works, but I’ve never tried. I know that’s a really popular thing on Discord, so it’d be nice if XMPP had that too. I think there’s some work toward it, but I don’t know where that’s at.

Lemongrab@lemmy.one on 21 Apr 23:52 next collapse

If the goal is to make a similar experience to discord, we should make a desktop/android client which changes the way the info is shown. I boil down discords main features this: 1-to-1 call/text, modern messenger features (emojis, text, audio, video, link embeds), servers with the option for channels and always on voice chats, group chats (weird overlap with servers). Always on voice chats should be as simple as disabling notifying or dialing members. Is it not just that simple to get a heavily reduced version of discord? Maybe noisetorch for noise cancelation.

kevincox@lemmy.ml on 22 Apr 01:14 next collapse

I don’t think you can pick out any one reason. XMPP is very old and has extensions for a huge variety of features. Many people have experience with older versions which had many major missing features (such as strong multi-device with offline support and server-side history) and a lot of the “hype” has died out long ago.

Matrix is new and made a lot of decisions that really helped its popularity.

  1. Having a HTTP-based client-to-server protocol makes web clients very easy to make.
  2. It is based on sync and merging rather than messages which moves some difficult problems (like multidevice and server-side history) into the core protocol meaning that it works well out of the box.
  3. Having HTTP based protocols make hosting it familiar for many people.
  4. The “default” Element clients have lots of features out of the box, features that for a long time were not always present on XMPP servers or clients. This gives a more consistent experience.

We will see what the history holds. Matrix is still very new and maybe the hype will die out and we end up moving back to XMPP. Or maybe something new. Overall I don’t think there are major fundamental differences. I think Matrix making graph sync the core primitive to build off of was a good idea, but in practice I don’t think it matters much.

You say that XMPP is much lighter. But I think that is mostly due to Synapse not being very efficient. Other implementations are fairly light. Even then my Synapse is using fairly small amounts of resources. You should also check that you are making an apples-to-apples comparison with large rooms, media and message history like you would typically see in a common Matrix server.

allie@lemmy.mbl.social on 22 Apr 02:13 collapse

You say that XMPP is much lighter. But I think that is mostly due to Synapse not being very efficient. Other implementations are fairly light. Even then my Synapse is using fairly small amounts of resources. You should also check that you are making an apples-to-apples comparison with large rooms, media and message history like you would typically see in a common Matrix server.

I have a Prosody server running with about 10 concurrent users (friends/family). I just checked and it’s using 32M of RAM, local storage is in the megabytes. The database I’m using as a backend for message history and such is about 70MB. The only other data is temporary cache for uploaded media, which varies depending on what’s uploaded. How does that compare with a typical Matrix server for friends and family?

mao@lemmy.sdf.org on 22 Apr 10:29 next collapse

How did you manage to convince friends and (especially) family to actually use Matrix? Quite impressive!

kevincox@lemmy.ml on 22 Apr 13:27 collapse

My Synapse install is using 94MiB of RAM and 500MiB of database disk space. CPU usage is effectively zero. I only have a 3 active users but decades of conversation history for myself (imported from other services). An uncompressed pg_dump of the data is about 250MiB which is within an order of magnitude of the raw text that I have in it. Nearly all of the conversations are encrypted so it wouldn’t compress much.

Given that just running python takes 13MB of RAM it probably isn’t using many resources past loading the code. At least at small scale running a Matrix server is not a notable resource burden for most people. A Matrix server written in a more efficient language (like Conduit) would likely be fairly similar to an XMPP server written in the same language. Either way unless you are hosting thousands of users it doesn’t seem like this is a major problem for either protocol.

poVoq@slrpnk.net on 22 Apr 15:17 collapse

It should be noted here that Synapse resource use is highly dependent on the specific usage and can easily blow up if even a single user is joining a lot of large popular rooms on the Matrix network. XMPP has no such issue and scales pretty linear with user number.

Decronym@lemmy.decronym.xyz on 22 Apr 03:05 next collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
Git Popular version control system, primarily for code
HTTP Hypertext Transfer Protocol, the Web
IoT Internet of Things for device controllers
VPS Virtual Private Server (opposed to shared hosting)
XMPP Extensible Messaging and Presence Protocol (‘Jabber’) for open instant messaging

4 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #699 for this sub, first seen 22nd Apr 2024, 03:05] [FAQ] [Full list] [Contact] [Source code]

onlinepersona@programming.dev on 22 Apr 10:02 collapse

@Two9A@hachyderm.io

Missed the XMPP acronym. Probably needs to scan the title too

Anti Commercial-AI license

boblemmy@lemmy.world on 22 Apr 03:37 next collapse

I’m trying out another extremely lightweight nostr relay

smileyhead@discuss.tchncs.de on 22 Apr 10:42 collapse

May be lightweight, but why there has to be one?

boblemmy@lemmy.world on 22 Apr 11:53 collapse

In order to ensure that my account’s historical data is backed up, I am worried that other relay servers will disappear or fail

onlinepersona@programming.dev on 22 Apr 11:15 next collapse

Matrix clients are simple, easy, and nice to look at. The matrix server might need more resources, but it comes with everything out of the box. There’s no need to fiddle with extensions and their weird naming, and hope that the other server/client also supports the extension. Also, are there bridges to other protocols?

I remember trying to get encryption working on Pidgin and it was all around a bad experience.

XMPP might be as powerful or more powerful than matrix, but nothing about it screams modern. It’s like IRC for Gen X’ers.

Anti Commercial-AI license

poVoq@slrpnk.net on 22 Apr 12:13 next collapse

You are basing your experience on Pidgin, which is the worst possible choice for an XMPP client that hasn’t been updated in over a decade. Other XMPP clients are relatively modern looking and easy to use, including encryption (probably easier than Matrix for most users).

onlinepersona@programming.dev on 22 Apr 12:37 collapse

I looked at Dino and another one mentioned here and they look dated. Windows 95 feel with better anti-aliasing, rounder corners, but same colors? Gtk 2 or something?

Pidgin was my messenger of choice to communicate with people on facebook, gmail, and a few other protocols back then.

But yeah, my experience with XMPP wasn’t good and if they don’t have bridges, there isn’t much of a reason for me to switch right now. It doesn’t seem to provide any advantages over Matrix.

Anti Commercial-AI license

poVoq@slrpnk.net on 22 Apr 12:52 next collapse

Dino has an intentionally simplistic design, but it doesn’t look “dated” at all. Gajim or Movim both look pretty modern and similar to Discord etc. these days.

And XMPP has bridges to pretty much all major commercial networks, it just doesn’t have a major centralized provider of them that in exchange siphons up all your personal data like Element & Beeper does. But you can easily self-host the available bridges for XMPP.

onlinepersona@programming.dev on 22 Apr 13:18 collapse

Dino has an intentionally simplistic design, but it doesn’t look “dated” at all.

That’s highly subjective, but I’ve shown some Gtk3 apps to people at work and the most expressive first reaction I got was “ew”. Dino and others getting that exact reaction wouldn’t be surprising.

it just doesn’t have a major centralized provider of them that in exchange siphons up all your personal data like Element & Beeper does. But you can easily self-host the available bridges for XMPP

And this is another reason why it isn’t prominent. “Grandma, all you need to do is host an XMPP server. It’s incredibly easy”.

Anti Commercial-AI license

poVoq@slrpnk.net on 22 Apr 13:26 collapse

You can easily do it for your Grandma. But your argument can be just as easily applied to Matrix vs. WhatsApp etc. If you use the centralized services of Matrix.org or Beeper then Matrix is just a very poor version of Discord.

Patch@feddit.uk on 22 Apr 18:26 collapse

I looked at Dino and another one mentioned here and they look dated. Windows 95 feel with better anti-aliasing, rounder corners, but same colors? Gtk 2 or something?

Looks like a standard GTK4 app to me. Whether or not that is to someone’s tastes is obviously subjective, but it uses the same design language as every other GTK app under the sun.

GTK apps always look out of place on Windows though. Looks far more sensible in its native environment (i.e. *nix running GNOME).

onlinepersona@programming.dev on 24 Apr 08:33 collapse

🤔 maybe GTK4 apps look dated to me. Didn’t realise that’s what GTK4 looks like.

Anti Commercial-AI license

fine_sandy_bottom@discuss.tchncs.de on 24 Apr 02:59 collapse

The anti AI license is so lame.

anzo@programming.dev on 22 Apr 12:33 next collapse

Tinode and Snikket should be discussed too. They’re server and clients, built upon XMPP and including the many extensions, “XEPs” that an admin would want in order to give their users a modern experience.

poVoq@slrpnk.net on 22 Apr 15:11 collapse

Tinode is not XMPP/Jabber. It is not compatible with XMPP. It’s meant as a replacement for XMPP.

From their repo. it has AFAIK nothing to do with XMPP, they just use it as an SEO term.

Samsy@lemmy.ml on 22 Apr 14:24 next collapse

Show me a docker compose file which I can simply start and don’t have to mess around more than deploy it, and I will discuss xmpp more often.

cyclohexane@lemmy.ml on 22 Apr 14:52 next collapse

Here is a docker compose: snikket.org/service/resources/docker-compose.yml

You only two configuration options in the config file: domain and email.

lemmyreader@lemmy.ml on 22 Apr 14:55 next collapse

I’ve tried Snikket a few years ago. Nice project. 👍

Samsy@lemmy.ml on 22 Apr 15:57 collapse

OK, I’ll give it a try. Thanks.

fine_sandy_bottom@discuss.tchncs.de on 24 Apr 02:56 collapse

I never tried hosting matrix because it was rumoured to be a bitch to host.

corsicanguppy@lemmy.ca on 22 Apr 15:57 collapse

I’m not sure if you noticed this, but Matrix is newer. And, as Barney Stinson will tell you, “Newer is always hotter”.

STD: Shiny Things Disease.

They’ll find something newer soon. And, if it uses some loose install method with performance or security concerns but installs with a negligent curl|sh, they’ll be all over it.