Juggernaut is a Rails plugin that sets up a real time xmlsocket between the browser and the server, allowing the server to push data to the client, much the same as comet.
In other words your app can have a real time connection to the server with the advantage of instant updates. Although the obvious use of this is for chat, the most exciting prospect is collaborative cms and wikis.
Here are some key features of "Juggernaut":
· Push server - written in Ruby using EventMachine. EventMachine has a non-blocking IO so scales very well
· Integrated, as a plugin, into Rails.
· Subscribers can subscribe to multiple channels, and broadcasters can broadcast to multiple channels.
· Broadcasts can be made to channels, or to a specific client.
· Connect/Disconnect triggers.
· Authentication support.
· Uses Flash 8 - installed on more than 95% of computers.
· Supports all the major browsers (uses ExternalInterface): Firefox 1+, IE 6+ and Safari 2+.
Add this to any pages you want Juggernaut 'enabled':
Also add this to the head of any views you want to use Juggernaut:
Install the gem:
sudo gem install juggernaut
Configure the gem:
juggernaut -g juggernaut.yml
Start the push server:
juggernaut -c juggernaut.yml
Now, visit the view you made earlier, you should see a msg saying 'Juggernaut Connected on localhost:5001' (If you're using Firebug it'll appear in that, otherwise it'll be an alert)
Then, to send data to juggernaut, execute this in the console:
Juggernaut.send_to_all("alert('hi from juggernaut')")