I'm unsure on the best stack to build a chat application. Currently I'm thinking of two main options:
- facebook tornado
- cons: does not use the main chat protocol xmpp but pubsubhubbub
- pros: i really like its simplicity for development (webserver + webframework); pubsubhubbub also seems simpler as a protocol than xmpp; and i know python
- xmpp + bosch, punjab, ejabberd
- cons: don't know erlang; overall seems a bit harder to develop
- pros: uses xmpp protocol
The chat app will need to have the following:
- Private messages
- Public rooms
- Private rooms
- Chat history for rooms (not forever, just the last n messages)
- html embedding
- url to chat room
Both options seem scalable so that's not really my worry (we're thinking of running the app in amazon's ec2 as well). I know there's a project that builds a xmpp server using tornado but it's not ready for production use and our deadline isn't that big. Basically my main worry is ease of development vs somehow regretting later using pubsubhubbub to develop a chat app but I read somewhere that PubSubHubbub might eventually replace XMPP as REST replaced SOAP - so what do you think?
UPDATE: Do you know of any open-source solution using xmpp that supports MUC (public & private) and PMs?