Web Application Performance | Shane Barry

submited by
Style Pass
2023-05-30 04:00:03

Over the past few months, I've become curious about web application performance. This interest led me to read the book High-Performance Browser Networking, give a tech talk to our engineering department about the topic, and begin work at improving our web application load times. This post details some of the concepts I learned and action items that apply to most networked applications.

This is a bit of a rhetorical question but worth briefly highlighting. Faster websites lead to a myriad of benefits like better engagement, user retention, and higher conversions to name a few. There are many examples of tech companies seeing huge ROI for improved performance. Simply put, speed is a feature and should be treated as such.

For an application to feel instant, a perceptible response to the user input must be provided within hundreds of milliseconds. After a second or more, the user's flow and engagement with the initiated task is broken, and after 10 seconds have passed, unless progress feedback is provided, the task is frequently abandoned.

A few hundred milliseconds does not leave us with a lot of time. However, it's worth noting that we need to provide a "perceptible response" really quickly. This does not mean that we need to load our entire application within 300ms (although if you can do that, you should). We could, for example, render some static HTML and allow the user to scroll the page, while some asynchronous tasks are still running and before our site is fully interactive. This is one of the reasons why it's worth it to understand the networking stack. Let's get into that now.

Leave a Comment