Now that A/B Testing is well and truly released, we’ll be rolling out a stack of other cool updates we’ve been working on of late. If you’ve logged into your account in the last couple of days you might have noticed everything feels snappier. Judging by some of the reactions we’ve been seeing, plenty of you have already spotted the difference.
Given the fact that a big percentage of our customers are web designers and developers themselves, I figured we’d share some of the more juicy details on the changes we’ve made to improve the overall performance of Campaign Monitor. Many of these changes are things you can apply to your own web sites to improve page load times. Before we get into the nitty gritty however, let’s take a peek at the results.
The chart above is based on the data provided by one of our layers of performance monitoring. This particular tool actually simulates a real user by walking through and performing many common tasks in Campaign Monitor on a regular basis. The time on the left hand side refers to the number of seconds it took to complete the sequence of tasks.
As you can see, the combination of updates we made resulted in a 35-40% speed improvement across the application. Here’s what we did.
As part of this update, we switched the entire application over to jQuery. We made the switch for a number of reasons, including the growing community and plugin support, but the primary motivator for us was file size. Switching to jQuery shed around 150kb compared to the previous combination. Your clients using our email builder will notice a huge speed boost when creating their next campaign.
Big props have to go out to our designer Dave Martin for the smooth transition to jQuery. The rewrite was a huge job and everything went beautifully.
Improved caching and speed for static content
By getting smarter about how we cache the static parts of the application like CSS files, scripts, images and even our charting SWF files we were able to dramatically reduce the number of requests your browser makes moving around your account. Instead of requesting a copy of these assets for each page load, your browser now knows to load the cached version from your local machine and avoid any server requests.
On top of this, we’re also serving these static assets from the same super-fast CDN we serve your campaign content from. This means that instead of having to serve your files from our main US data centre, each asset will be served from the closest of our 15 key locations around the world.
Because of the two request limit per subdomain, we’ve also spread all assets over multiple subdomains to ensure the maximum number of files can be requested and downloaded simultaneously by your browser. This basically lets us quadruple the speed you can download pages in the app.
Last but not least, we’ve also minified our CSS to get the file size as small as possible.
Of course, these changes are only one piece of the performance tuning pie. As well as improving the client-side experience of Campaign Monitor, we’re also working hard on database indexes plus query and code optimization on the server side. I hope you enjoy these updates. If you’ve noticed the changes or have any feedback at all, we’d love to hear about it.