Sep 24 2009

Zemanta – Faster, better & uncut

to fast for the software ?

Image by cloud_nine via Flickr

A few months ago we have started an exit survey to figure out why some people uninstall Zemanta Firefox extension (as inexplicable as it sounds to us, it does happen :) . To our surprise users were willing to share their view and help us improve Zemanta experience.

Substantial number of responders commented that Zemanta slows down their writing experience since it loads later than the rest of their blogging dashboard and even confuses them by springing into life after they already start to write.

We dug in and tried to figure out what is going on. We knew that we can’t load instantly due to the mechanics of extending the dashboard, but we were still astonished by what we found: Sometimes it took us a few seconds before we’d start loading and much more before we finished! So we devised the plan and went to work.

We discovered:

  • Zemanta was loading multiple javascript and CSS files from Amazon S3 hosting. It can easily take 200 to 300ms per file to be downloaded.
  • Fetch of user’s customized preferences from server took a second
  • Afterwards we did a search on Flickr for interesting initial photos which could also take from half a second to a second
  • And lastly we downloaded a file containing ‘inspirational articles’ that show up before you write any text.

We addressed all of the above. Now we are happy to report that Zemanta loads in 0.3 – 0.5 seconds. This should be negligible for most users. We spent first week of September on these optimizations and then released them one by one after they passed quality control. The last one was the upgrade of Firefox extension to version 0.6.2.

What did we do?

  • We merged all javascript files into one, and all CSS files into one
  • We moved hosting from Amazon S3 to Amazon CloudFront, the proper content distribution network – difference was amazing, now those files take 30ms to load
  • We implemented user-side caching of user preferences in both Firefox and Internet Explorer extensions. This reduces time to fetch preferences to zero after first load
  • We created central ‘defaults’ file that is updated every hour and holds both Flickr images list and related articles that are shown for inspiration before you start writing. Loading of this file is substantially faster than calling Flickr on every Zemanta load.

So all this delivered faster, better & uncut Zemanta to our bloggers! If you have issues that annoy you when using Zemanta, please do let us know! We are listening at support@zemanta.com!

Reblog this post [with Zemanta]
blog comments powered by Disqus

Alibi3col theme by Themocracy

Copy Protected by Computer Technology Tips's WP-PreventCopyBlogs.

MarshalSandler.com is Digg proof thanks to caching by WP Super Cache!