Snail’s pace performance for Facebook

Facebook has often been a pretty slow site to use, but since they rolled out the new Chat application, it’s become virtually unusable.

Some testing using Firebug shows the culprits:

  1. Images are usually the worst. Thumbnails served from or any of the photos-? locations take around 2-5 seconds to download. This is crazy, these files are only around 2-5Kb each. (In fact, that’s even quite large for a thumbnail, they could be made smaller). The slow load times massively affect both the performance and perceived performance of the site.
  2. common.js.pkg.php (which clocks in at a whopping 103Kb), takes around 4 seconds to load. The slowest I’ve recorded was 32 seconds, the fastest was half a second.
  3. All of the images associated with the Chat app take around 0.4 seconds each to load, though I’ve recorded some that took over 7 seconds and some that never even finished loading.

Now obviously all this happens concurrently, we’re not talking about adding up all these times. Nevertheless, an average page load of my homepage — a few thumbnails, a few notifications — took anywhere between 7 seconds and a whopping 32 seconds to render. That was between 75 and 111 separate server requests and an average of around 420Kb. Not cool.

This testing is completely unscientific and I’ve only done it around 10 times and taken averages, but it really does make me wonder if Facebook give two hoots about optimisation. I’ve been using it for about 8 months and was never impressed with its speed and it’s just become abominable with Chat. So I’m guessing they don’t care for speed too much.

Looking at the source code for a typical Facebook page isn’t any better. It’s a bloody mess and has the worst case of divitis I’ve seen for a long time. The HTML doesn’t validate, and if you turn off JavaScript, most of the clever stuff has no alternate fall-back mechanism, so basic functionality doesn’t even work at all — though to be fair, this is the main problem with web apps and doesn’t look like anyone will solve that any time soon.

I appreciate the Facebook has had phenomenal growth in a short space of time and that any rough development methods they used early on might now be difficult to change; however, they really need to do something about this as it’s becoming a serious problem.

As a conscientious web designer, it makes me both sad and angry to see a big player churning out such a dog’s breakfast of code. I take great pleasure in ensuring that what I build is optimised, fast to load, has no errors and adheres to modern web standards. Did the developers of Facebook somehow miss the Web Standards movement? Do they not care about the end-user experience?

If it stays like this, I’ll probably leave completely and go back to using phones and email to keep in touch with people — that was pretty much all I used it for anyway.

Comments are closed.