A recent guest post on TechCrunch reignited my interest in the space between web apps and desktop apps. Matthew Gertner wrote:

Single-site browsers (SSBs) aim to bring the best of the desktop to web applications. Rather than running programs in normal web browsers like Firefox or Safari, wedged in a tab between New York Times articles and TechCrunch posts, each app is given its own dedicated browser, which is customized to include many of the desktop features that users know and love.

Enter Mozilla Prism — a package that allows you to create a dumbed-down web browser that works for just that application.

From the recent 0.2 release announcement:

Prism is an open source cross-platform prototype of functionality that lets users split web applications out of the browser and run them directly on the desktop.

A web application like GMail, Google Calendar, Zoho, Buzzword, Tada List, Basecamp — pretty much anything that is Ajax-heavy and doesn’t fit the traditional browser document model — is a good candidate for turning into a Prism application.

While still in the early stages, the benefits for a SSB application like Prism are clear:

Some web apps are more “RIA” than “web site”, so having them run in a separate thread is very handy. For example, you can Alt-Tab ( Cmd-Tab ) between your browser and your Prism app, and if your browser crashes then your Prism app remains unaffected.

( ) between your browser and your Prism app, and if your browser crashes then your Prism app remains unaffected. Removing the clutter of the browser chrome allows the application’s user interface to shine.

Beginner users (Hi Mum!) could have their Start Bar or OS X dock pre-populated with a bunch of Prism apps that they simply click on to use — no more educating them about browser tabs, bookmarks and the like.

It’s possible to create a Prism app from any web site or web application. If you wanted to run the SitePoint Marketplace as its own application, you could do so (although the marketplace is probably not the best suited example, given that it relies on browser functionality such as the back button). But if you wanted to, you could — you don’t need to wait for the site owner to create something for you.

Of course, there are downsides to this approach — the bugginess of the current release aside. Advanced users are most likely to be impacted.

For one, none of your regular Firefox extensions are available. That means that if you have any Greasemonkey scripts that you rely upon, you won’t be able to use them from within your Prism app. Actually, it is possible to install Firefox extensions to your Prism app, via the Tools > Add-ons menu, in the bottom right of the application’s window.

By default, Prism grabs the favicon from the web site upon which your Prism app is based. This is pretty small and pixelates when enlarged, although it’s possible to use your own custom, much prettier icon.

from the web site upon which your Prism app is based. This is pretty small and pixelates when enlarged, although it’s possible to use your own custom, much prettier icon. The application still doesn’t quite feel like a native desktop app, because of the limitations of HTML, CSS and JavaScript in defining user interface elements.

The biggest disadvantage, of course, is that a Prism app won’t run offline (unlike platforms such as Adobe AIR and Google Gears). It really is just a stripped-back browser.

Creating a Prism application

Creating a Prism app is dead easy:

Download and install Mozilla Prism Launch Prism and specify a web site’s URL, icon and a couple of other settings, and click OK Your Prism app’s launch icon will appear in your Start Menu, OS X dock or Desktop.



The Google Mail and Google Calendar applications reach the desktop

Additionally, if you’re running Firefox 3 (still in beta) Prism is also available as a Firefox extension that adds a “Convert Website To Application” menu option making Prism app creation even simpler still.

Mozilla Prism 0.2 is available for download, for desktopifying any web site that you choose.

What do you think — is a hybrid platform like Prism useful, or does it just produce the worst of both worlds?