Why Performance Matters

In our collective pursuit to push the web to do more, we're running into a common problem: Performance. Sites and apps are richer in functionality than ever before. As a consequence, they've become more demanding of network and device resources. So much so, that we now struggle with achieving a high level of performance across a variety of network conditions and devices.

Performance issues are variable. At best, slow sites and applications incur trivial delays that impede users for only briefly annoying moments. At their worst, they're completely inaccessible, unresponsive to user input, or both.

Performance is about retaining users

We want users to interact meaningfully with what we build for the web. If it's a blog, we want people to read posts. If it's an online store, we want to turn prospective shoppers into buyers. If it's a social networking web app, we want visitors to write posts, upload photos, and interact with one other.

Performance plays a significant role in the success of any online venture, as high performing sites engage and retain users better than poorly performing ones. Here are some case studies of how performance has affected engagement and conversions for several websites.

If high performance is an asset, then poor performance is a liability. Here are a couple case studies where poor performance had a negative impact on business goals:

Because business is highly competitive, we're always cognizant of how our competitors are doing. In the same DoubleClick by Google study cited above, it was found that sites loading within 5 seconds had 70% longer sessions, 35% lower bounce rates, and 25% higher ad viewability than sites taking nearly four times longer at 19 seconds. To get a rough idea of how your site's performance compares with the competition, check out the Speed Scorecard tool.

A screenshot of the Speed Scorecard
tool, comparing performance across four popular news outlets.
Figure 1. Speed Scorecard comparing the performance of four competing sites using Chrome UX Report data from 4G network users in the United States.

Performance is about improving conversions

Retaining users is crucial to improving conversions. If you run an online business, conversions are the goal and performance is critical. Slow sites have a negative impact on revenue, and the opposite is also true. Here are some examples of how performance has played a role in making businesses more (or less) profitable:

If you run a business on the web, performance is crucial. If your site's user experience is fast and responsive to user input, it can only serve you well. To see how performance could potentially affect your revenue, check out our Impact Calculator tool.

A screenshot of the Impact
Calculator, estimating how much revenue a site could stand to gain if
performance improvements are made.
Figure 2. The Impact Calculator estimates how much revenue you stand to gain by improving site performance.

Performance is about the user experience

When you navigate to a URL, you do so from any number of potential starting points, possibly discarding one experience for another. Depending on a number of conditions (e.g., connection quality, server and front end architecture), your experience could be quite different from another user's.

A comparison of two filmstrip reels
of a page loading. The first shows a page loading on a slow connection, while
the second shows the same page loading on a fast connection.
Figure 3. A comparison of page load on a very slow connection (top) versus a faster connection (bottom).

As a site begins to load, there's a period of time where users wait for content to appear. Until this happens, there's no user experience to speak of. This lack of an experience is fleeting on fast connections. On slower connections, however, the opposite occurs and users are forced to wait. When rendering finally does start in such conditions, users may be plagued by further problems as CSS, JavaScript, and other page resources slowly trickle in, each presenting their own unique performance problems.

Consequently, it could be argued that performance is a foundational aspect of good user experiences. When sites ship tons of code, poor performance persists as browsers chew through megabytes of it on slow networks. Devices with limited processing power and memory can have trouble coping with what we might consider to be a modest amount of unoptimized code. As poor performance persists, application responsiveness and availability diminishes. Knowing what we know about human behavior, these poorly performing applications will only be tolerated for so long before users abandon them. If you want to know more about how to assess your site's performance and find opportunities for improvement, check out our guide How to Think About Speed Tools.

Page performance overview as seen in
Lighthouse.
Figure 4. Page performance overview as seen in Lighthouse.

Performance is about people

While improving performance is vital to the financial success and well-being of businesses, it's important not to overlook the potential challenges people face as they navigate the web. Improving performance should not be seen solely as a means of advancing ourselves, but also as ethically responsible behavior. Poorly performing sites and applications can pose real consequences and costs for the people who use them.

As mobile users continue to make up a large portion of internet users worldwide, it's important to bear in mind that many of these users access the web through mobile LTE, 4G, 3G and even 2G networks. As Ben Schwarz of Calibre points out in this study of real world performance, the cost of prepaid data plans is decreasing, which in turn is making access to the internet more affordable in places where it once wasn't. Simply put, mobile devices and internet access are no longer luxuries for well-to-do consumers. They are common tools necessary to navigate and function in an increasingly interconnected world.

Total page size has been steadily increasing since at least 2011, and the trend appears to be continuing. As the amount of data the typical page delivers increases, metered data plans become less economical. When these plans run out they must be replenished, which costs money.

While fast and lightweight user experiences show economic consideration, they can also prove crucial for users in crisis. Public resources such as hospitals, clinics, and crisis centers have online resources which convey important and specific information a person needs in the midst of a crisis. While design is pivotal in presenting important information efficiently in stressful moments, the importance of delivering this information expediently can't be understated. It's part of our job.

Where to go from here

You know now why performance matters, but you might be wondering "what next?" Next, we'll cover three pragmatic performance considerations, complete with suggestions for addressing each. While these lists may seem daunting, understand you don't need to do all of these things to improve the performance of your site. They are merely potential starting points, so don't feel overwhelmed! Anything you can do to improve performance will be helpful to your users.

Mind what resources you send

An effective method of building high performance applications is to audit what resources you send to users. While the network panel in Chrome's developer tools does a fantastic job of summarizing all the resources used on a given page, it can be daunting to know where to start if you haven't considered performance until now. Here are a few suggestions:

  • If you use Bootstrap or Foundation to build your UI, ask yourself if they're necessary. Such abstractions add heaps of CSS the browser must download, parse, and apply to a page, all before before your site-specific CSS enters the picture. Flexbox and Grid are superb at creating both simple and complex layouts with relatively little code. Because CSS is a render blocking resource, the overhead of a CSS framework can delay rendering significantly. You should seek to expedite rendering by eliminating unnecessary overhead, and instead rely on tools baked into the browser whenever possible.
  • JavaScript libraries are convenient, but not always necessary. Take jQuery for example: Element selection has been greatly simplified thanks to methods like querySelector and querySelectorAll. Event binding is easy with addEventListener. classList, setAttribute, and getAttribute offer easy ways of working with classes and element attributes. If you must use a library, research for leaner alternatives. For example, Zepto is a smaller jQuery alternative, and Preact is a much smaller alternative to React.
  • Not all websites need to be single page applications (SPAs), as they often make extensive use of JavaScript. JavaScript is the most expensive resource we serve on the web byte for byte, as it must not only be downloaded, but parsed, compiled and executed as well. For example, news and blog sites with optimized front end architecture can perform well as traditional multipage experiences. Particularly if HTTP caching is configured properly, and optionally, if a service worker is used.

Mind how you send resources

When you know what resources you need to send for your app to be as beautiful and functional as you want it to be, think next about how you send them. As is the case with forethought and prevention, delivery is vital to building fast user experiences.

Mind how much data you send

With some ideas of what resources are appropriate to send and how you should send them, let's cover a few suggestions for limiting how much data you send:

For a more holistic guide on improving performance, check out our writeup on the RAIL performance model, which focuses on improving both load time and application responsiveness. Our PRPL pattern guide is also an excellent resource for improving the performance of modern single page applications.

If you're excited to learn more about performance and how to make your site faster, browse through our performance documentation for guides on a variety of topics. We're constantly adding new guides and updating existing ones, so keep coming back!

Special thanks to Addy Osmani, Jeff Posnick, Matt Gaunt, Philip Walton, Vinamrata Singal, Daniel An, and Pete LePage for their extensive feedback in improving and launching this resource!