I can say without hyperbole that this was the best conference I’ve attended. The presentations were from people doing real large-scale web development and included a fair amount of real data and some of their solutions to hard problems.
One of the highlights was John Adams of Twitter talking about the engineering challenges they’ve encountered keeping your tweets flowing. They’ve rewritten intensive chunks of code in C. They’ve implemented their own queue system (called Kestrel which has an API very similar to memcached). They use Google Analytics to monitor the frequency of the Fail Whale. You can see the whole presentation here, on video.
Some of the take-aways from the conference were: Instrument Everything. Analyze your performance constantly. Employ phased roll-outs and measure user reactions to changes.
I was surprised to learn that changes in website responsiveness sometimes as little as 50ms could incur changes to pageviews or searches, directly impacting revenue. Anyone whose ever played Rockband or, gosh, a real guitar or set of drums can tell you that 50ms is very noticeable and at the outer-limit of responsiveness (not to mention can make your music sound imprecise). Humans are capable of detecting latency well below that number, but the surprising thing is that we humans are now expecting this level of performance from our websites.
I don’t think it’s something we would consciously think about when using a site, though it would likely form some sort of nebulous impression upon us. Using a search engine that didn’t post any response for 50ms or worse would probably make us think, “this thing’s slow” or “I’m not getting any results”. Those delays add up over time. As users know there’s going to be a delay, they might start a search and flip to another application or browser tab. As soon as that happens, the user’s attention is lost and may not return.
What I find really interesting about this, is that people are now treating websites with the same levels of performance expectations that they have with video games and desktop applications. Website performance is more important than ever, so if you’re creating or maintaining a website, keep that in mind.
Too much content, not enough blog. I’ll try to talk about some of the other cool things I saw later this week.