Mozilla Prism

Mozilla Prism, formally know as ‘WebRunner’ provides the capability to run your web application, ‘as an application’.

Prism is a simple XULRunner based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site Specific Browsers (SSB). An SSB is an application with an embedded browser designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and accoutrements of a normal web browser. Some people have called it a "distraction free browser" because none of the typical browser chrome is used. An SSB also has a tighter integration with the OS and desktop than a typical web application running through a web browser.

(from Mozilla Wiki: Prism)


Prism is an application that lets users split web applications out of their browser and run them directly on their desktop.


image image

They are accessible with Control-Tab, Command-Tab, and Exposé, just like desktop apps. And users can still access these same applications from any web browser when they are away from their own computers.

So what browser ‘engine’ is Prism using?

Prism isn’t a new platform, it’s simply the web platform integrated into the desktop experience. Web developers don’t have to target it separately, because any application that can run in a modern standards-compliant web browser can run in Prism. Prism is built on Firefox, so it supports rich internet technologies like HTML, JavaScript, CSS, and <canvas> and runs on Windows, Mac OS X, and Linux.

Great!  Basically I can develop my application with great tools such as Firebug,  and then deploy my application to the desktop, which then helps ensure it will run as expected.  (I typically make sure my app runs on Firefox/Internet Explorer/Safari anyway).  With FireFox 3.1+ we’re going to see some great new features as well (ie. Offline support which enables web applications to provide offline functionality) – for developers see ‘Firefox 3 for Developers

At first I was trying this out with the new Google Chrome, but a bug in select / combo boxes put it on hold.  The customer basically wants to run their intranet web application in a window that is self contained, without the ‘overhead’ of toolbars, other links, etc…

So, I ran across Prism and setup my test webapp by creating 2 files:


then creating a ‘zip; of the webapp.ini, naming it <yourAppName>.webapp  (for example: MyApp.webapp )

With Prism installed, you can double click on the .webapp

So, what is Prism then?

Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary platform to replace the web. We think the web is a powerful and open platform for this sort of innovation, so our goal is to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform

Ok, so that is nice, what does it get you?

It includes a simple ‘installer’ that can create all the shortcuts needed -so the user doesn’t need to know URLs.  Also, it gives the ability to control what the user can and can’t do with the browser window – for example, handling ‘forward’ and ‘back’ buttons.

(names removed for now)


The .ini can define these properties:


Here is an example dialog to create the shorcuts to your application:


No registry settings, etc… it’s merely creating the shell to run your web application in here.

Chrome user’s might notice – ‘hey this is already built into Chrome’ – which Mozilla recognizes that:

We’re also thinking about how to better integrate Prism with Firefox, enabling one-click “make this a desktop app” functionality that preserves a user’s preferences, saved passwords, cookies, add-ons, and customizations. Ideally you shouldn’t even have to download Prism, it should just be built into your browser. 

We’re working on an extension for Firefox that provides some of this functionality. For more information about the user experience we hope to achieve in Prism, see Alex Faaborg’s blog post.  (I like his future shot image here) For some of the technical details and new features found in Prism, see Mark Finkle’s blog post.


(Update : Firefox addon available)

Prism has made it easy to not need to create the .ini / .webapp – simply download and install Prism and run it.  You’ll be greeted with this prompt:


I like options, and this is
to me, some very innovative and creative ways to run web applications from the desktop, in particular for intranet based application where you want a level of control over the browser and user experience in that environment.



Today we’re releasing a major update to Prism that includes new desktop integration capabilities and simpler installation. With this update, you can now get Prism simply by installing a small extension to Firefox 3. With the new Prism extension for Firefox 3, users can now split web applications directly out of Firefox without needing to install and manage a separate Prism application. Just install the extension, browse to a web app, then select Tools > Convert Website to Application.

Other new or improved features include:

  • Pick an icon to represent a web app on the desktop: Prism can use the web app favicon or the user can pick a custom image to represent the web app.
  • Run each web app in its own profile: Prism now places each web app into its own process/profile so they don’t interfere with each other, which also makes it possible to install a web app twice and use it simultaneously with two different user accounts.
  • Badge the dock icon: Initial support for adding a badge to the desktop icon has been added. Currently, this can be done through a custom webapp.js file. We’re working on creating and reusing web standards to expose this to content without requiring custom scripts.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s