Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why IRC and not XMPP?


This.

Well, I must admit, XMPP isn't the nicest protocol out there, and it has some issues (esp. with older software that implements it). One can't talk it with telnet client, and this is a downside. We've discussed it the other day: https://news.ycombinator.com/item?id=10900859

But it has advantages over IRC. To name a few:

- Universal federation. Private systems (that don't have S2S enabled) aside, any public XMPP server can talk to any public XMPP server. You don't need to have a separate account here, there and everywhere. Not that IRC really needs accounts (one can surely use it without signing up with NickServ etc), but sometimes it does.

- History access. Well, it requires server to have MAM (XEP-0313) support, but if it does, then everything is there.

- File transfers. Unlike Slack, it may not work for absolutely everyone but I think Jingle had gone through a lot of work and is quite capable of piercing quite draconian NATs. I'm not sure IRC's DCC is anywhere near. Well, and there's also in-band file transfers (XEP-0047) that's awful and sucks but still works for tiny content (short code snippets). And XEP-0363, although not many servers support it. XMPP's messiness has both down- and upsides.

- Integrations. I think there are as many XMPP bots as there are IRC ones. Either way, there are ton of libraries for most languages so one can hack their own simple XMPP bot literally in just a few of hours.

- Extensibility. XMPP can attach virtually arbitrary metadata to messages, or send extra information like typing notifications or delivery receipts. Well, it all depends on client support, but you don't need a committee to think of your own standard and make a ejabberd/Pidgin/Gajim/etc plugin or patch. And, possibly, think of compatibility approach for non-supporting clients. That's it. I don't think IRC has anything like this.

- OMEMO (of Axolotl/TextSecure/Signal fame). It's not mature, but one can already have multi-point end-to-end encryption for personal conversations. Sadly, not for chatrooms yet (MUC doesn't support PubSub, MUC2 aka MIX isn't yet here), but I'm sure it will work in the future.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: