Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Time to Interactive – focusing on the human-centric metrics

Time to Interactive – focusing on the human-centric metrics

Web performance is the way how people perceive the speed at which actions on the web pages return a meaningful response. A key aspect of the web performance is the way how we can measure it. And, we as a community created a lot of metrics with a goal to give a precise answer to this questions. With this talk, I’d like to explain in details a set of relatively new performance metrics focused on the interactivity of our web pages. I’ll also share the reasons why a page might not be interactive and how this affects people’s experience on the web.

Radimir Bitsov

October 12, 2018
Tweet

More Decks by Radimir Bitsov

Other Decks in Technology

Transcript

  1. @radibit Perception of time Web performance is about perception of

    time Time is perceived subjectively by all of us
  2. @radibit Perception of time Web performance is about perception of

    time Time is perceived subjectively by all of us It varies according many factors – age, location, emotions
  3. @radibit Perception of time Web performance is about perception of

    time Time is perceived subjectively by all of us It varies according many factors – age, location, emotions More o en we optimize for the objective time
  4. @radibit Perception of time Web performance is about perception of

    time Time is perceived subjectively by all of us It varies according many factors – age, location, emotions More o en we optimize for the objective time
  5. @radibit People tend to lose focus after 1 second h

    ps://www.nngroup.com/articles/response-times-3-important-limits/ 0.1s 1s 1s 3s 3s 8s+
  6. @radibit What happens when people encounter slow or interrupted processes?

    IBM, Mobile Customer Experience 23 percent cursed at their phones
  7. @radibit What happens when people encounter slow or interrupted processes?

    IBM, Mobile Customer Experience 23 percent cursed at their phones ❌ 21 percent deleted the poorly functioning app
  8. @radibit What happens when people encounter slow or interrupted processes?

    IBM, Mobile Customer Experience 23 percent cursed at their phones ❌ 21 percent deleted the poorly functioning app 11 percent screamed at their mobile device
  9. @radibit What happens when people encounter slow or interrupted processes?

    IBM, Mobile Customer Experience 23 percent cursed at their phones ❌ 21 percent deleted the poorly functioning app 11 percent screamed at their mobile device 4 percent threw their mobile device
  10. 1s delay, 16% lower satisfaction The Aberdeen Group discovered a

    1- second delay resulted in 11% fewer page views, a 16% decrease in customer satisfaction, and 7% loss in conversions. h ps://wpostats.com/2015/10/29/aberdeen-1-percent.html
  11. @radibit Page Load Time, Speed Index Aside from giving insights

    on the moment when the page had fully loaded they do not describe the user experience.
  12. @radibit Time to Interactive explainer Highlights the moment when a

    website or app is capable of responding quickly to user input
  13. @radibit Time to Interactive explainer Highlights the moment when a

    website or app is capable of responding quickly to user input The goal is to measure how efficient a website or app is when interacted with
  14. @radibit Time to Interactive explainer Highlights the moment when a

    website or app is capable of responding quickly to user input The goal is to measure how efficient a website or app is when interacted with
  15. @radibit First Idle (First Interactive) The first early sign of

    time where the main thread has come at rest and the browser has completed a First Meaningful Paint.
  16. @radibit Time to Interactive (Consistently Interactive) A er the First

    Meaningful Paint, when the main thread has been at rest for at least 5 seconds and there are no long tasks that will prevent immediate response to user input.
  17. @radibit Navigation begins First Paint First Meaningful Paint First Idle

    5 seconds without long tasks First Idle and Time to Interactive Loading time First Interactive and Consistently Interactive Short task Long task (longer than 50ms)
  18. @radibit Why the main thread can be blocked? JS Fetched

    JS Compiled JS Parsed Style Calculations Layout Render Evaluate Script (main.js) Loading time 0 ms 100 ms 200 ms 300 ms
  19. @radibit Why the main thread can be blocked? JS Fetched

    JS Compiled JS Parsed Style Calculations Layout Render Evaluate Script (main.js) Loading time 0 ms 100 ms 200 ms 300 ms Single long-running operation which takes more than 50 ms
  20. @radibit Why the main thread can be blocked? JS Fetched

    JS Compiled JS Parsed Style Calculations Layout Render Evaluate Script (main.js) Loading time 0 ms 100 ms 200 ms 300 ms Single long-running operation which takes more than 50 ms
  21. @radibit Blocking the main thread Users won’t be able to

    receive any immediate feedback from their actions
  22. @radibit Blocking the main thread Users won’t be able to

    receive any immediate feedback from their actions Frustrating situations, unexpected updates
  23. @radibit Blocking the main thread Users won’t be able to

    receive any immediate feedback from their actions Frustrating situations, unexpected updates Far more destructive result on mobile devices – ba ery drain, poor animations, junky scrolling
  24. @radibit Blocking the main thread Users won’t be able to

    receive any immediate feedback from their actions Frustrating situations, unexpected updates Far more destructive result on mobile devices – ba ery drain, poor animations, junky scrolling
  25. @radibit The median mobile webpage 370KB HTTP Archive State of

    JavaScript report (Sep 2018) 9s JavaScript Until Interactive
  26. Sites with this much script are simply inaccessible to a

    broad swath of the world’s users; statistically, users do not (and will not) wait for these experiences to load.  Alex Russell, 
 So ware Engineer, Google Chrome Team “
  27. TTI case study The Pinterest’s engineering team observed 60% higher

    user engagement a er reducing Time to Interactive from 23s to 5.6s, and to 3.9s on repeat visits! Pinterest performance case study
  28. @radibit Aim for Time to Interactive under 5 seconds On

    all devices h ps://infrequently.org/2017/10/can-you-afford-it-real-world-web-performance-budgets/
  29. Just because you are grabbing all the low-hanging fruit doesn’t

    mean you are making a good fruit salad. Jen Simmons, 
 Designer Advocate, 
 Mozilla “
  30. WebPageTest Quick way to run comprehensive web performance reports with

    scripting capability that lets you automate multi-step test. Private instance option for CI or commit- queue system. h ps://www.webpagetest.org/easy
  31. Lighthouse Web performance audits as part of Chrome Dev Tools.

    Travis CI implementation for pull requests. h ps://github.com/ebidel/lighthouse-ci h ps://googlechrome.github.io/lighthouse/viewer/
  32. Bundlesize, Webpack Performance Keep your bundle size in check with

    Bundlesize and define your performance budget using Webpack. h ps://github.com/siddharthkp/bundlesize h ps://webpack.js.org/configuration/performance/
  33. ♠ Calibre You can keep track of and analyze First

    Idle and Time to Interactive using Calibre’s automated web performance tests. h ps://calibreapp.com/