The performance community is growing. With 17K members across 46 meetup groups it’s pretty easy to find someone else who cares about performance. But what if your company is new to the world of high performance websites? How can you make performance a priority within your organization? I don’t have a guaranteed recipe, but here […]

The concept of prefetching is pretty simple. We often know about resources the browser is likely to need before the browser does. Prefetching involves either giving the browser hints of pages or resources it is likely to need so that it can download them ahead of time, or actually downloading resources into the browser cache […]

We spend a lot of time at CloudFlare thinking about how to make the Internet fast on mobile devices. Currently there are over 1.2 billion active mobile users and that number is growing rapidly. Earlier this year mobile Internet access passed fixed Internet access in India and that’s likely to be repeated the world over. […]

According to the latest HTTP archive stats, the average Web page weighs 1286KB, and 60% of that is image data. That means that properly compressing image data is of utmost importance for the overall page content size and hence its loading time. It also has a significant impact on the data plan hit users incur […]

Bandwidth-wise, images are hogs. They are the largest average web site payload (62%), and they are most often the content bottleneck. When images arrive, they come tripping onto the page, pushing other elements around and triggering a clumsy repaint. They come “chop chop chop chop chop down” or you get nothing until suddenly “boom!” out […]

With the increase in 3rd party widgets and modernization of web applications, Frontend Single Point Of Failure (SPOF) has become a critical focus point. Thanks to Steve Souders for his initial research on this topic, we now have a list of common patterns which causes SPOF. The awareness of Frontend SPOF has also increased tremendously […]

As Steve pointed out in an earlier post, window.onload is not the best metric for measuring website speed. It is a convenient metric, and a familiar one, but it fails to capture the dynamic nature of most modern pages. Instead, we want to think about the user perceived performance of the page: how quickly can […]

Let’s start with some numbers. The speed of light is 299,792 kilometers per second. The refractive index of optic fiber is about 1.5. That means light travels slower inside optic fiber. How slow? That’s roughly 299,792 kilometers per second divided by 1.5. In general, we round it off to 200,000 kilometers per second. The distance […]

I recently spoke at a few conferences about how to avoid performance regression which I called Proactive Web Performance Optimization or PWPO. This is nothing much than the ordinary WPO we already know. The only difference is where/when in the development cycle we should apply that proactively. Performance is a vigilante task and as such […]

Over the past few years, we’ve made great strides in understanding and optimizing mobile web performance. However, for the most part, mobile web browsing continues to be slow. Google Analytics data shows that the average web page takes over 10 seconds to load on mobile. We know that a user’s thought process is typically interrupted […]

Fiddler’s Performance Roots In 2003, I began developing the Fiddler Web Debugger to help debug client-server interactions between Office 2003 and the Office Online website. At first, my goal was to simplify functional testing, but when the Office Online website went live, we immediately found we had major performance issues, and Fiddler was soon pressed […]

To date, the most compelling stories in the performance arena have all involved some form of A/B testing, in which we compare two groups of users and demonstrate scientifically that faster pages make for better business results. Although the long list of case studies that prove this link has made believers out of many CTOs, […]

Other people’s code is awful, and your own code from months previous counts as someone else’s. With this and the festive spirit in mind, I dug up a canvas snow demo I made two years ago to see how bad my code really was. Turns out the performance landscape has changed quite a bit, but […]

More than 99 human years are wasted every day because of uncompressed content. Compressing your content using Gzip is a well-known best practice for achieving fast website performance. Unfortunately, a large percentage of websites are serving content uncompressed and many of the leading CDNs are part of the problem. As crazy as it sounds, most […]

WebPagetest is a fantastic Web Performance project which ultimately became the straightforward standard tool for testing and comparing web site performance. It was first developed and opensourced by Patrick Meenan at AOL. Pat’s now at Google and works with a dedicated team on WebPagetest. API WebPagetest provides a RESTful API which exposes all UI functions, […]

There’s little doubt 2012 was a big year for Real User Measurement, with more and more companies using, advocating or offering RUM solutions. With these new solutions comes a better understanding of the complex world our websites live in. RUM usually shows load times that are double or more what synthetic tests indicated, average load […]

