Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Leveraging legacy code to deploy desktop applications on the Web

John R. Douceur, Jeremy Elson, Jon Howell, and Jacob R. Lorch

Abstract

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.

Details

Publication typeInproceedings
Published inProceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI)
Pages339-354
PublisherUSENIX
> Publications > Leveraging legacy code to deploy desktop applications on the Web