I built a simple chat server with Node.js & Redis Pub/Sub, acani-node on GitHub. It works fine. There are a few more things left to do, but I've figured out (in my head) how to do them. But now, I'm considering using an XMPP server instead.
Features:
- One-to-one (unicast) messaging
- Mass (multicast) messaging, i.e., one user sends the same message to 1,000 users
- Custom group messaging (like Beluga)
- Hierarchical chat rooms (PSub/Pub), e.g., if you post to the Hockey chat room, then it will also go to the Sports chat room
- Photo & video messaging (TODO)
- Any other cool features...
Also, I know I can deploy the Node.js server to Joyent Node, and I have a Redis server with Redis To Go.
I'm thinking I'll follow the YAGNI principle and finish with Redis Pub/Sub, esp. since we're almost done, and convert to XMPP if we see the need.