“Gentlemen, we can rebuild it. We have the technology. We can make Twitter better than it was before. Better, stronger, faster.”
That’s the speech I imagine Niall Kennedy giving himself recently when he decided to rewrite Twitter’s front end using web best practices. The result is a read only Twitter that’s a little less pretty, but a whole lot more streamlined.
To start, Kennedy converted Twitter’s table layout to XHTML/CSS-based design. He also split the page load so that all those little avatar graphics are loaded asynchronously, which makes pages appear faster.
One of the larger undertakings was localizing (or is it localising?) the site. Kennedy had to choose common wording throughout the site and ensure nothing that would ever need translating was hard-coded.
Kennedy claims a 41% decrease in bandwidth and a much faster DOM footprint. It’s a geeky way of saying that TwitterFE is an improved Twitter.
Of course, the front end has never been Twitter’s biggest problem. It’s the back-end, with thousands of messages a second, that prompts the Fail Whale. In all, TwitterFE reminds of redesigning Craigslist. It seems like a great idea, but it ends up being a solution searching for a problem.
But as a case study, TwitterFE is extremely useful. Perhaps Kennedy will release his source code, which runs on Google App Engine, and we can all learn from his experience.