Leveraging Legacy Code to Deploy Desktop Applications on the Web

Jon Howell – Researcher, Microsoft

Article link
Powerpoint presentation slides


Jon Howell

Xax is a browser plugin model that enables developers to leverage existing tools, libraries, and entire programs to deliver feature-rich applications on the web. Xax employs a novel combination of mechanisms that collectively provide security, OS-independence, performance, and support for legacy code. These mechanisms include memory-isolated native code execution behind a narrow syscall interface, an abstraction layer that provides a consistent binary interface across operating systems, system services via hooks to existing browser mechanisms, and lightweight modifications to existing tool chains and code bases. We demonstrate a variety of applications and libraries from existing code bases, in several languages, produced with various tool chains, running in multiple browsers on multiple operating systems. With roughly two person-weeks of effort, we ported 3.3 million lines of code to Xax, including a PDF viewer, a Python interpreter, a speech synthesizer, and an OpenGL pipeline.


Jon Howell works at the intersection of security and scalability in distributed systems. His recent projects focus on the convergence of utility computing and web-delivered applications. He has worked on the novel Asirra Captcha, a rigorous proof of correctness for Paxos, the Farsite distributed filesystem, and cross-domain authentication.