4 ms·
Ask HN: What's the Deal with XMPP
I just recently discovered XMPP, and why isn't it more widely used?
Last time I went exploring into free messaging alternatives I looked into Matrix. I looked into Matrix again, and it's still terrribly slow. XMPP on the other hand is snappy. Despite this, XMPP is still more widely used than Matrix (not to mention whatsapp/signal/telegram). Why is this? Is there some downside I'm missing?
- vga42 1y agoIt's 'extensible.' That's what they say. 'Extensible.' You know what that means? It means they didn't finish it! It's like buying a car, and they say, 'Oh, the engine? That's... extensible. You figure it out!'
- ekjhgkejhgk 1y agoThat's such an uncharitable take... Many of these features that you would say make it unfinished didn't exist when XMPP first came out. Being extensible has its downsides for sure, but calling it unfinished because it can be extended...
- ekjhgkejhgk 1y agoIgnorant take. WhatsApp uses XMPP. Zoom uses XMPP. You see, I kept learning about XMPP and thinking "this is really good stuff, why isn't it more widely used?" And so I realized: It IS very widely used precisely for being so good. Then the companies intentionally making it un-interoperable.
- BrenBarn 1y agoI mean Matrix is also extensible.
- pndy 1y agoWe had XMPP in facebook's messenger and google talk up until both companies decided that they embraced this open protocol enough and removed support /s Pretty sure someone recently commented on XMPP and why it failed - mostly because of variety of servers and clients which differ among each other too much. In Poland the second most popular instant messenger network during the "golden period" beside Gadu Gadu was Tlen.pl. It used a modified XMPP but it was never fully compatible with it - it was impossible to reach contacts from tlen.pl domain. Then facebook arrived and people moved from "domestic" networks to global ones.
- apothegm 1y agoXMPP comes with the additional downside that most of the tooling around it is (or at least, a decade ago was) written in Erlang. Which is a niche purely functional language with a weird-ass syntax that is challenging to transition to from the C-syntax-derived procedural/OOP languages that make up the vast bulk of mainstream programming.
- ezst 1y agoThat's provably untrue. If you mainly write modules for the ejabberd server, indeed erlang might be on the menu, but that's very specific. If you develop on the client-side, pretty much all mainstream languages (JS, Python, C/C++ w&w/o Qt, Java, Go, rust, C#, …) have decent and independently well-maintained libraries to interact with XMPP. On the server-side, prosody (Lua) is as big (if not bigger) than ejabberd. And there are Openfire (JVM) and other implementations as well. Erlang is definitely not as unavoidable as you make it seem.