The web performance community has expanded rapidly over the years and many terms have been used to describe the effort to make the web faster. You may have heard terms such as web performance optimization, front end optimization, web content optimization, and application optimization; and your head may be spinning, wondering what the differences are and which one is right for you. At the core all of these terms refer to the process of improving the amount of time required for a web page to load and become usable. The reason for the large number of terms to refer to a single topic can be attributed in part to organizations trying to differentiate their offerings in the space. Creating a new term doesn’t necessarily differentiate one offering from another – what it does is create confusion and muddy the water.
The goal of each of these is to reduce page load time, reduce the amount of data sent on the wire, improve the user experience, and increase revenues. If these terms are all working towards the same end of goal of a better user experience and faster page load times, then why the need for so many different terms?
Here is my attempt to shed some light on the nuances and differences between these terms:
Web Performance Optimization or WPO:
A catch-all term that applies to improving the performance of web applications by optimizing the back end, front end, or transport of resources. While this should apply to the entire range of optimizations, some people use this interchangeably with Front End Optimization.
Front End Optimization or FEO:
Web Content Optimization:
Web Content Optimization is the same as front end optimization. In the performance space this term confuses me. Web content optimization is a term frequently used in marketing and search engine optimization, referring to the attempt to make sure that the content being created is reaching the appropriate audience and is easily searchable. Using a term that is popular and widely used in another industry confuses me.
People frequently use Web Performance Optimization and Front End Optimization interchangeably. This led to the creation of the term Application Optimization, as there is more to optimizing an application than modifying the front end code.
Application delivery is composed of (1) the back end or server side, (2) the front end or client side, and (3) the delivery of the content from point a to point b. Optimizations are available for each of these areas and have evolved over time. In the beginning optimization focused on the back end and delivery aspects leading to solutions such as caching, keep-alives, compression and content delivery networks. As time progressed there was a revelation – at least 80% of the time needed to download and render a web page was spent on the front end – so why not focus optimization efforts there? This led to the introduction of the front end optimization field and techniques like minification, domain sharding, concatenation and image optimization.
Which definition is best?
Ultimately, to have a high-performing web site you can’t just choose one area to optimize and hope for the best – all three components need to be optimized, which is why I prefer the term application optimization. When optimizations at all three steps along the application delivery chain work in conjunction with one another, the end result is a highly-optimized application. Focusing on only one or two areas leaves room for additional improvement.
It is not just about what you choose to call an optimization or suite of optimizations – what is more important is how the optimizations are implemented and the benefits they provide. The next post in this series will discuss the risks and rewards of various front end optimizations to help you decide what optimizations are best for you.