We’ve recently launched a new site for luxury furniture manufacturer Neville Johnson using the Umbraco CMS [our Umbraco projects]. As we got close to the launch of the site we identified a particular challenge that gave our newly recruited .NET developer Terence something to get his teeth into.
Here’s how it panned out, in Terence’s own words…
Each Neville Johnson furniture design is a one-off whatever the shape or size of the space so the website had to feature a carousel of material and sizing options, each page was optimised to offer the best possible user experience (UX) for site visitors.
For Neville Johnson it was especially important for their customers to visit their website on a mobile or tablet device. It was so significant for us to get this right because it tied-in with Neville Johnson’s latest TV commercial.
Some of the biggest technical problems we faced were:-
- Ensuring the site loads as fast as possible, particularly loading resources on devices which may not have the fastest connection
- Heavy load spikes around key advertising spots
For the first part, we’ve included a dynamic compression system on images throughout the system. After careful discussion between the design and development teams and the client, we’ve balanced this against the best download size for devices which may not have the fastest connection (e.g. mobiles) whilst at the same time maintaining the high level of quality imagery needed for the product.
To address the load spikes, we’ve assisted them with set-up of a Load Balanced solution which helps spread their load over 2 main servers, whilst adding an additional third load balancer with additional caching for resources which don’t change as often (such as product images and styles).
This has mandated careful configuration of Umbraco to ensure it keeps both servers up-to-date with any latest content changes, as well as making sure both servers are kept in close sync whenever images or styling change going forward so that users do not experience broken functionality if they hit a different server. This solution is scalable so there’s the potential to increase the number of servers at a later date with minimal reconfiguration if this becomes necessary.
In order to improve performance of the site before it even hits the load balancing however, we have implemented various levels of caching throughout the site. As well as leveraging the inbuilt Umbraco system on common areas of the page wherever possible, certain sections which require a large amount of additional bespoke work are built on top of a custom caching solution.
An example of this is the large custom referrals system present in the site, with potentially thousands of different referrers which links through to their CRM system and provides vital information on how different marketing channels are performing. Our solution ensures what could be quite an expensive operation on processing does not impact site performance, whilst still meeting all the client requirements.
Take a look at their recent national TV commercial…