3 ms·
Sadly openly federated XMPP is far from ubiquitous (relative to SMTP, or HTTP as federation success stories, or proprietary alternatives like WhatsApp and Slack
by Arathorn 9y ago
Sadly openly federated XMPP is far from ubiquitous (relative to SMTP, or HTTP as federation success stories, or proprietary alternatives like WhatsApp and Slack).
Matrix is also far from ubiquitous too, but we categorically did not create it out of NIH syndrome. The whole point was to provide a protocol with entirely different primitives: history sync rather than message passing; group channels rather than 1:1; decentralisation rather than federation. And also a totally different governance model (no extensions; just a fat monolithic baseline that should “just work”). Obviously the experiment is still on and it remains to be seen if Matrix will succeed to the point of being ubiquitous, but to accuse it of being NIH is massively to miss the point.
- stephenr 9y agoXMPP has multi user chat and history sync extensions. It also has a several open implementations that have proven scalability. I’m also not really sure what you mean about “decentralised rather than federated”. This is from the matrix.org faq: > Matrix provides open federation - meaning that anyone on the internet can join into the Matrix ecosystem by deploying their own server. No extensions means no customisation for the purpose at hand or for future enhancements. So tell me again about how matrix is so different?
- Arathorn 9y agoI’m not disputing that XMPP can be used to build a modern chat environment with history and group chat. The question there is one over the primitives that the protocol provides. As you say, these features (and decentralisation, via FMUC) are provided as optional extensions in XMPP. In Matrix, they are the core primitives of the protocol. To put it more concretely: Matrix works by replicating chunks of conversation history between servers - not by forwarding stanzas. And there is simply no concept of a 1:1-only coversation; all conversations happen in rooms which may have an arbitrary number of users. On the federation/decentralisation question: yes, matrix servers federate with one another networkwise. But the data they exchange is decentralised: it is equally replicated over all the servers which participate in a room, using a merkle DAG to enforce integrity (like git, or a blockchain). > No extensions means no customisation for the purpose at hand or for future enhancements This is not true. Matrix is extensible at the data level - you can put whatever you like into it and define whatever semantics for it, a bit like HTTP. But the API itself evolves as a single entity released by Matrix.org, and folks are very welcome to contribute their future enhancements into it. > So tell me again about how matrix is so different? A loose analogy could be svn versus git (architecturally, given XMPP is much higher perf than Matrix currently). Classic XMPP MUCs are centralised to a given domain like a svn repo; if you try hard enough you can decentralise them (FMUC), just like svk existed for svn. Or alternatively you could write a new system with different primitives like git. I hasten to add that the analogy is not exact and Matrix isn’t remotely as successful as git, but it’s an example of where sometimes it doesn’t hurt for a different technology to come along and shake things up.