4 ms·
XMPP is a very, very strange protocol. well its not strange, its just the logical representation of what happens when you use XML for everything. It gets hilari
by KaiserPro 5y ago
XMPP is a very, very strange protocol. well its not strange, its just the logical representation of what happens when you use XML for everything. It gets hilarious when start sending JSON over it.
However, I would still take it over matrix for any kind of chat protocol if I was going to start a commercial service.
My impression of matrix is that its was a slack/IRC clone with the protocol tied partially to the webgui. I understand that lots of work has happened to try and change that.
But, given that whatapp can handle a ~10m connections on one server in 2014, I suspect that it can't be a difficult protocol to scale, compared to something that runs over websockets
- arthurcolle 5y agoTo be fair, Whatsapp's architecture is very well done. There are some slides on how they achieved very low latency and extremely high throughput with some cool BEAM optimizations
- KaiserPro 5y agoOh indeed, whatsapp server was a thing of wonder, but even if a "normal" person could implement a server that was 100x less efficient, that would still be pretty spectacular.
- Yoric 5y agoIn my experience, Matrix is largely a protocol for defining groups of users across federation and sharing structured data in near real time between these users, with or without encryption. The main use case is definitely a chat protocol, but there's nothing preventing you from using this as a tuple-space-style database (I kind of am at the moment), or as a transmission layer for pretty much anything. I don't know about the current performance per server. I'm looking forward to seeing the Go and Rust implementations to compare performance :)
- KaiserPro 5y agoI doubt that go or rust is going to speed things up. Its not the language that causes slowness, its the implementation. Personally if I wanted fast, high scale and secure authentication I'd either use oauth, or ldap. (ldap allows federation, oauth, not so much)