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 pagesBut 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 users 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
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/