chat application: pubsubhubbub vs xmpp

Go for XMPP.

Out of the box, ejabberd has support for all your requirements. You won't need to see any erlang and write custom modules for ejabberd. And with Strophejs, XMPP in the browser (which is what you are apparently doing) is great.

For your last question about pubsubhubbub replacing XMPP, don't count on it. XMPP is over 10years old, solid open source and proprietary interoperable implementations both on client and server, and is elegant so it won't go away.

And you are developping a chat application which is what XMPP was made for.


Facebook Tornao doesnt use PubSubHubbub at all!

Go for XMPP, it's been designed for what you're looking for. Tornado wasn't designed for that specicically, but for long polling requests in general.

No need to use Punjab, the ejabbed http-bind module does a pretty good job now. Also, you don't need to learn Erlang, the same way you don't need to learn C when writting a webapp that uses Apache :) Check out stuff like Aristochat. The only thing you'll need to play with is the configuration of your XMPP server and chat rooms, and then, Javascript for the client side (in the browser).