Improving the Performance and Robustness of Web Applications

James Mickens

About the Event

Web applications are becoming more popular, and they are increasingly competitive with desktop applications in terms of functionality and visual sophistication. Unfortunately, web applications suffer from unique challenges that traditional desktop programs do not face. Content is often downloaded on demand, making the performance of a web application dependent on the current quality of the network connection and how judiciously the application uses that link. Furthermore, web applications must run across a variety of browsers that are buggy and only semi-compatible with each other. This makes it challenging to write robust, portable web applications, and when those applications do break, users have no systematic way to send repeatable buggy execution runs to web developers.

In this talk, I will provide an overview of three projects that attempt to make web applications more robust and performant. The first, called Silo, uses client-side JavaScript to layer a custom delta-encoding protocol atop HTTP. For pages with large amounts of
HTML, CSS, and JavaScript, Silo can reduce load times by over 30%. The second project, called Mugshot, leverages the rich introspective capabilities of JavaScript to allow a web page to log all of the client-side nondeterminism that it encounters. Later, if a user determines that a web application was faulty, she can send an event log to the developer, who can then replay the problematic execution. The final project, called Atlantis, involves a new browser architecture whose design was born out of the frustrations with commodity browsers that were encountered during the work on the first two projects. Atlantis uses a microkernel design which emphasizes extensibility, allowing web pages to define their own HTML parser,! render, and so on. This gives web applications unprecedented control over their execution environment.

Biography

James Mickens is a researcher in the Distributed Systems group at MSR. Most of his current research focuses on web applications, but his other current projects involve mobile computing and designing secure applications which run atop trusted hardware modules. Mickens received his PhD from the University of Michigan in 2008. While a student there, Mickens was legendary for his transcendental skills on the CSEG foosball table. He was also notorious for trying to schedule his thesis defense in the early hours of the morning so that nobody would come to it. This technique, popularly called "The Mickens Gambit," is now banned in 36 states.