Web Page Test, Totally Tooling Tips (S3 Mini Tip #3)

Chrome for Developers · Beginner ·🌐 Frontend Engineering ·10y ago

Key Takeaways

Web Page Test helps developers test and optimize web page performance

Full Transcript

[Music] Hello, I'm Addi Osmani and I'm Matt G. Okay, so webpage test is this great tool um for testing the performance of your site from multiple locations around the world. We use it a lot when we're building um progressive web apps at the moment. Uh so this is like the interface to web page test. The basic idea is you just go in and you fill out um the site that you want to test out. Um what we usually do is we go to advanced settings and we first of all set the number of tests to run. Um because these can vary because webpage test often runs on actual devices. Um and you can set you know the location that you want to test from around the world. Um we set three so that you get a relatively decent set of different pieces of data and it's just going to average them out for you. So when you go and you run your test it's going to look a little bit like this. So, this is testing Paul Lewis's voice memos app out. And you get this nice little table at the very top that's got um data like load time, start render, and the speed index. Matt, what's the speed index? I believe the speed index is basically the visual completeness of the page relative to all the pages on the internet. You were right, sir. You were right. Um, and it includes like the uh timeline breakdown and screenshots just showing you all that nice stuff. But uh for speed index, you basically want to try getting for for at least cable um as close to a thousand as possible. Yep. And if you're targeting like 3G, you're looking at maybe around 3,000. And I'd also argue on the repeat view, you should basically be getting as close to like zero as humanly possible. Like repeat view is basically like the page, everything's loaded once, everything should be in the cache. So you should literally be pulling everything from the the HTTP cache and it should be super fast. And in this case, um, Paul Loose is using service worker. So you'll see that he's getting a pretty decent, um, speed index, which is good. Um, so just try to get that as low down as possible. When you're in your advanced settings page, you'll also notice that there's a section called connection. Um, because a lot of the time your users might be on the go. They might be like on the train or like running away from the cops or something, I don't know. Um, you should probably also try out the 3G settings and see how well you're doing there. So, just select mobile 3G, go and run your test again. And that will look a little bit like this. So, very similar to the page we had before. You'll notice that the speed index score has now changed. So, this is still, you know, it's under 3,000. It's doing pretty well. Um, speed index for repeat views also gone up. It should probably be a little bit lower. I think it's nice basically to get something that is out of your control. I think it's a that's the main reason why I use this is it's something like my environment where I'm running these tests can't be affected. It's just webpage test is an independent party. So it's good. It's good. It's solid. So another thing that we usually check is the capture video option. So capture video um is also in advanced settings. Just capture uh start the test. And when you do that um you'll get this video. So on that tab that we were on before you'll notice there's this little link called filmrip view. Click that and it'll actually give you um a film strip showing you um all of the frames that were captured uh over time. And this is super useful for actually getting to see things like uh first meaningful paint. So here we can see at around 2 seconds we actually got like some of the uh top toolbar being drawn and the material design fab icon. We have some text. We've got a a loader showing. Um, and you can see the progression through to I would say I would say 4 seconds is about when you get your your proper first meaningful paint in place. Um, some members of the Chrome team say first meaningful paint is when you've got like actual text showing up on the screen. So 4 seconds um is is how long that took. And this is 3G as well. Um, Paul Loo does really well on on the cable scores for this stuff. You can also get a video view. So remember we captured video. Um, if we go to the video view here, you can actually see um, okay, well, all these frames are are playing back and it shows you the progression through to, you know, 4 seconds until we've actually got visual completeness. So, that's useful as well. Back on webpage test, if you go to Chrome, so there's a dedicated Chrome tab here with a few extra options in there. One of them is capture dev tools timeline. Now, if you check that and you go and you do recording, um you'll actually get this little timeline option um in the uh very left in a column um you can download a Chrome DevTools timeline there and then you can open up um in DevTools. You can just like go to your timeline view, load the JSON file and load that in there. You can also just click view and it will show you that timeline um in a tab. Um there's another tab on webpage test here called uh visual comparison. Now, this is super useful for like let's say you you've got some assumptions you want to check out like um you've got a new UI that you you want to ship and you want to see how much you know how well it compares performance-wise to your old one or like um you want to see you know what the impact of ads are on your page and and stuff like that. Like it's good if you had like staging versus release and you've done a load of performance work, you want to make sure that you are actually doing well. Because I'm a jerk, I'm just going to use this to compare the performance of like some of the apps our team have been building. Um, and it looks a little bit like this. So, I've got Paul Lewis, Jake, Kinland, and me. Um, and you can see the progression um, of visual completeness here. You know, half a second, we still have a white screen. Then around 0.7, oh, look, Jake's got Jake's got some content loading up. And Paul Kinland's Airorner app, which is basically has nothing, but it's the fastest thing there is there. I do like how it loads and then it's just like done. Um, but you can see the the progression. Like around one second, I've actually got some content here. Jake's already got all this text and everything going. Um I think he's using streams and other You had to say it, didn't you? Streams. Streams and other magic. Um and this is this is just really nice for being able to compare um visual completeness across a few different uh builds of things. Another option on webpage test under advanced is the ability to disable JavaScript, which is useful if you want to like check out the impact of like third party resources and ads and stuff like that. It's also useful if you just want to see like what happens if you're in a browser where like let's say hypothetically your JavaScript failed and you relying it heavily, you can find out. Yeah. And if you need even more granular control over this um type of thing, you can also block re uh requests to specific resources over in the block tab. You wanted you you talked about test history. So I had no idea that this was a thing. Yeah. So, I think what I was doing was I was changing my website and I actually wanted to retroactively compare like new and old runs of my site. And it turns out Webpage Test actually logs a lot of this information. So, you can literally select like runs from the past year from any user that's just stuffed your site through webpage test and actually get access to those test results. So, if you wanted to compare like really old builds versus new, um, you can totally do that through webpage test. is all just there, which is awesome. Uh, one last thing, um, this is something I only recently discovered. So, Webpage Test also has this JPEG info tool. Um, so webpagetest.org/jpeg info. You can just add in, um, a URL to any image here and analyze it. And what it'll actually do is it'll show you like what um compression uh savings you can get by going for lossless compression um or changing up the image quality to something a little bit different to what you've got right now like size like 85 in this case which is still saving you bytes on the on the original 140k um image. But it's just just a nice little extra thing webpage test does. Not a lot of people use this like know this still exists but it's kind of neat. That's pretty cool because it also tells you like gives you a score of like image compression on your runs and everything. So, it's nice to be able to do that. There's a ton of other options um web page test have got. You can keep your test private, set labels, you can set um custom user timings. So, um if visual completeness requires um better markings up in the uh the waterfall view that they've got, you can check that stuff out. Supports authentication and a ton of other stuff. So, Webpage Test is awesome. Go check it out. Yes, use it every day. [Music]

Original Description

Web Page Test is a web page that helps you test your web pages - use it! Watch more episodes of Totally Tooling Tips here: https://goo.gl/Y5uSpo Links for this episode: WebPageTest.org: https://goo.gl/OxCjhh Speed Index: https://goo.gl/dVVgCA Service Worker: http://goo.gl/NmPxd8 WebPageTest Tips: http://goo.gl/wYMzyV What is first meaningful paint? https://goo.gl/TSWQOo WebPageTest Video Comparison: http://goo.gl/4mqtfW WebPageTest History: http://goo.gl/qK6CSW WebPageTest JPEGInfo Tool: http://goo.gl/ic4gaX Subscribe to the Chrome Developers channel at http://goo.gl/LLLNvf
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Chrome for Developers · Chrome for Developers · 0 of 60

← Previous Next →
1 Polymer Performance Patterns (The Polymer Summit 2015)
Polymer Performance Patterns (The Polymer Summit 2015)
Chrome for Developers
2 Polymer Power Tools (The Polymer Summit 2015)
Polymer Power Tools (The Polymer Summit 2015)
Chrome for Developers
3 Chrome Dev Summit 2014 – Chrome Case Studies
Chrome Dev Summit 2014 – Chrome Case Studies
Chrome for Developers
4 Web Directions Code 2015 round up
Web Directions Code 2015 round up
Chrome for Developers
5 Maintainable Code - HTTP203
Maintainable Code - HTTP203
Chrome for Developers
6 iron-ajax… wat?! -- Polycasts #26
iron-ajax… wat?! -- Polycasts #26
Chrome for Developers
7 The Guardian - Supercharged
The Guardian - Supercharged
Chrome for Developers
8 ES2015 (next version of JavaScript), Totally Tooling Tips (S2 Ep1)
ES2015 (next version of JavaScript), Totally Tooling Tips (S2 Ep1)
Chrome for Developers
9 #AskPolymer: Rob answers all the questions ever -- Polycasts #27
#AskPolymer: Rob answers all the questions ever -- Polycasts #27
Chrome for Developers
10 The Future of JavaScript - HTTP203
The Future of JavaScript - HTTP203
Chrome for Developers
11 Data Binding 101 -- Polycasts #28
Data Binding 101 -- Polycasts #28
Chrome for Developers
12 The Guardian part 2 - Supercharged
The Guardian part 2 - Supercharged
Chrome for Developers
13 The Future of Web Audio: with Chris Wilson and Chris Lowis
The Future of Web Audio: with Chris Wilson and Chris Lowis
Chrome for Developers
14 Chrome 46: New motion-path animations, client hints and service worker improvements
Chrome 46: New motion-path animations, client hints and service worker improvements
Chrome for Developers
15 Sublime Snippets, Totally Tooling Tips (S2 Ep2)
Sublime Snippets, Totally Tooling Tips (S2 Ep2)
Chrome for Developers
16 #AskPolymer: How do you make the show? -- Polycasts #29
#AskPolymer: How do you make the show? -- Polycasts #29
Chrome for Developers
17 Critical Path CSS, Totally Tooling Tips (S2 Mini Tip #1)
Critical Path CSS, Totally Tooling Tips (S2 Mini Tip #1)
Chrome for Developers
18 Binding to Objects -- Polycasts #30
Binding to Objects -- Polycasts #30
Chrome for Developers
19 Player FM - Supercharged
Player FM - Supercharged
Chrome for Developers
20 Where’s the Designer? #AskPolymer -- Polycasts #31
Where’s the Designer? #AskPolymer -- Polycasts #31
Chrome for Developers
21 Jake Beats Wikipedia - HTTP203
Jake Beats Wikipedia - HTTP203
Chrome for Developers
22 Supercharged Observers! -- Polycasts #32
Supercharged Observers! -- Polycasts #32
Chrome for Developers
23 Jai's Web blog - Supercharged
Jai's Web blog - Supercharged
Chrome for Developers
24 Windows Command-line Tooling, Totally Tooling Tips (S2, Ep4)
Windows Command-line Tooling, Totally Tooling Tips (S2, Ep4)
Chrome for Developers
25 What about internationalization? #AskPolymer -- Polycasts #33
What about internationalization? #AskPolymer -- Polycasts #33
Chrome for Developers
26 Developing for Billions (Chrome Dev Summit 2015)
Developing for Billions (Chrome Dev Summit 2015)
Chrome for Developers
27 Google+ Performance Improvement Comparison
Google+ Performance Improvement Comparison
Chrome for Developers
28 Deploying HTTPS: The Green Lock and Beyond (Chrome Dev Summit 2015)
Deploying HTTPS: The Green Lock and Beyond (Chrome Dev Summit 2015)
Chrome for Developers
29 Progressive Web Apps (Chrome Dev Summit 2015)
Progressive Web Apps (Chrome Dev Summit 2015)
Chrome for Developers
30 Instant Loading with Service Workers (Chrome Dev Summit 2015)
Instant Loading with Service Workers (Chrome Dev Summit 2015)
Chrome for Developers
31 Increase Engagement with Web Push Notifications (Chrome Dev Summit 2015)
Increase Engagement with Web Push Notifications (Chrome Dev Summit 2015)
Chrome for Developers
32 Engaging with the Real World: Web Bluetooth and Physical Web (Chrome Dev Summit 2015)
Engaging with the Real World: Web Bluetooth and Physical Web (Chrome Dev Summit 2015)
Chrome for Developers
33 Asking for Permission: respectful, opinionated UI (Chrome Dev Summit 2015)
Asking for Permission: respectful, opinionated UI (Chrome Dev Summit 2015)
Chrome for Developers
34 Polymer - State of the Union (Chrome Dev Summit 2015)
Polymer - State of the Union (Chrome Dev Summit 2015)
Chrome for Developers
35 Building Progressive Web Apps with Polymer (Chrome Dev Summit 2015)
Building Progressive Web Apps with Polymer (Chrome Dev Summit 2015)
Chrome for Developers
36 Introduction to RAIL (Chrome Dev Summit 2015)
Introduction to RAIL (Chrome Dev Summit 2015)
Chrome for Developers
37 DevTools in 2015: Authoring to the max (Chrome Dev Summit 2015)
DevTools in 2015: Authoring to the max (Chrome Dev Summit 2015)
Chrome for Developers
38 RAIL in the real world (Chrome Dev Summit 2015)
RAIL in the real world (Chrome Dev Summit 2015)
Chrome for Developers
39 #ChromeDevSummit talks are up - W00T! -- Polycast #34
#ChromeDevSummit talks are up - W00T! -- Polycast #34
Chrome for Developers
40 V8 Performance from the Driver's Seat (Chrome Dev Summit 2015)
V8 Performance from the Driver's Seat (Chrome Dev Summit 2015)
Chrome for Developers
41 Quantify and improve real-world RAIL (Chrome Dev Summit 2015)
Quantify and improve real-world RAIL (Chrome Dev Summit 2015)
Chrome for Developers
42 Owning your performance: RAIL (Chrome Dev Summit 2015)
Owning your performance: RAIL (Chrome Dev Summit 2015)
Chrome for Developers
43 HTTP/2 101 (Chrome Dev Summit 2015)
HTTP/2 101 (Chrome Dev Summit 2015)
Chrome for Developers
44 Leadership Panel (Chrome Dev Summit 2015)
Leadership Panel (Chrome Dev Summit 2015)
Chrome for Developers
45 Build Processes, Totally Tooling Tips (S2, Ep 5)
Build Processes, Totally Tooling Tips (S2, Ep 5)
Chrome for Developers
46 Accessibility (Chrome Dev Summit 2015)
Accessibility (Chrome Dev Summit 2015)
Chrome for Developers
47 Binding to Arrays -- Polycasts #35
Binding to Arrays -- Polycasts #35
Chrome for Developers
48 HTTP2 - HTTP203
HTTP2 - HTTP203
Chrome for Developers
49 Chrome 47: Splash Screens, requestIdleCallback and better desktop notifications (New in Chrome)
Chrome 47: Splash Screens, requestIdleCallback and better desktop notifications (New in Chrome)
Chrome for Developers
50 Call For Submissions - Supercharged
Call For Submissions - Supercharged
Chrome for Developers
51 Cross Device Testing, Totally Tooling Tips (S2 Ep6)
Cross Device Testing, Totally Tooling Tips (S2 Ep6)
Chrome for Developers
52 Testing AJAX with Web Component Tester -- Polycasts #37
Testing AJAX with Web Component Tester -- Polycasts #37
Chrome for Developers
53 Slack: Extended Xmas Special - Supercharged
Slack: Extended Xmas Special - Supercharged
Chrome for Developers
54 Browser testing with Travis & Sauce Labs -- Polycasts #38
Browser testing with Travis & Sauce Labs -- Polycasts #38
Chrome for Developers
55 Optimize for production with Vulcanize -- Polycasts #39
Optimize for production with Vulcanize -- Polycasts #39
Chrome for Developers
56 Highlights from Chrome Dev Summit 2015
Highlights from Chrome Dev Summit 2015
Chrome for Developers
57 Chrome 48: Custom buttons in notifications, DevTools Security panel, and Presentation mode
Chrome 48: Custom buttons in notifications, DevTools Security panel, and Presentation mode
Chrome for Developers
58 Crisper: Protecting your Polymer app with CSP -- Polycasts #40
Crisper: Protecting your Polymer app with CSP -- Polycasts #40
Chrome for Developers
59 How do I use Sass with Polymer? #AskPolymer -- Polycasts #41
How do I use Sass with Polymer? #AskPolymer -- Polycasts #41
Chrome for Developers
60 Colors – DevTools Tonight #0 (Pilot)
Colors – DevTools Tonight #0 (Pilot)
Chrome for Developers

Related Reads

Up next
How To Build A Twitter Clone - React Next JS - Appwrite Crash Course
Adrian Twarog
Watch →