I have had it with this Twitter situation. I know it's a free service, and I know that a lot of you are frankly sick of hearing about it, but I cannot keep pretending that Twitter is the savior of the modern Internet, the message-bearing standard of Web 2.0, and the most important thing to happen to online communication since Gopher, when the site itself is only slightly more reliable than a late-model Saab. And I'm sorry, but being down all the time is not excused by the fact that people who think they're cool think Twitter is cool. Therefore, I would like to hereby officially announce the Totally Unofficial Build a Better Twitter Contest.
The premise: What other tool do you use in your life that's unusable almost as often as it's usable? And how is that acceptable? For months now, Twitter users have been asking what's going on with the service, and why it's down so often. Andrew Baron created an art gallery about it. By February, the headlines read Twitter Down; Sky is Blue. In more scientific reporting, Pingdom ranked Twitter dead last in social networking uptime from January through April. How bad was it? Twitter was down more than 37 hours in four months. And that's compared to social networks with many multiples more users than Twitter. The biggest of them all, MySpace, was down just one hour and five minutes in the same period. Now we've even got Is Twitter Down, that will let you know if you should even bother. Currently, no surprise, it's:
That's embarrassing. And Twitter can't seem to fix the problem or even communicate why it's a problem at all. I don't want to bash Twitter, and I have enjoyed my time there when I wasn't beating my head against the wall with rage at its internal server errors. I know we all have a lot of community goodwill toward Biz and Ev, and I'm not trying to be nasty. It's just that I don't see a lot of clear signs from Twitter that it's taking the problem seriously or working on some real solutions. In a product based on communication, they're just not doing a great job of communicating. Hence, the contest. Someone, please, build a better Twitter.
Now, before I went shooting my mouth off about this, I consulted some actual software engineers (who wish to remain anonymous) about whether this could be done. One said, of course, "you can architect a better system." One acknowledged that, "knowing what I do about how it's set up, I think it'd be damn hard to keep that m******r up." However, he agreed that scaling Twitter in its current form is "non-trivial," because Ruby on Rails, as Twitter developer Alex Payne himself noted, is easy to develop with, but hasn't ever proven particularly scaleable. So, OK, Twitter underestimated scaleability. It wouldn't be the first time, right? But yet another of my experts noted that you can build a better Twitter. He said, "It requires memcached, or some other open source cache...it would take hours to do. Hours!"
So, I'm thinking someone out there has some hours to devote to this, and I am hoping you will do just that. As motivation, I pledge the following, totally unofficial and un-endorsed by CNET (or CBS) not-really-prizes prizes:
I will go there, for a test period of not more than 30 days, and I will beg all of my followers to join me for this test period (as of this writing, a nice round 6,700). My colleague, Tom Merritt, says he'll go there, too, and hopefully bring his followers along for the scalability test. I'll ask everyone else I know on Twitter to come along (I'm talking to you, Leo Laporte), and we'll see if it's really as hard as all that to build a Twitter that can stand up to the awesome pressure of being Twitter.
I will also throw in a motley collection of MP3-player accessories, a CNET windbreaker, some CNET stickers, and an autographed photo of the CNET personality of your choice, all not to exceed whatever value it is that triggers The Lawyers. Plus, if it works, you'll probably make bajillions of dollars. Or, at least, you would if there were any discernible business model for Twitter. You should probably try to think of that, too. Get to coding!