Natalie Ashes Team : Web Production Tags : Facebook applications

Optimising your Facebook app

Natalie Ashes Team : Web Production Tags : Facebook applications

Wiliam have recently launched a Facebook application called Winkiwoo, where users can print Facebook photos. After going on Living Social and selling almost 15 thousand books at launch, we know too well that the Facebook applications need to be optimised.

The difficulty with Facebook applications is they appear within an iframe which is difficult in some browsers, particularly Internet Explorer, to see the loading icon. The feedback from users is they do not know when a page is loading and they are concerned nothing is happening. 

The optimisation strategy that we quickly employed involved:

Reducing the image file size in Photoshop 

The difficulty with reducing .PNG files in Photoshop is if you have selected “save for web and other devices” it appears that is all you can do. After some research we found that selecting “image” and then “adjustments” and “posturize” and changing the scale of the posturization an image file size can be greatly reduced. We quickly went through all the image folders and reduced the file size of each image file. The total file size we saved from doing this was 1.4 mb (which equates for approximately 40 seconds in a typical internet browser). 

Using a CDN to load static content

We used a CDN to load static content (such as images, JavaScript files, stylesheets) from a location that is closest to the user. For example, if the user is in Sydney, the images would load from a server based in Sydney hence halving load times.

Caching database queries 

By caching database queries we were saving constant trips to the database, meaning there were less concurrent connections to the database server. This means that the server will be able to handle more traffic, more users and more connections.

Fine-tuning IIS7 performance

IIS7 comes with dynamic output caching inbuilt on the server. By turning this on, this effectively generates static HTML versions of requested .net pages at runtime. This saves a significant amount of time processing and compiling the code at runtime, effectively halving the load time of the page. 

From a user's perspective, this means that they can create photo books faster and have a more reliable experience from within the application. More photobooks equals more sales and higher profitability.