Prism, Bringing Web Applications to the Desktop

Mozilla, Web Applications
Location: Ballroom A1
Average rating: ****.
(4.50, 2 ratings)

Despite our perception of a single World Wide Web, there are actually two webs, both of which continue to have tremendous impact on modern life. The web of documents, which had its genesis in Tim Berners-Lee’s vision of a global hypertext project, is upending the publishing industry as we spend more time reading on computer screens and less on pulped dead trees.

Equally important is the web of applications. Advances in web technology, notably increasing use of JavaScript for sophisticated client-side scripting and asynchronous data sources, have narrowed the usability gap between web apps and their desktop brethren. And web apps have many advantages in their own right: they don’t need to be installed/uninstalled, they are accessible from any type of computer anywhere (and increasingly on mobile devices), and they are inherently sandboxed so they can’t doing anything awful to your computer.

At the same time, there are still plenty of good reasons to continue using desktop apps. They generally have better and more responsive user interfaces and more features. They don’t require a live internet connection to run. They give you total control over your data, obviating privacy concerns and allowing backups. Perhaps the most significant advantage of desktop apps is that you don’t have to run them in a web browser. There is no reason to believe that the traditional web browser, designed for the web of documents, is the best place to run applications. If web apps are to become truly competitive, we must first accept the reality of two webs and act accordingly, designing a web client that is optimized for running applications rather than browsing and reading documents.

This is where Prism comes in. Launched in October 2007 under the aegis of Mozilla Labs, it is an example of a single-site browser: a browser designed to do a great job hosting a single application rather than acting as a universal container for documents and apps alike. Some of the biggest advantages of single-site browsers stem directly from the fact that each instance manages a single app: they have their own process (so they won’t bring down the main browser or vice versa in case of a crash) and they can be accessed quickly using operating system features like the OS X Dock, the Windows taskbar and Alt-Tab. User scripts can be written to add more desktop integration, such as dock/system tray menus, native menu bars, balloon alerts, drag-and-drop and protocol handlers (for mailto: links and the like).

In this talk we first give an overview of single-site browsers in general, explaining how they improve the web app user experience. We then discuss specific features of Prism, demonstrating how a desktop-enabled web app can be created using the standalone application or Firefox extension. We give a high-level overview of the various APIs available to implementors who want to add desktop integration features. We also show how web apps that have been customized for Prism can be packaged for easy deployment.

We then outline some of the plans for future Prism development. The existing scripting APIs are similar in many ways to Greasemonkey, and some sort of harmonization would make it possible to leverage existing Greasemonkey scripts and skill sets. The user interface for creating Prism apps could be improved to make it easier to customize apps without scripting and to discover scripts for specific web apps that have been written by third-parties. Integration with Firefox could be tightened, emphasizing Prism’s role as a complementary environment for frequently used web apps.

The presentation concludes with a live demo of Prism in action. We take a popular web application and customize it incrementally to add bells and whistles that provide it with many of the advantages of an equivalent desktop app. We show just how easy it is for anyone with basic scripting experience to create their own customized web app with an enhanced user experience and tight desktop integration.

Matthew Gertner


Matthew Gertner is an independent software contractor specializing in Mozilla technologies. He is also a leading contributor to the Mozilla Prism project. A Brit by birth, an American by upbringing, and a European by choice, he has spent the last 15 years living in Paris and Hamburg before finally settling in Prague. When not coding C++, he is an avid cook and a dangerously obsessive player of backgammon and golf.

  • Intel
  • Microsoft
  • Google
  • Sun Microsystems
  • Facebook
  • Gear6
  • Kaltura
  • Liferay
  • MindTouch
  • Novell, Inc.
  • Open Invention Network
  • Rackspace Cloud
  • Schooner Information Technology
  • Silicon Mechanics
  • Symbian Foundation
  • Twilio
  • WSO2
  • Yabarana Corporation

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at

Download the OSCON Sponsor/Exhibitor Prospectus

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for information on trade opportunities with O'Reilly conferences or contact mediapartners@

Press and Media

For media-related inquiries, contact Maureen Jennings at

OSCON Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required)

Contact Us

View a complete list of OSCON contacts