Overview
Last week Lifehacker had a post on creating web applications with Mozilla’s Prism, and I’m finally getting around catching up on it. (This post here is a bit of a re-write of the Mozilla Labs Prism page, adding my own personal touch
)
Prism is part of a series of experiments run by Mozilla Labs to explore new usability models in a world where desktop and web browser experiences are merging. Similar to Adobe AIR and Microsoft Silverlight, Prism splits web programs from the document centred browser environment, with its components that have have nothing to do with them (like back & forward buttons and address & toolbars), and allows users to run their web apps like desktop programs.
Unlike Adobe Air and Microsoft Sliverlight though Prism does not create a new proprietary platform to replace the web; instead it uses its power and openness to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform. Prism is built on Firefox, so it supports rich internet technologies like HTML, JavaScript, CSS, and <canvas> and will run on Windows, Mac OS X, and Linux. This approach makes it easier for developers to build new applications because web program that can run in a modern standards-compliant web browser can run in Prism, and it’s a pity M$ (of course!) and Adobe decided not to follow this OSS model.
(While Prism focuses on how web apps can integrate into the desktop experience, Mozilla is also working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware.)
As the above image indicates, Prism allows users to separate their web apps from their native environment (the browser) and add them instead to their desktop. There they can be run in their own separate window like any other desktop application, invoked by clicking on shortcut icons or via Control-Tab, Command-Tab, and Exposé, just like desktop apps (see image below). And users can still access these same applications from any web browser when they are away from their own computers.
The Mozilla guys are also thinking about how to better integrate Prism with Firefox, enabling an one-click “make this a desktop app” functionality that preserves a user’s preferences, saved passwords, cookies, add-ons, and customizations. Ideally users shouldn’t even have to download Prism, it should just be built into your browser; Mozilla Labs is working on an extension for Firefox that provides some of this functionality.
Getting Started with Prism
Currently only an early prototype for M$ Windows is available, with work continuing on Mac and Linux (for which the Mozilla guys hope to have builds available soon … whatever that means
).
To try out the prototype, download Prism for Windows, install and start it to get to the Install Web Application dialog. Enter the URL of the application you want to use in Prism (e.g. mail.google.com), a name for the application (e.g. Gmail), and pick where you’d like to create shortcuts to the application.
Then press the OK button. Prism will create shortcuts to the application in the locations you specified and then start the application.
How to Get Involved
Prism is just the first of many experiments we hope to conduct around improving the usability of web applications. It’s open source, like everything we do, and we’re interested in hearing from and working with anyone interested in further developing this concept.
- Discuss, debate and add to the design in the forum. Report bugs in Bugzilla.
- Get the source code, extend it, fix bugs and/or submit patches.
The project lead for Prism is Mark Finkle and contributors include Cesar Oliveira, Wladimir Palant, Sylvain Pasche, Alex Faaborg, and Myk Melez.
For more information:
- about the user experience he Prism team hopes to achieve, see Alex Faaborg’s blog post
- on some of the technical details and new features found in Prism, see Mark Finkle’s blog post
- on user contributed bundles, including a list of current web programs that can run in Prism, see Mozilla Prism wiki












