  Mobile browser is known to be slow because of the bottleneck in resource
loading. Client-only solutions to improve resource loading are attractive
because they are immediately deployable, scalable, and secure. We present the
first publicly known treatment of client-only solutions to understand how much
they can improve mobile browser speed without infrastructure support.
Leveraging an unprecedented set of web usage data collected from 24 iPhone
users continuously over one year, we examine the three fundamental, orthogonal
approaches a client-only solution can take: caching, prefetching, and
speculative loading, which is first proposed and studied in this work.
Speculative loading predicts and speculatively loads the subresources needed to
open a web page once its URL is given. We show that while caching and
prefetching are highly limited for mobile browsing, speculative loading can be
significantly more effective. Empirically, we show that client-only solutions
can improve the browser speed by about 1.4 second on average for web sites
visited by the 24 iPhone users. We also report the design, realization, and
evaluation of speculative loading in a WebKit-based browser called Tempo. On
average, Tempo can reduce browser delay by 1 second (~20%).
