Proxy optimizes webpage loading for better user experience

Klotski seeks to improve users’ perceptions of how quickly a page loads by maximizing the amount of important content on the page that is fetched and displayed within the user’s attention span.

Proxy Optimizes Webpage Loading for Better User Experience Enlarge

Though the use of smartphones to access the Web has skyrocketed, loading a web page even on state-of-the art devices remains painfully slow. Despite constant improvements in smartphone technology and cellular network bandwidth, this problem is unlikely to go away in the near future due to two conflicting trends. On one hand, user tolerance of web page load times continue to decrease, e.g., 71% of smartphone users expect websites to load as quickly as on their desktops. On the other hand, users expect richer content on the websites they access, and as a result, the amount of content on the average web page has increased from 700 KB in 2011 to 2.3 MB in 2016.

To address these two conflicting trends without having to redesign the web from scratch, Prof. Harsha V. Madhyastha’s research group has developed a new web proxy called Klotski. The key insight is that, since a typical web page cannot be loaded completely within a time that users consider reasonable – after all, the time within which all the bytes on a page can be fetched is constrained by the latency and bandwidth of the network – Klotski instead seeks to improve users’ perceptions of how quickly a page loads by maximizing the amount of important content on the page that is fetched and displayed within the user’s attention span, where importance is determined based on user preferences.

To achieve this goal, Klotski continually loads web pages in the background, building a compact per-page fingerprint which summarizes the content on the page. Then, when a user loads a web page via Klotski, it modifies the order in which resources on the page are fetched and delivered to the client; Klotski uses the previously computed fingerprint for the page to selectively fetch resources important to the user before others. Klotski is compatible with legacy browsers and websites, and experimental results show that Klotski increases the fraction of important resources delivered within 2 seconds – a typical user’s attention span – from 25% to 60% on the median web page.

An illustration of Klotski load times Enlarge
An illustration of how an image-rich webpage page will load in three seconds without Klotski (left), and with Klotski (right).

Prof. Madhyastha’s research spans the areas of distributed systems, networking, and security and privacy. Most of his work focuses on simplifying the development of and enabling the cost-effective deployment of performant, highly available, and privacy-preserving Internet-scale software services. His research has received support from the Army Research Office (ARO), the Defense Threat Reduction Agency (DTRA), the Intelligence Advanced Research Projects Activity (IARPA) agency, Amazon, VMware, multiple Google Faculty Research awards, a NetApp Faculty Fellowship, and an NSF CAREER award. His work has also resulted in award papers at the USENIX NSDI, ACM SIGCOMM IMC, and IEEE CNS conferences.