Home >
I was having a meeting the other day where we were doing some project planning and we were using Google Spreadsheets, it was amazing to see cells being updated in real-time, as we all had the spreadsheet open on our own laptops. As an extra bonus Google Spreadsheets highlights in a different the cell you're editing on the others view of the spreadsheet so you know where they're looking or editing. Very handy when you're all collaborating on the same document, in the same room or remotely.
As web based collaboration apps become more accepted and used it's forcing developers to clients and servers in sync in near real-time. Tools and frameworks that make it easier to keep all instances for a client in sync are very helpful, because it can be kind of tricky from a development perspective.
Juggernaut is one such framework. It's for Rails and uses sockets trough the flash player to push data from the server to the client. It's end result is similar to Comet or Reverse Ajax. The key difference is that it uses the Flash Player to do the data transport, very cool!
"The Juggernaut plugin for Ruby on Rails aims to revolutionize your Rails app by letting the server initiate a connection and push data to the client. 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's a diagram of how Juggernaut works:
I'm of the opinion that polling is often good enough. This is where some client code polls the server every so often to check for updates. At the same time I like my Blackberry better than my iPhone because email is instantly pushed to it, I don't have to check. Using push is higher performance and uses less server resources, so given it's easy enough to do it's probably worth it.




Facebook Application Development
I tried the Juggernaut plugin about a year ago. I found that it wasn't very stable and ended building my own Java solution instead.
I think I also found that Juggernaut was written by a 16 yo ... *Googles* .. oh he's 18 now. Which doesn't give it much credibility it my books.
I really wouldn't promote the use of it myself.
I use it over at 64squar.es - saves me a whole bunch of server resource.
I've found that it's perfectly stable. It requires a bit of perseverance in setting it up as the docs are a little scarce. But the author is generally very happy to help out.
So +1 from me !
Alex, I beg to differ. Juggernaut is being used to great success in a fair number of production sites, and I find it presumptuous to say the least that you can totally discount the project based on your experiences a year ago with alpha code! The project has matured now and the latest release focussed on clustering support amongst other things such as authentication and callbacks. May I invite you to try it again?
I tried juggernaut for my application, but it fails to send and receiver chat data between two machines across NAT.... so it proved completely useless to me. If there is a solution to it then I must say it is usefull.
Alex MacCaw, can you tell some sites URL's, using Juggernaut?
@Alexey there's 3 posted on the Juggernaut site. I'm sure there's more but some folks don't like to publicized all the technologies they have running under the hood.
Alex B.:
I am offended by your comments about age. Are you telling me that a Java plugin developed by an 89 year old would be more credible than something developed by a 16 year old?
I've been coding since I was 11 years old; I've been professionally designing websites since I was 16 years old.
What does age have to do with experience?