Everyone is fascinated with the smooth animation at 60 frames/second. It is hardly a surprise that one of the most prevalent performance advices to web developers is to use hardware accelerated CSS. In some extreme cases, it is not uncommon to imply that forcing it via translate3d will automatically boost your application performance (hint: it […]

Web Beacons have been used by site developers to understand the behavior of customers. These Beacons are used, among other things, to count the users who visit a web page, track scrolling within the page, or count clicks on a particular ad/video etc. The Problem Sometimes these beacons can either take too long or too […]

One of the cardinal rules for web performance is to reduce HTTP requests. The common interpretation of reducing HTTP requests limits the focus to bundling and minifying scripts, creating image sprites and eliminating unused resources. Developers often overlook AJAX requests. Many AJAX calls GET the same, unchanged data as previously made requests. Today’s rich web […]

One of the main drawbacks of HTTPS is the time it takes to set up a connection. Specifically, every new TLS connection requires a handshake in order to establish shared encryption keys. This handshake requires two extra round trips on top of the standard TCP handshake roundtrip. On a high-latency connection, waiting for three roundtrips […]

Season’s Greetings! There are many reasons why your first byte can be slow but I am going to talk about a very specific interaction thats very well known to network geeks but can use some circulation among the front-end developers for it happens to be in the critical path of the browser. In particular this […]

When people are talking about web performance, they may talk about different aspects of the subject depending on their role and the task on hand. The real life is rather messy, so we use abstractions that let us get away from details not important for the moment. The same reality may look quite differently depending […]

Dec 2014

Mozilla has done a study of image formats and concluded that WebP and JPEG XR are not a big-enough improvement over well-optimized JPEG. In the study only HEVC (H.265) was significantly better, but it’s a patent-encumbered format, so it can’t be used freely (shhhh!) It seems that Mozilla has a short-term and a long-term plan […]

TL;DR We know that improving performance can affect revenue in many situations Performance can also save the business money and reduce costs Simple financial modeling can show why investing in performance makes business and financial sense Example Overview I like to make things simple. Ok, if you’ve skimmed ahead you’re already raising an eyebrow. Please […]

Recent years have seen a huge flux of SPAs — Single Page Applications. Though they enhance user experience, implementing SPAs for large-scale web applications is indeed a complex task. At eBay, we faced a similar challenge when we wanted to migrate one of our key desktop flows (search and item pages) to an app-like experience, from the […]

Speed engineers rely on business buy-in to get the job done. Telling a clear story will gain you resources and help when it’s time to balance speed against other marketing considerations. The cost of a garbled message? Wasted time, frustrated users, and lost sales. Last year, the big sites got 23% slower and lost billions […]

The W3C Web Performance Working Group has been working on standards to measure performance within the users browser. A number of standards have originated from this work. Navigation Timing with the ability to measure the load time of a page is the most prominent one. Resource timing also now already found its way into modern […]

Generally, I prefer to mention the bad news first: Slow websites will always exist. Websites will continue to become more complex and bigger. Our demand for speed and patience will certainly not decline. These facts shouldn’t come as a surprise to anyone who cares about web performance. Predicting the future is difficult and science has […]

The Setup It’s common for many websites to build a signaling mechanism that, without user action, sends analytics or diagnostics information back to a server for further analysis. I’ve created one at least a half a dozen times to capture all sorts of information: JavaScript errors, browser and device capabilities, client side click paths, the […]

When Steve Souders released High Performance Web Sites in 2007, it was the first time anyone had spent the time to explain what the browser cache does and how to take advantage of it to improve your site’s performance. It may be hard to believe, but before that point the browser cache was a source […]

Enough is enough! For too long, the DevOps community has been hamstrung by the demands of the business departments with whom we work. The obvious goal of any DevOps team is to make the sites for which we’re responsible as fast and reliable as possible. And yet at the same time, we’re constantly being undermined […]

Spinning a web In the early days of the web, non-technical users (and a few technical ones too) would wait for the browser spinner to stop spinning before interacting with a web page, which in terms of JavaScript, was when the window.onload event fired (with non-obvious exceptions based on the fancy of various browser authors). […]

SVGs are a great asset in our responsive web design toolkit. But just like any other image format, there are certain steps you should take to make sure you’re delivering optimised resources that don’t have a negative impact on your page’s performance. Here are some things that you can do to make sure you’re delivering […]

Performance awareness is growing. Yes, it’s growing slower than we’d like, but comparing where we are today to 5 years ago, we’ve definitely made huge strides in communicating the business value of speed. Today, performance is an important piece of most web development and design conferences, and top-tier players like the Filament Group, Cloud Four, Tim Kadlec make it a core […]

Once upon a time, Little Riding Hood, LRH to its friends, was tasked with making its way to an elderly request client across the topologically challenging paths of the forest. LRH put on its favorite blue wrapper and embarked on its journey. Its travels were swift & no dreaded Wolf Of Abandonment followed its tracks. […]

Two of my favorite new things in sitespeed.io 3.0 are the ability to drive WebPageTest (done using Marcel Duran’s lovely WebPageTest API wrapper) and send the metrics to Graphite. I like it a lot because it simplifies my day to day by keeping track of the performance of the sites I work with. What you […]

Chrome DevTools code snippets became my favorite tool when investigatig performance bottlenecks in web applications. A JavaScript fragment can be stored as a named snippet in the “Sources” DevTools panel and executed in the current page’s context, just as if it were a code executed in the browser’s console. To create a new code snippet, […]

Web performance conversation has started by Steve Souders back in 2007, shortly after, in May 2009 I started a Web Performance meetup in New York and it has been going well since then. But more importantly, fellow performance enthusiasts around the globe started to organize groups in their cities and local community is now huge! […]

At eBay, we take site speed very seriously and are always looking for ways to allow developers to create faster-loading web apps. This involves fully understanding and controlling how web pages are delivered to web browsers. Progressive HTML rendering is a relatively old technique that can be used to improve the performance of websites, but […]

There are a lot of reasons for running your own WebPagetest private instance, some of which include: Lots of automated testing using the API (or CI tools like the WebPagetest API wrapper or grunt-perfbudget that are built on top of the API). Control over the testing infrastructure for consistent results across test locations or SLA’s […]

At the FT we unfortunately have to support old browsers. People who work in large banks are an important part of our audience, and their companies are unbelievably slow to upgrade their workstations. In fact, our colleagues in Beijing who publish FT Chinese also have to deal with a subbornly significant legion of IE6 users.  Yes, […]

We all know the expression “content is king.” But if we want to be more specific, we really need to clarify that, on the web, images are king. (As a writer, it pains me to say it, but it’s the truth.) As internet users, we crave images — the bigger, the better. But as developers, […]

Whether it’s testing multiple pages to build an overall picture of site performance, testing a page across different browser, device and location combinations, or testing variations of the same page I end up generating lots of measurements and page load waterfalls. Managing all this data isn’t easy. I’ve used a custom version of the HTTP […]

At lunch this week, Stoyan and I were discussing Facebook’s async loading pattern. It looks like this: (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = “//connect.facebook.net/en_US/sdk.js”; fjs.parentNode.insertBefore(js, fjs); }(document, ‘script’, ‘facebook-jssdk’)); This is the common async pattern of creating a SCRIPT element, setting its SRC, […]

Someone might remember last year post of mine entitled Boosting UX via Delayed, Non Blocking, Enhancements; this year we are going to explore another technique that is neither debouncing nor throttling, a technique probably better suitable for non atomic I/O operations on IoT devices or, generally speaking, slow machines with low amount of RAM, a […]

For new developers that are starting to learn web development there is a lot to learn; HTML, CSS, and JavaScript just to mention a few! It’s important that new developers learn the importance of fast web pages and the positive effect that this can have on users. In this article I will list out my […]

The following is an excerpt from Chapter 8 of Designing for Performance, “Changing Culture at Your Organization”. This O’Reilly book is currently available as an early release, and you can pre-order the print version to ship on December 15! Page speed is a relatively intangible problem. Though it’s easy to get numbers around it, performance […]

Why we need another version of HTTP protocol? HTTP has been in use by the World-Wide Web global information initiative since 1990. However, it is December 2014 and we don’t have anymore simple pages with cross linked HTML documents as it used to be. Instead, we have Web applications, some of them very heavy and […]

Most mobile developers live in highly populated areas with excellent cellular signal for testing. Additionally, we carry the latest phones, have high (or unlimited) data caps, and we rarely worry about data charges on our phones. All of our friends have similar devices and similar usage patterns. Based on what we hear everyday – we […]

HTTPS is a hot topic lately. Google indicated earlier this year that they will use HTTPS as a ranking signal in their search results, and along with the Heartbleed and Poodle vulnerabilities, HTTPS has been generating a lot of interest. Vulnerabilities aside, the goal of HTTPS is to ensure that we deliver safer, encrypted data […]

Delivering web page content to users as quickly as possible is important. It is equally important to ensure that this downloaded content provides a smooth and responsive user experience. Page scrolls that are Janky, delays when typing in text boxes or choppy animations are just as bad as pages that take a long time to […]