Wednesday, May 21, 2008

Twitterpated with Ruby? Not so fast!

Where's my Twitter? Tangled up in a messy back-end of clogged threads and bad clustering solutions. I'm still digging into the dirty undercarriage of the Twitter fiasco, but the initial clues point to Ruby on Rails. Turns out, this darling of Web design isn't exactly a speed demon. (Editor's note: SMN contributing writer Lisa Morgan, who's also SVP and principal analyst at Online Market World, has coined the term "Twitter Flitter" to describe the sometimes-on, sometimes-off phenomenon).

When Twitter burst onto the scene at SXSW in 2006, the microblogging service was hailed as the latest hot startup, something with a truly unique technology for collaboration, social connection and mobile friend-tracking. All with a simple Web app that restricted microblog entries to just a handful of words.

Nothing could have been cooler or more superfluous at the same time. The name itself hints at a fluttering of attention; a hyper-active lack of focus, not unlike the symptoms of ADD. And, as it turns out, the infrastructure behind Twitter may have been chosen in just such a moment of hedonistic bohemianism.

Ruby-on-Rails was brand new in 2006, and it was a true mash-up. Niche programming language from wacky Japanese guy meets pissed-off Web developer, sick of all that was Perl, Java and ASP. The language-and-framework was called the second coming of Java, by some, and those that wrote in it laughed as they ended lines with !'s or question marks. Ruby wasn't just easy, it was fun!

Too bad it doesn't scale. Twitter is now faced with only two options: work with RoR big-wigs to change how everything works in the framework, without breaking compatibility, or abandoning the entire apparatus and start from scratch in Java. Or C#. Maybe even Perl or PHP. Could Python handle the load? Perhaps.

When millions of users come hammering at your door to use your services, life is just easier when you're standing on top of Apache, IBM, Microsoft or Sun. So, here's hoping that the mess at Twitter gets cleaned up. It's a fun service.

And, it's evident the Twitterpated have known about this Ruby problem for some time. Perhaps some sort of JRuby hack can be created. I'd bet that some good old fashioned JDBC would help alleviate some of the database bottlenecking, and Tomcat can work wonders for a clogged pipeline. I'm sure this is all more complicated, and that the good folks at Twitter are still in their offices in South Park (yes, really, that's where they are) working to fix things. And I bet they'll solve this problem. It is from this sort of adversity that battle-worn, profitable startups are born.

-- Alex Handy

No comments: