@inproceedings{douceur2008leveraging, author = {Douceur, John (JD) and Elson, Jeremy and Howell, Jon and Lorch, Jay}, title = {Leveraging legacy code to deploy desktop applications on the Web}, booktitle = {Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI)}, year = {2008}, month = {December}, 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.}, publisher = {USENIX}, url = {http://approjects.co.za/?big=en-us/research/publication/leveraging-legacy-code-to-deploy-desktop-applications-on-the-web/}, pages = {339-354}, edition = {Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI)}, }