Rythie's Blog

Technology and stuff

Cutting Features Is Not Scaling

In July 2008, Twitter limited unauthenticated requests to 100/hour by IP. This stopped people from working around the per user limit which by then had also been raised to 100.

In April 2009, put a limit of follows per day, the most obvious reason for this is so that it puts a cap on "spam" following. I can see some other reasons though. On reason is to stop people following large numbers of people, I could see the logic that people won't just be limited to following 365,000 new people a year, but more likely they will just give up on the practice altogether.

Now twitter is limiting who some of your updates go to, so that replies don't go to most of your followers. This of course has caused a massive backlash typified by the #fixreplies trending topic on twitter. Twitter initially said it was doing this because it was confusing for users, even though it had been the default for months. Now twitter is saying it is a technical issue which makes more sense. I can see that when someone posts a reply now they will have vastly fewer places to update that which will cut the load. I suspect that under the hood twitter are redesigning database and this change is baked into it (Marshall Kirkpatrick from RWW has some thoughts on why that might be).

I can only think of one reason they might be changing it, and that's to allow threaded replies. Twitter now has in_reply_to_status_id field and clients are being updated to support it so you precisely what something was a reply to. You can't currently get the thread of replies easily. I wonder if twitter is moving toward storing these replies to an entry somewhere for easy retrieval so we can get the threaded replies.

Twitter is known to have various scaling issues from time to time and with these changes and other they seem to be limiting several features in order to put off hitting limit until another day. They don't seem have definite plan for scaling and cutting more and more features is not a solution. If you look at facebook for example which must have similar issues, they seem to have solved how to scale since they are at 200 million users and rarely have any downtime.

Twitter has about 30 employees, it seems they could do with some people that really know how to scale big sites i.e. people from facebook, myspace, friendster etc. but if you look at their jobs page, there doesn't seem to opening for a scaling expert. It's perhaps because they have the right people for already, but if that's the case, they should be scaling everything, not turning off features they can't make work.