Guy Podjarny is a Web Performance expert, focusing primarily on Front-End Optimization and Mobile Web Performance. Guy his a frequent speaker at performance and mobile related conferences, and posts his opinions and research on his blog.
Guy is the CTO of the Web Experience Business Unit in Akamai. Prior to that, Guy was the CTO and co-founder of Blaze.io (later acquired by Akamai), and spent a decade working on Web Application Security.
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 part of their identity.
A good part of this increased adoption is due to better tools, making it easier to understand and track your website’s performance. Chief amongst these tools is WebPageTest, which couples powerful performance insights with an easy to use and yet extremely flexible interface. WebPageTest (WPT for short) can also be used via an API, and you can find API wrappers making it easy to invoke from Node, Python, the Command Line and even a Google Doc!
Who Ya Gonna Call?
So WPT is awesome and easy to integrate. All you need to do is include some API calls in your build system, and you’ll be able to track your performance. Only one question remains… Who are you making the API call to?
Pat Meenan runs a heavily used public instance of WebPageTest, and has been known to give out API keys if you ask nicely. These keys allow you to run a limited number of tests on some of the locations this instance supports. However, this option doesn’t scale… WPT is a part of a non-for-profit entity (WPO Foundation), and running these tests isn’t free. In addition, while Pat’s productivity is roughly 50 times higher than the average developer, even he has to limit the time he spends issuing and managing keys.
What we really want is a way for anyone to provision, self-serve, a WebPageTest API key, and have someone else pay the bill… And that’s what we’re announcing today!
Free WPT API Keys FTW! (Sponsored by Akamai)
Starting today, you can visit a new page on WebPageTest.org to create your own API key. You’ll need to provide a handful of details:
- Email address: so we can contact you if an issue arises, and send you periodic key usage stats
- Name: So we can tell who you are if an issue arises
- Company: We’d rather not have the same company create dozens of different keys, and want to be able to (manually) track such cases. If your company’s use of WPT is big enough, you should graduate to a different model, as explained below.
- Website: Mostly another proxy for a company, or the asset you’re most interested in testing.
The key will be limited to 200 page loads on a decent number of locations and devices, which has proven to be more than enough for the vast majority of users. As time goes by, we’ll tune the supported locations and devices to manage costs and meet demand.
What Can I Do With 200 Page Loads?
200 pages can help you get started with integrating performance into your dev process. For instance, you can run a nightly test of 3 key pages under poor and good network conditions, loading each page 10 times. This will take up 60 page loads, giving you some buffer for other tests or for reruns of the test when you made a relevant change. This is the main use-case we considered with this plan, especially when used in conjunction with tracking a Performance Budget.
Alternatively, you can connect a quick 3-run test every time a new product page is added, or a big image was uploaded, giving you a sense of whether a content change greatly impacted performance. Lastly, you can track your third parties by running a 3-run test every hour and harvesting the results to see if they misbehaved.
All of these are examples of automated tests. For troubleshooting or one-off tests, you can – as always - manually run tests on webpagetest.org to your heart’s content.
Graduating To More Page Loads
While 200 page loads is enough to get started, at some point it’ll not be enough. Fortunately, you can easily graduate to an option that gives you many more, without much effort or cost.
The primary path today is to setup a private instance of WebPageTest on AWS or your own system. This is easy and well documented, and Pat has just made it even easier to do on AWS. In addition, several premium services built around WebPageTest have been popping up recently. One such service is SpeedCurve, which may offer API keys soon, and recently another service called PerfLab seems to have a similar focus.
Summary
Without a doubt, understanding your performance has never been easier. Real-User Monitoring, which is often included in your Analytics or CDN for free, has already transformed the level of visibility we have into our actual users experience, for free or at very little cost. With great open source tools such as WebPageTest and the surrounding eco system, catching performance mistakes early is equally simple and cheap.
So what are you waiting for? Go get your key, and integrate performance testing into your build system today!