Facebook Chat development

One issue when you have existing user base is how to roll out new features with minimal impact on servers and user experience. When Facebook rolled out Facebook Chat they used a pretty good system of figuring out how things can scale.

The secret for going from zero to seventy million users overnight is to avoid doing it all in one fell swoop. We chose to simulate the impact of many real users hitting many machines by means of a “dark launch” period in which Facebook pages would make connections to the chat servers, query for presence information and simulate message sends without a single UI element drawn on the page.

At EarthLink, I helped build a new user preference system, replacing an older system. Obviously, you have to switch the systems without a hiccup so no one would notice. The way we did was very similar to Facebook’s. Each time a preference was saved in the old system, we also saved it in the new system, allowing us to see the impact of the new system on the user experience. It helped us shake out bugs which wouldn’t have shown themselves during basic load testing. Lauching a new app is easy since you can scale it up but it makes things much more interesting when you have to deal with existing users.

Leave a Reply

Your email address will not be published. Required fields are marked *