HTML5 introduces custom data attributes: non-visible pieces of information associated with a DOM node. This is an extremely convenient feature, especially since these attributes are accessible by both JavaScript and CSS. But what about performance? Is it possible that the use of data attributes will make your application run slower? Accessing data Let’s say you […]

In the 2011 Performance Advent Calendar, Alois Reitbauer introduced us to Resource Timing but at that point no browser supported it. One year later and it’s supported in Internet Explorer 10, and Chromium nightly builds so we finally have something to play with. Real User Monitoring (RUM) allows us to build a picture of how […]

There’s an elephant in the room that we’ve been ignoring for years: window.onload is not the best metric for measuring website speed We haven’t actually been “ignoring” this issue. We’ve acknowledged it, but we haven’t coordinated our efforts to come up with a better replacement. Let’s do that now. window.onload is so Web 1.0 What […]

The internet is the largest and most interesting artifact created by mankind. Every country, every town, every no-longer-lonely island contains a piece of it. The rest lies under the waves. But which waves, which islands, in what order? That’s the most interesting part of all. The patterns that shape the internet are both older and […]

We used to focus on metrics but perceived performance is far more important than actual performance. In our pursuit of better metrics, we too often forget simple good old tricks. Here is a quick reminder of how you should deal with a user waiting: First rule is: do not let your users wait more than […]

We all want to create high performance web applications. As our apps get more complex, we may want to support rich animations and that ideal 60 frames a second that keep our apps responsive and snappy. Being aware of how to measure and improve performance can be a useful skill and in this short post, I’ll give […]

Sitespeed.io is a new open source web performance command line tool, built to analyze your whole website. Let me tell you more about it! The workflow and output This is how it works: You feed it with a start URL and how deep you want it to crawl. The pages are fetched and all links […]

In days of yore Way back when, in the early days of web performance (ca. 2005), the suggested way to embed third party scripts in web pages, was to use a straight up <script> node. This was simple, and what happened next was deterministic. The rest of the page blocked until this script node had […]

The Facebook Like button social plugin is a URL that looks something like this: https://www.facebook.com/plugins/like.php?href=… It’s probably one of the most popular pages on the web today, being present on millions of websites. It’s important that this page is as fast as possible, because many people load it several times during their daily browsing, even […]

Nowadays websites ranging from a craftsman’s business site to large portals embed third-party content. This content can be obvious or just plain invisible but in every case it can take your site down. Let’s look at three short examples of third-party content on your respective website: Example #1: Facebook Like button Probably the most well […]

WordPress is one of the most popular content platforms on the Internet. It powers the majority of all freshly released websites and has a huge user-community. Running a WordPress site enables editors to easily and regularly publish content which might very well end up on Hacker News – so let us make sure the web […]

With the widespread adoption of high bandwidth Internet connections in the home, offices and on mobile devices, limitations in available bandwidth to download web pages have largely been eliminated. At the same time latency remains a major problem. According to a recent presentation by Google, broadband Internet latency is 18ms for fiber technologies, 26ms for […]

Performance Puzzle There are many discussions about performance, but they often concentrate on only one specific facet of performance. The main problem with that is that performance is the result of every design and implementation detail, so you can’t ensure performance approaching it from a single angle only. There are different approaches and techniques to […]

Introduction At Shunra earlier this year, we decided to create a library of global network conditions to enable our customers to better test the performance of their applications under conditions similar to those experienced by their users. Our focus was, quite naturally these days, on mobile networks. We expected to see high variability in conditions […]

Synthetic performance testing for a website is when you use a computer running in a lab somewhere to run a browser and measure the performance of your site (usually one page at a time). It can come in many forms from a developer at their desk to a service like WebPagetest or one of several […]

If 2012 will be remembered for anything specific in the web development world, the debate over performance issues with localStorage will surely be high on the list. The debate began with a post by Christian Heilmann entitled, There is no simple solution for localStorage, in which he made several claims about poor localStorage performance and […]