6 ms·
What are the differences between Matrix and Jabber? Jabber implemented a protocol with similar mechanisms several years ago, with a custom xml protocol which c
by fb03 8y ago
What are the differences between Matrix and Jabber?
Jabber implemented a protocol with similar mechanisms several years ago, with a custom xml protocol which could also pass not only text but also rendezvous data for voip/video calls and whatever else custom data you could codify.
Jabber has native protocol implementations for both clients and servers and can handle a reasonable amount of connections with ease. Clients are available throughout all platforms.
I'm asking this question because I believe the reason Jabber "failed" (read: didn't catch as much as other closed alternatives like WhatsApp) wasn't because of technology hurdles, because it was poised to solve the very same problem Matrix works against - which is 'IM fragmentation', but actually a lack of a proper plan to generate interest with its intended population.
I'd say work on your release plan and make your clients 'tasty' and snappy, because technologically speaking, I believe Jabber has already solved all the technological problems Matrix strives for.... and it sadly wasn't enough.
- vbezhenar 8y agoI think that main difference is the fact that Jabber has important features (in 2018 year) as an optional extensions. So you have to carefully search for a proper client and server which support those features (and your companion's client AND server should support those features as well). Matrix should have those features in core and any server or client is supposed to support them. That said, I think that main problem with Jabber is lack of a single entity pushing it. So it'll naturally lose fight against corporation with billion-dollar marketing budgets. With Matrix it might be better. Sometimes technologies losing or winning for very ackward reasons. I don't believe that Jabber will win, but with Matrix it's possible. We should keep trying.
- dnel 8y agoThe thing that concerns me about this is that while Matrix might be a more modern protocol today, it won't be long before the world moves and it requires an upgrade, and extendability has been the killer feature that has helped XMPP survive a long time albeit not to prosper. Unless the problem of convergence is solved this will haunt evolving distributed networks no matter how strongly they start.
- Arathorn 8y agoMatrix is very extensible too; it's just that we aim to merge extensions as rapidly as possible into the core monolithic spec, rather than having them get fragmented into optional extensions.
- dnel 8y agoI wonder what happens when there's 10 implementations of the matrix spec controlled by different groups. Being able to indicate where the implementation gap is seems like a strength rather than a weakness.
- Arathorn 8y agoHm, even when there are 10 different server implementations (or the ~50 client implementations there are today), we’d hope they would align to the same spec - just as with HTTP, SMTP, TCP/IP etc. There’s room for experimentation without introducing fragmentation, and any useful experiments would hopefully rapidly get merged into the spec. And if they don’t then yes, you risk a fork on that particular feature (the equivalent of only Exchange supporting email recalls, or browser vendor extensions), but it’s not the end of the world.
- seba_dos1 8y agoI'm not sure if there's really a place around for an IM network that's moving forward about as fast as HTTP, SMTP and TCP/IP are :)
- dnel 8y agoit really depends, if the features are difficult to implement it may not be very quick at all, we see this with XMPP often where features take years to implement or never appear. If a homeserver targets a particular use-case then they may actively choose to ignore certain features that are not relevent. Really when people talk about the flaws of XMPP they often have in mind the problems of private e2e encrypted chat on mobile which is a hard problem to crack, but there's many more private servers inside organisations that don't even federate and work fine for how they are used. This flexibility perhaps makes it better to view XMPP as a toolkit for building networks out of, similar to how IRC networks which have a converged set of servers but outside that network all bets are off. The idea of viewing XMPP as a single network inevitably causes it to look fragmented but there are pockets within the network that interoperate just fine they just don't identify themselves as a group.
- ptman 8y agohttps://matrix.org/docs/guides/faq.html#what-is-the-difference-between-matrix-and-xmpp https://matrix.org/docs/guides/faq.html#what-is-the-differen...
- fb03 8y agothank you on xmpp clients: "Baseline feature set is so minimal that fragmentation of features between clients and servers is common, especially as interoperability profiles for features have fallen behind (as of July 2015)" they are spot on in this one.
- MattJ100 8y agoIndeed, there are a large number of people still using Jabber/XMPP today with "popular" clients like Pidgin or Adium that haven't stayed up to date with modern advancements in messaging. It leads many people to believe that XMPP is incapable of many of the features that are considered normal in modern messaging applications. A hard break in the protocol would solve it (i.e. so old clients would no longer be able to communicate with new clients), but it would also frustrate and fragment the significant existing userbase. Given that open decentralized standards-based networks are something to be treasured if we're to stem the tide of proprietary walled-garden messengers, that option would potentially be shooting the open movement in the foot. EDIT: typo
- upofadown 8y agoThe really great thing about XMPP is that basic messaging always works and is super simple to implement. Anything that changed that would be very bad.
- e12e 8y agoWe've seen hard breaks before: ssh 1 vs 2 - and we're seing it now with http2. The latter is really crazy, but seem to be actually working.
- seba_dos1 8y ago...and outdated, as it's 2018 now and XEP-0387 exists. Actually, most of this FAQ is severely outdated, XMPP already catched-up in most of these points. Some clients are lagging, sure, but that's just a matter of time for Matrix to suffer from the same issue.
- Arathorn 8y agoOne use of Matrix is defragmenting IM, and it's true that both XMPP and Matrix can be used to power chat systems. However, architecturally they really couldn't be more different: * Matrix's main data primitive is synchronising conversation history within a room - not message passing. In fact, there is no way to just 'send a user a message' in Matrix: instead, you can only synchronise your copy of a room's state and history with someone else's copy of it. * Matrix rooms are replicated equally over all participating servers - there is no focal point as there is in a XMPP MUC. * Matrix provides a single monolithic (beta) spec, which compliant clients have to implement (for a given class of clients). There are no optional features or competing extension proposals for a given feature for a given class of client (e.g. 'desktop messenger'), to try to avoid fragmentation. * Matrix's baseline transport and encoding is super-simple-stupid HTTP+JSON, but with room for folks to propose superior transports & encodings as we see fit. So far there's been WS+JSON (which nobody seems to use, as it's not that massive an improvement over HTTP+JSON), and this year there's a GSoC project to look at MQTT-and-similar as an alternative.
- seba_dos1 8y agoIOW, Matrix is best suited for replacing IRC or Slack, for communication around organized teams/communities or topical conversations with strangers; while Jabber/XMPP is a better Facebook Messenger, WhatsApp, Hangouts or Gadu-Gadu, best for staying in touch with friends and talking in ad-hoc group chats between them. Plus, XMPP can be used for great amount of stuff non-IM related, while Matrix seems very focused around its IRC-like use case, where XMPP doesn't really improve much over IRC.
- babolivier 8y ago> Plus, XMPP can be used for great amount of stuff non-IM related, while Matrix seems very focused around its IRC-like use case I don't really agree here. While Riot is focused on a IM use of Matrix, Matrix itself is open enough to be usable in any use case requiring a payload to travel from A to B. You could think of Matrix use in IoT, social networks, forums, etc. Some people even made a working PoC of a blog using Matrix, and I heard some others are also working on building a system to bypass information censorship using Matrix as its only back-end. I don't know XMPP enough to state which spec is wider than the other, but what I know is that Matrix isn't limited by what Riot or other Matrix-based IM clients can do.