I don’t think I’m alone in seeing Twitter’s service deteriorate to the point where euthanasia seems like the only humane option.
Without any obvious intimate knowledge of how the service is architected, these are my three easy steps to hunt and kill the fail whale.
1. Stop accepting new registration
In the current situation I can’t for the life of me understand why they are still accepting new people in. It is obvious the system can not handle the strain on peak times (its bad enough throughout the rest of the day).
Also worth noting is that a significant portion of those new registrations are spambots, I’ve got at least 5 or 6 new ones of those following me each day.
2. No friends timeline on the home page
When you’re logged in, the first page you see is the “what are you doing” input box and your friends timeline, how many followers, direct messages you have etc.
Just think of the amount of excess queries that is for people that just want to use the web interface to leave a new message. Why put strain on the database for that? Keep it simple and use a Google like interface with just the input box and a submit button on the home page.
3. Enforce caching
Many people use Twitter clients like Twitterific, Twhirl etc. and get annoyed about the API limit that gets enforced. There doesn’t appear to be anything like that in place when using the Twitter web interface.
By enforcing caching you can make sure database queries only get run every x minutes, this can be throttled based on the current server load (much like there now is an API call to determine the request limit).
These three steps are nothing more than common sense really but should go a long way into making Twitter usable again. Moving forward though they should really start looking at data push strategies to optimize things further.