TY - GEN
T1 - Vesper
T2 - 15th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2018
AU - Netravali, Ravi
AU - Nathan, Vikram
AU - Mickens, James
AU - Balakrishnan, Hari
N1 - Publisher Copyright:
© Proceedings of NSDI 2010: 7th USENIX Symposium on Networked Systems Design and Implementation. All rights reserved.
PY - 2018
Y1 - 2018
N2 - Everyone agrees that web pages should load more quickly. However, a good definition for “page load time” is elusive. We argue that, for pages that care about user interaction, load times should be defined with respect to interactivity: a page is “loaded” when above-the-fold content is visible, and the associated JavaScript event handling state is functional. We define a new load time metric, called Ready Index, which explicitly captures our proposed notion of load time. Defining the metric is straightforward, but actually measuring it is not, since web developers do not explicitly annotate the JavaScript state and the DOM elements which support interactivity. To solve this problem, we introduce Vesper, a tool that rewrites a page's JavaScript and HTML to automatically discover the page's interactive state. Armed with Vesper, we compare Ready Index to prior load time metrics like Speed Index; across a variety of network conditions, prior metrics underestimate or overestimate the true load time for a page by 24%-64%. We introduce a tool that optimizes a page for Ready Index, decreasing the median time to page interactivity by 29%-32%.
AB - Everyone agrees that web pages should load more quickly. However, a good definition for “page load time” is elusive. We argue that, for pages that care about user interaction, load times should be defined with respect to interactivity: a page is “loaded” when above-the-fold content is visible, and the associated JavaScript event handling state is functional. We define a new load time metric, called Ready Index, which explicitly captures our proposed notion of load time. Defining the metric is straightforward, but actually measuring it is not, since web developers do not explicitly annotate the JavaScript state and the DOM elements which support interactivity. To solve this problem, we introduce Vesper, a tool that rewrites a page's JavaScript and HTML to automatically discover the page's interactive state. Armed with Vesper, we compare Ready Index to prior load time metrics like Speed Index; across a variety of network conditions, prior metrics underestimate or overestimate the true load time for a page by 24%-64%. We introduce a tool that optimizes a page for Ready Index, decreasing the median time to page interactivity by 29%-32%.
UR - http://www.scopus.com/inward/record.url?scp=85069149109&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85069149109&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85069149109
T3 - Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2018
SP - 217
EP - 231
BT - Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2018
PB - USENIX Association
Y2 - 9 April 2018 through 11 April 2018
ER -