Predicting User Activity to Make The Web Fast Velocity Conference 2012 Arvind Jain and Dominic Hamon Google
How fast is the web today? ● Chrome ~ 2.3s/5.4s page load time (median/mean) ● Google Analytics ~ 2.9s/6.9s page load time (median/mean) ● Mobile ~ 4.3s/10.2s page load time (median/mean) http://analytics.blogspot.com/2012/04/global-site-speed-overview-how-fast-are.html
Web page size over time http://httparchive.org/
Making the web fast ● Faster browsers ● Faster networks ● Faster hardware ● Faster pages But not enough to make the web Instant...
The time between requests ● ~ 3 seconds to type a URL ● ~ 15 seconds to select a search result ● Plenty of idle time ● Why not use it?
Predict and Prerender ● Predict user navigation or follow advice from page <link rel='prerender'> ● Fetch all resources for a page ● Render to a hidden tab ● Swap in when user navigates
Chrome Omnibox Prerendering ● Already provide suggestions to the user ● Opportunity to learn browsing behaviour ● Ability to develop good prediction model ● Little contention for resources
Implementation details ● Track whether the user takes a suggestion ● Map user's text input to suggestion and hit/miss counts ● Given user input and suggestion, calculate confidence C: ○ C = H / (H + M) where H is the hit count, M is the miss count
Implementation example ● User types 'c' ● Suggestions are: ○ www.cnn.com ○ comcast.net ● User types 'n' ● Omnibox shows 'cn' ● Suggestion is www.cnn.com ● User selects www.cnn.com
Implementation example (cont.) ● We store: { 'c', { { 'cnn.com', 1, 0 }, { 'comcast.net', 0, 1 }, }, 'cn', { { 'cnn.com', 1, 0 }, }, }
Implementation example (cont.) ● Over time, this data structure evolves to something like: View your data at chrome://predictors in Chrome 20
Implementation example (cont..) ● User types 'c' ● Suggestions are: ○ www.cnn.com ○ comcast.net ● www.cnn.com is selected by default ● Confidence is C = 1 ● Start prerendering www.cnn.com
Demo
Key results ● Coverage ○ Almost a third of Omnibox navigations are prerendered ● Accuracy ○ About 90% of those prerenders are used ● Instant ○ Between 15% and 20% of Omnibox navigations are instant (<10 ms) ● Median time saved ○ ~1 second (>40%) per Omnibox navigation
Total time saved per day Omnibox: Over 10 years Search: Over 20 years
Why should you care? ● Your site will be prerendered at some point by some users ● Check your site is compatible ● Page Visibility API ● Consider <link rel='prerender'> for your own site https://developers.google.com/chrome/whitepapers/prerender http://prerender-test.appspot.com/
Thank you Arvind Jain and Dominic Hamon Google

Predicting user activity to make the web fast presentation

  • 1.
    Predicting User Activity to Make The Web Fast Velocity Conference 2012 Arvind Jain and Dominic Hamon Google
  • 2.
    How fast isthe web today? ● Chrome ~ 2.3s/5.4s page load time (median/mean) ● Google Analytics ~ 2.9s/6.9s page load time (median/mean) ● Mobile ~ 4.3s/10.2s page load time (median/mean) http://analytics.blogspot.com/2012/04/global-site-speed-overview-how-fast-are.html
  • 3.
    Web page sizeover time http://httparchive.org/
  • 4.
    Making the webfast ● Faster browsers ● Faster networks ● Faster hardware ● Faster pages But not enough to make the web Instant...
  • 5.
    The time betweenrequests ● ~ 3 seconds to type a URL ● ~ 15 seconds to select a search result ● Plenty of idle time ● Why not use it?
  • 6.
    Predict and Prerender ●Predict user navigation or follow advice from page <link rel='prerender'> ● Fetch all resources for a page ● Render to a hidden tab ● Swap in when user navigates
  • 7.
    Chrome Omnibox Prerendering ● Already provide suggestions to the user ● Opportunity to learn browsing behaviour ● Ability to develop good prediction model ● Little contention for resources
  • 8.
    Implementation details ● Trackwhether the user takes a suggestion ● Map user's text input to suggestion and hit/miss counts ● Given user input and suggestion, calculate confidence C: ○ C = H / (H + M) where H is the hit count, M is the miss count
  • 9.
    Implementation example ● Usertypes 'c' ● Suggestions are: ○ www.cnn.com ○ comcast.net ● User types 'n' ● Omnibox shows 'cn' ● Suggestion is www.cnn.com ● User selects www.cnn.com
  • 10.
    Implementation example (cont.) ●We store: { 'c', { { 'cnn.com', 1, 0 }, { 'comcast.net', 0, 1 }, }, 'cn', { { 'cnn.com', 1, 0 }, }, }
  • 11.
    Implementation example (cont.) ●Over time, this data structure evolves to something like: View your data at chrome://predictors in Chrome 20
  • 12.
    Implementation example (cont..) ●User types 'c' ● Suggestions are: ○ www.cnn.com ○ comcast.net ● www.cnn.com is selected by default ● Confidence is C = 1 ● Start prerendering www.cnn.com
  • 13.
  • 14.
    Key results ● Coverage ○ Almost a third of Omnibox navigations are prerendered ● Accuracy ○ About 90% of those prerenders are used ● Instant ○ Between 15% and 20% of Omnibox navigations are instant (<10 ms) ● Median time saved ○ ~1 second (>40%) per Omnibox navigation
  • 15.
    Total time savedper day Omnibox: Over 10 years Search: Over 20 years
  • 16.
    Why should youcare? ● Your site will be prerendered at some point by some users ● Check your site is compatible ● Page Visibility API ● Consider <link rel='prerender'> for your own site https://developers.google.com/chrome/whitepapers/prerender http://prerender-test.appspot.com/
  • 17.
    Thank you Arvind Jainand Dominic Hamon Google