7 ms·
Can someone please explain, why use Matrix while there's XMPP ?
by ruslan 3y ago
Can someone please explain, why use Matrix while there's XMPP ?
- pmlnr 3y agoPreference, I guess. It appeals to the masses who are growing up on discord and slack. I also prefer XMPP.
- soulmerge 3y agoFor me it's about federation. I have my own server and chat with my family there. And I also have friends with accounts elsewhere and I can message them as well. And I'm looking forward to integrations (Slack, Signal, ...) being more user-friendly, and easier to install, configure and maintain, so I can message others, too.
- CameronNemo 3y agoXMPP is federated and has some integrations (among them, SMS/MMS and phone call support).
- pkulak 3y agoMatrix is more like a state synchronization service than a way to send messages. If I join a room on another Matrix server, my server will begin maintaining a copy of that other sever for me to use how I like. If I shut my server down for a day, it will sync back up when it comes back. I’m not sure if XMPP works like that, but I always thought it was more like email: send a message, maybe retry a bit, but that’s about it. Not sure how transient things like presence, read receipts, and typing notifications work either, across servers.
- Freie_Messenger 3y agoMatrix is like chatting via GIT (distributed databases) and tends to be a team messenger like Mattermost or Zulip - XMPP is structurally like email (but with options like online status, currently typing, last online, ...) and is often used by large messenger services (e.g. WhatsApp uses its own variant of XMPP). XMPP is the only system that can and may(!) be used wherever email is in use. XMPP is just as "modern" as Matrix, but has a _different _ data storage/distribution idea. Comparison: https://www.freie-messenger.de/en/systemvergleich/xmpp-matrix/ https://www.freie-messenger.de/en/systemvergleich/xmpp-matri...
- ruslan 3y agoThanks!
- j1elo 3y agoBecause summaries like this still stand up as of today: https://news.ycombinator.com/item?id=8998290 https://news.ycombinator.com/item?id=8998290 > XMPP is great for what it was designed for. It doesn't work well with mobile, high packet loss & high latency connections. XMPP is talkative and bandwidth intensive - bad for limited data/battery applications. It also wasn't designed for today's 1 person multiple devices reality. Most XMPP servers let you log in multiple times but messages don't sync between clients and sometimes get delivered to the client the user isnt currently in front of. > Also, sending files over XMPP has pretty much always sucked - there are a bunch of incompatible ways to do it and it's always been hit and miss depending on which client your chat partner was using, network topography, etc. Also, overload of XEPs doesn't help the ecosystem. Too many optional extensions hinders interop. People expect more features in modern chat experiences than what XMPP was designed for, and that's what XEPs have tried to fix as a bandaid, with mixed results. On top of that, the technology choices are par of the course for the time it was designed, and nowadays there are arguably better things. Devs are naturally driven to choose tech that makes their work nicer, if they enjoy it, so that means more stuff gets done for the newer platform, in this case. As an example, coincidentally, another HN post today was touching on one of those points - the need for a very advanced XML parser, as a typical one apparently wouldn't be enough: https://news.ycombinator.com/item?id=36930196 https://news.ycombinator.com/item?id=36930196
- Andrew_nenakhov 3y ago> It doesn't work well with mobile, high packet loss & high latency connections. This is an absolutely false, baseless statement, mostly amounting to FUD. Messages work well on mobile, and they sync between devices just fine. > Also, overload of XEPs doesn't help the ecosystem. On the contrary, XEPs create the ecosystem. As I often say, Matrix is not a protocol, it's a product with an API created by a single organization.
- sdflhasjd 3y agoI worked briefly on a mobile XMPP chat solution a few years ago, and considering this was when 3G was the best you could get and the application had to deal with some pretty bad connections, I don't remember XMPP having any intrinsic limitations like that.
- maccam912 3y agoNetwork effect? I use matrix today. What does xmpp have that I should switch for?
- toastal 3y agoXMPP by its extensible nature can be a social network (Movim), a community organizer (Libervia), or can be used for basic presence, etc. & these can sit atop your XMPP server (Prosody, ejabberd, etc.). Matrix, without extensibility, is kinda relegated to chat (text, voice, video) only. The push-based servers make clients efficient, and both Prosody & ejabberd can be UnifiedPush server with a basically a boolean flip in the config—interestingly can be a push server for Element & other Matrix clients instead of relying on Google.
- ptman 3y agoMatrix is very extensible. You can start sending your own yc.toastal.test.first event type and put any json as value
- Tmpod 3y agoLike the other commenter said, Matrix is very extensible, as you can just send custom events as you wish. There's also lots of emerging non-IM platforms built on top of Matrix, like collaborative whiteboards, virtual rooms, embeddable comments, etc. With the new protocol-level performance MSCs coming around the corner, Matrix is becoming ever more appealing for all sorts of applications.
- rakoo 3y agoYou can run a functional server for multiple people on a very low-power device.
- CameronNemo 3y agoJMP.chat Speaking as a user of both element generally and Cheogram/JMP.chat. I still use both.
- erinnh 3y agoMy first thought was: „my question would be the reverse“. I have no idea why I’d use XMPP, so I will tell you what I like about Matrix. - modern chat solution with features people have come to expect from Slack and Discord - many bridges that have kept me from having to use more than one chat client for multiple protocols (think pidgin) - lots of great communities are on matrix - pretty good voice chat - open source - selfhosted Those are my main reasons why I like Matrix. My question to you would be: what do you like about XMPP?
- rhn_mk1 3y ago> what do you like about XMPP? - plenty of fast native clients - server resource usage - simplicity of the protocol, especially the encryption
- rglullis 3y ago> plenty of fast native clients And God help you making all of them talk to each other properly...
- leetnewb 3y agoI have used conversations (and derivatives), gajim, dino, converse.js, and movim to have omemo encrypted xmpp conversations; and I talk to people on Siskin and have used profanity in the past. Seems to work properly, unless I'm missing something.
- nine_k 3y agoThere's the least common denominator XMPP, with a lot of key functions under optional XEPs. Thus the user experience is very uneven across clients and servers. Matrix has a more defined set of important features, so you could expect that conforming clients all implement them uniformly, without surprises.
- freeopinion 3y agoFunny, I recently got pretty frustrated looking for a decent Matrix client. Not even Element claimed to support the full list of features on the Matrix website. And Element has super bizarre behavior like not allowing to paste into the message composer. And good luck getting help when a client doesn't work. That said, I can't claim XMPP clients are any better.
- Arathorn 3y agoElement is basically 3 different clients - web, ios and android are different codebases. Paste to composer should work on all of them tho! Meanwhile on mobile there is a new client called Element X which is a single codebase built on matrix-rust-sdk: https://element.io/blog/element-x-experience-the-future-of-element https://element.io/blog/element-x-experience-the-future-of-e.... Classic Element should support every specced feature in Matrix tho, and tonnes of MSCs, so unsure what features you’d be missing. Meanwhile Element X is less featureful, but way more performant and stable (we’re aiming for better-than-telegram UX and perf).
- freeopinion 3y agoThanks for the reply. I saw your demo of Element X a while back and it looked awesome. I'm excited for it to show up for desktop use. Of course you are already familiar with https://matrix.org/ecosystem/clients/element/ https://matrix.org/ecosystem/clients/element/. I know it is pretty ticky to point out that "Multi Account" is not supported, but it happened to be a feature I was particularly looking for in my search. My IRC client, for instance, lets me be logged into multiple servers with different accounts at the same time. Yes, I know that a single account on one server can communicate across all federated servers. The same is true for email, yet my email client allows me to use multiple accounts. I'm heartened to see that you have included the feature on your checklist. I hope that means somebody is thinking about it. I know that Element should allow me to paste into the composer. I was told exactly that in the matrix room when I asked. "Works for me" is as frustrating a response as ever. I've seen the issue reported a number of times by different people with pretty decent detail, but I haven't seen a solution. Just "works for me" responses. I'm still a Matrix user. I just accept that I don't have everything smoothed out the way I'd like. My post above was just a response to the claim that XMPP clients don't have uniform features. Well, as you know, neither do Matrix clients. But you weren't the one making that argument. Don't take my posts as negative criticism, even if there is some criticism there. Keep up the great work. Keep getting better.
- ziftface 3y agoIsn't xmpp old style instant messaging? As in, if you miss a message because you had poor connection or the application wasn't running then it's gone? Matrix does not work this way.
- Freie_Messenger 3y ago> Isn't xmpp old style instant messaging? No. XMPP is just as "modern" as Matrix, but has a _different _ data storage/distribution idea. see: https://news.ycombinator.com/item?id=36939676 https://news.ycombinator.com/item?id=36939676
- rakoo 3y agoThat was true 20 years ago. For the past 10+ years XMPP has had Stream Resumption that allows you to resume a few stanzas you missed recently (typically with a poor connection), and Message Archive Management that stores everything on the server that you can then retrieve on the client. XMPP has had little place on the public stage, but that doesn't mean it stopped evolving.
- kitkat_new 3y ago> and Message Archive Management that stores everything on the server that you can then retrieve on the client. if and for how long will be decided by the person who is running the server the chat room was created on
- therein 3y agoXMPP supports delayed delivery. It works although I have had minor issues with it, especially if OMEMO is enabled. https://xmpp.org/extensions/xep-0203.html https://xmpp.org/extensions/xep-0203.html
- nicoco 3y agoI think it's mostly through server side archives that chat history is kept in sync between devices nowadays https://xmpp.org/extensions/xep-0313.html https://xmpp.org/extensions/xep-0313.html