Twitter and MacWorld

It was MacWorld time again, and everybody wanted to know what Steve would show the world. While this is nice for Apple and Mr. Jobs, it wasn’t for Twitter and its users, especially if they use clients like twhirl to access the service.

UPDATE (8:15pm GMT)

Twitter API seems to be back to normal operations for now. So the following now has become a description of what happend during and past the MacWorld Expo.

Killing me softly

Many Twitter users started tweeting about the upcoming keynote by Steve Jobs yesterday, and even more hit the reload button faster then normal to follow the event. Their servers weren’t able to handle the heavy load, and so the service became very unstable, returning more errors than tweets.

As a reaction to protect Twitter from a complete outage, they lowered the allowed number of requests to the API limit, which all clients aside from the web interface, instant messaging or text messages have to use. While under normal conditions, 70 requests are allowed per hour, they significantly reduced that number temporarily, and even disabled some features (friends, followers).

How did this affect twhirl?

This, together with requests simply failing due to the overload, caused big troubles for twhirl users (and, obviously, for users of other API clients). You ran into limit exceeded easily, or couldn’t even login at all.

If twhirl tells you that you have exceeded your limit, then it is true. Keep in mind, you are not allowed 70 requests per hour at the moment. Twitter did not tell us the number effective now, only that it is “significantly lower”, so you could be trapped quite fast. There’s nothing twhirl can do about it now. I would recommend closing all twitter clients for some time, to clear your account again. The more you try, the longer the lock will last.

You might also be unable to login. When you start twhirl, it tries to verfiy your username and password by sending a request to twitter. If your account is locked due to an exceeded limit, it will fail, and twhirl will ask you again for your password. Future versions of twhirl will be improved to better distinguish between real failures due to wrong passwords and other issues.

If the request succeeded, you won’t be logged out if subsequent requests fail due to limit problems.

UPDATE: Internal testing showed that the API locks an account for exceeding the limit after only 5 (five) consecutive requests. This is not an official number, but has been verified on multiple “clear” accounts.

What’s next?

Only thing we can do now is to wait for Twitter to return to normal mode and reset the API limit back to seventy requests per hour. I’ll update this post when new information is available from them.

I am very sorry for the problems this has caused. Hopefully, Twitter will do the move to a new data center soon, and then be able to handle loads like yesterday during the MacWorld keynote much better.


About this entry