Measuring page load is hard. Are there better metrics then ‘load’ event for representing page load time? How to represent user’s performance perception? Etc...
I’ll talk about Progressive Web Metrics which are going to solve these problems. Explain how to measure web page load (based on last Google/Chrome dev team researches). Which tools are available for taking these measurements. Profit you can achieve using them.
45. twitter/@denar90_ github/@denar90
Definition of user perception page loading
“is it happening”?
Has my navigation started successfully (the server has responded, etc.)?
“is it useful”?
Has the page painted enough critical content that I could engage with?
45
46. twitter/@denar90_ github/@denar90
Definition of user perception page loading
“is it happening”?
Has my navigation started successfully (the server has responded, etc.)?
“is it useful”?
Has the page painted enough critical content that I could engage with?
“is it usable”?
Can I actually engage with the page or is it still busy?
46
47. twitter/@denar90_ github/@denar90
Definition of user perception page loading
“is it happening”?
Has my navigation started successfully (the server has responded, etc.)?
“is it useful”?
Has the page painted enough critical content that I could engage with?
“is it usable”?
Can I actually engage with the page or is it still busy?
“is it delightful”?
Was I pleasantly surprised by the lack of scrolling jank, animation jank, FOUC, slow webfonts,etc?
47
61. twitter/@denar90_ github/@denar90
Key metrics:
- First Contentful Paint
(when any contentful thing (text, img, svg etc) appeared first time, nav actually started)
- First Meaningful Paint
(when primary content is visible)
- Time to Interactive
(when FMP happened, DOMContentLoaded fired, Visually Ready, user feels like
he/she can engage with page)
61
62. twitter/@denar90_ github/@denar90
Key metrics:
- First Contentful Paint
(when any contentful thing (text, img, svg etc) appeared first time, nav actually started)
- First Meaningful Paint
(when primary content is visible)
- Time to Interactive
(when FMP happened, DOMContentLoaded fired, Visually Ready, user feels like
he/she can engage with page)
- Estimated Input Latency
(estimates page responding to user input (< 50 ms) )
62
63. twitter/@denar90_ github/@denar90
Key metrics:
- First Contentful Paint
(when any contentful thing (text, img, svg etc) appeared first time, nav actually started)
- First Meaningful Paint
(when primary content is visible)
- Time to Interactive
(when FMP happened, DOMContentLoaded fired, Visually Ready, user feels like
he/she can engage with page)
- Estimated Input Latency
(estimates page responding to user input (< 50 ms) )
- Perceptual Speed Index / Visually complete
(measures how quickly the page contents are visually populated)
63
64. twitter/@denar90_ github/@denar90
Key metrics:
- First Contentful Paint
(when any contentful thing (text, img, svg etc) appeared first time, nav actually started)
- First Meaningful Paint
(when primary content is visible)
- Time to Interactive
(when FMP happened, DOMContentLoaded fired, Visually Ready, user feels like
he/she can engage with page)
- Estimated Input Latency
(estimates page responding to user input (< 50 ms) )
- Perceptual Speed Index / Visually complete
(measures how quickly the page contents are visually populated)
- Frame Throughput
(60 fps stuff)
64
120. twitter/@denar90_ github/@denar90
120
What was learned?
- build mobile first apps
- use real device for testing/measuring
- use different metrics to define performance bottlenecks
- apply latest techniques for improving your application
performance