Hacker News new | comments | show | ask | jobs | submit login
Comparison of XMPP based Group Chat and IRC based Group Chat (gaglers.com)
19 points by ad93611 1426 days ago | hide | past | web | 13 comments | favorite

The author seems to lack the technical background to write about the topic.

All IRC messages are simple strings in the augmented BNF representation.

He does not know what a formal language is.

The difference between a command and a message is just the prefix that you type in the client. Any message that you type beginning with the "/" character is interpreted as a command.

He is confusing the IRC protocol with a user interface now.

Also this statement is quite awkward:

IRC messages are short because they are simple ASCII text strings in a specific format.

First of all, encoding issues are a major pain point in IRC. Luckily most people use UTF-8 now, but the transition from legacy 8-bit encodings was not easy. Considering the history of IRC, I don't believe that IRC ever used plain ASCII.

Secondly, what is XML but "text strings in a specific format"? That's incredibly vague statement to begin with.

I misunderstood the encoding in the IRC protocol. I reworded the section that both of you mention. Thanks!

How would you explain it?

1) BNF [0] is a notation [1] for formally defining languages [2], e.g. the syntax [3] of programming languages like C [4] or Java [5], or in this case, the IRC protocol. Every BNF definition is a bunch of strings. BNF is not a data model [6][7], a serialization format or a language for representing IRC messages (as XML is for XMPP). You are correct in that IRC is a much simpler protocol than IRC, though.

2) There is no difference between commands and messages in IRC, because to send a message, the command PRIVMSG [8] is invoked:

  JOIN #channel
  NAMES #channel
  PRIVMSG #channel :Hello interwebs!
The fact that commands in IRC clients begin with a slash is a UI convention, and unrelated to the protocol.

[0] http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form

[1] http://en.wikipedia.org/wiki/Mathematical_notation

[2] http://en.wikipedia.org/wiki/Formal_language

[3] http://en.wikipedia.org/wiki/Syntax_(programming_languages)

[4] http://www.cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%2...

[5] http://www.cs.au.dk/~stm/RegAut/JavaBNF.html

[6] http://en.wikipedia.org/wiki/Abstract_data_type

[7] http://en.wikipedia.org/wiki/Data_structure

[8] http://tools.ietf.org/html/rfc1459.html#section-4.4

On a related note, bitlbee is a really nice xmpp client implemented as a "fake irc server". I use it all the time with irssi.

To be clear, bitlbee sits in between chat services (like AIM, ICQ, qq, various xmpp-based ones like gchat / facebook chat) and your irc client.

  MSN/AIM/qq/XMPP/etc <-> bitlbee <-> your irc client
so you tell your irc client to connect (typically) to localhost where bitlbee is running, and bitlbee acts as a bridge between your irc client and various chat services all at the same time.

It's the bee's knees.

There's also irssi-xmpp, a plugin that does a slightly better job at exposing xmpp functionality to irssi, imo. Unfortunately it does not seem to be under active development. :(

minbif is an alternative that uses libpurple. It also tries harder to behave like native IRC, with better command mappings etc.

I'm currently working on a product that gives you a useful bot for your team chat room (http://www.getinstabot.com, contact me for free beta access), so I've had a bit of experience with the two protocols lately (I'm currently rewriting the XMPP frontend in Go, the architectural evolution has been enlightening and it's a very fun process, I might do a writeup if there's interest).

This post looks a bit like filler, it's not very accurate on the details (as other posters have said), and it doesn't have much content.

I think the main reason people will prefer IRC over XMPP is one of culture. IRC is for talking to strangers, XMPP is for talking to people you know.

Because of this, various company chat services are gearing towards supporting XMPP, because people usually already use XMPP clients, and the whole environment is less "let's look around the server and see what channels are interesting" and more "I'll just make a channel here because everyone has a client that can talk to it already.".

Both technologies are great, and you can use them pretty much interchangeably, but each serves a different target market. That's the biggest difference, in my opinion.

The inaccurate details have been fixed. Why do you think the post does not have much content?

Instabot sounds good. I'll be happy to try it out with the Gaglers chat rooms. There are not much details on the site about how to customise the bot.

Yes, unfortunately documentation has taken a back seat to getting the XMPP frontend right. It should be ready in a day or two, and then it's documentation time. Feel free to contact me (email in my profile) if you need anything at all, but the bot should just work with the Gaglers rooms right now.

Can I email you to ask what sort of customization you're looking for? Thanks!

If someone is looking for fast, free group chat for your team, I cannot recommend Partychat[0] enough. It has a hubot adapter, which allows you to do cool stuff using a bot which you can program.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact