Sunday, June 20, 2010

Dear Twitter: fix your fucking shit, seriously

UPDATE (3/2012): Hi there. This post still seems to get a lot of traffic, but I'd like for you to know I've changed my opinion. At the time I wrote this, it was immediately after my first RailsConf where I was depending on using Twitter in order to be able to get in contact with people, and at the time, their service was somewhat lousy.

Since then, Twitter has done an amazing job of shoring up their infrastructure and making it robust. That said, this post no longer reflects my opinion of Twitter. I continue to use Twitter every day and it's still my personal favorite social network. Please take the post below with a grain of salt and recognize that it's an artifact of its time. I'm leaving the original text for your consideration, but please recognize the context.

I use Twitter every day. Every single fucking day. So when Twitter goes down, it affects me. And lately, Twitter has been down every single fucking day.  It's not like they're unaware of it.  Twitter Unavailable.  High Error Rate on Twitter.com.  Temporarily Missing Tweets.  High Error Rate on Twitter.com.  Site Availability Issues Due to Failed Enhancementof Our Timeline Cache.  Working on Incorrect Tweet Counts.  Bursts of Elevated Errors.  Bursts of Errors.  Site-Wide Availability Issues.  High Error Rate on Twitter.com.  Site Availability Issues.  More Site Availability Issues. And Even More Site Availability Issues!  And all of those within the past two weeks.

Twitter, it isn't hard to conclude your site is fucking broken.

I use Twitter because of the community of people. From a technology perspective, Twitter is markedly inferior to Facebook and Google Buzz, which not only manage to stay up a lot more than Twitter, but also support basic features like threaded conversations.  I use your site because of the community, and exclusively because of the community.  I know the community of Ruby programmers likes Twitter, and I'm not going to get them to move.  So I'm stuck with Twitter.

From a technological perspective, Twitter is lagging lagging behind... way behind.  Facebook has uptime, an order of magnitude more traffic, and threaded conversations!  Google Buzz has uptime, and threaded conversations too!  Twitter does not have threaded conversations, and is broken all the time.  I understand Twitter hired the Twitoaster guy to add threaded conversations.  Before you add that, can you please make sure your site isn't broken all the time?

Seriously, I want to like Twitter.  I use Twitter all the time.  I am a fucking Twitter whore.  But seriously Twitter, you are the only site whose 503 Service Temporarily Unavailable page is known by name.  Stephen Colbert is even namedropping it.  While I'm a systems architect, I don't want to give you architecture advice.  You're a high traffic site and I can't intimately know your pain points like you do.  You know your pain points.  So fucking fix them.  Facebook works consistently with an order of magnitude more traffic.  Google Buzz works consistently.  So why the fucking fuck doesn't Twitter work consistently?

Twitter, you fucking fail.. Fix your fucking shit. Seriously.

9 comments:

RBerenguel said...

I seriously think you don't even know the size of Twitter vs Google vs Facebook. Or the revenue channels of Twitter (which up until now were ZERO) vs Google's (billions) vs Facebook (it can be argued).

harmless said...

If you are basing your life/business/etc. around a service provided by a third party, then you need a backup plan in case said third party goes away, breaks, or otherwise.

tl;dr: If it belongs to someone else, don't base everything you do on it.

Guillaume Theoret said...

Revenue is not an excuse. They have 160 million in VC funding. 160 million dollars should be enough to build a message queue.

If they'd just read some papers on how to implement pubsub then maybe they wouldn't be down all the time.

Tony is right. There's no reason they should be having as much downtime as they do.

I'm not saying it's easy to build something at twitter's scale but it can most definitely be done. As was pointed out, there are sites with orders of magnitude more traffic that have done it.

Their big problem (not my guess, they mention it themselves in talks) is that their initial design was wrong. They build their system with a CMS architecture rather than a messaging architecture. Instead of throwing V1 out and starting over, they keep morphing V1 into what it should've been from the start. Maybe they'd get there eventually but in the meantime it's failwhales all over.

Andy said...

Revenue definitely is not an excuse, not to mention they can do some optimizations without piling money into it. Have you seen the XML returned in their API? 60% of it is horribly redundant and could be eliminated with a standard that forces the client which uses the API to be a little more intuitive. Although I agree not to build anything around a 3rd party service (although that's a whole other problem in the IT industry), this is an inconvenience that could, and should be avoided.

heri16 said...

Isn't Twitter middleware running on Scala? ANd facebook is on Erlang? Just proves a point here.

heri16 said...

By the way, you should ask Twitter to sponsor Reia. They are Ruby-lovers at heart, but is constantly on the lookout for a solid language suitable for their middleware. Too bad they initially went for Scalaz (concurrent java).

goodmike said...

Seriously.

I'd like to add this constructive comment: I would PAY Twitter for reliable service. I posted a little rant of my own after a full weekend of the "Something is technically wrong" screen.

Can we please fix twitter?

mikhalich said...

Can I tweet this?

Jesse said...

I think everyone who uses Twitter even somewhat regularly has felt this way at some point.