JsChat is an simple Open source real-time chat system based on JSON protocol and It’s built with Ruby and Sinatra (Sinatra is a tiny Ruby web framework). it included a server, a console and web clients.
JsChat is similar to IRC, but it’s a fundamentally simpler system and provide very useful features like:
- IRC-like commands: /names, /name new_name (/nick works too), /clear, /lastlog
- It’s pretty tiny; it’s built with Sinatra and Prototype
- Auto-linking: pasting an image/video displays it inline, YouTube and vimeo videos will appear as well
- Last messages are displayed on join: the last 100 messages are displayed, so you don’t feel lost when you join a room
- Tab completion!
- Protocol designed to be close to executable code, so creating clients and bots is easy
- Easy to open multiple tabs in your browser and sit in multiple rooms
- It polls using simple Ajax calls which means it’ll run in lots of browsers.
JsChat now has Twitter authentication, logging with mongodb, and the web interface has tabs for switching between rooms. Twitter auth and mongodb give JsChat persistence. People can sign in with Twitter, join a set of rooms, then sign in from another computer without appearing to log off JsChat. The user stays online until they’ve been idle for 7 days or they click Quit.