I’m picking up Juggernaut after a long hiatus and seeing it with new eyes, which is fun.

I’m realizing my old RailsGame architecture was horrifically overcomplicated. The rest of you probably knew this a long time ago.

I’m also realizing that Juggernaut has some problems in a High Availability setting, but that’s a topic for a later post.

Juggernaut is interesting because I can now see a lot more of the seams where it’s clearly a fun test project, not a “real” project, and I can see how to fix some of them.

For instance: a JavaScript client can send “events”, separate from normal messages, and there’s a custom event built in, but there are no accessors to send one. It’s just kind of hanging on there, even though that would be ridiculously useful in some cases. Functionality’s there, documentation and convenience aren’t.

And you can subscribe to see messages on channels from non-JavaScript clients, but only by subscribing directly to Redis – you can’t ask the server to send non-JavaScript clients things on a given channel. That’s adequate for my needs, but sucks in a lot of other cases.

Basically, Juggernaut thinks of itself as server-push stuff, no full-on pub/sub.

Good to know.

Next post I’ll be delving very deep into how to hook up Juggernaut in ways it doesn’t expect to get around these problems :–)

Free Email Rails Class? Free Chapters? News?

* indicates required
You'll hear about Ruby on Rails internals, database migrations and whatever Rails programmers can benefit from.