Mozilla Prism: Stuck In The Middle With UI

Matthew Magain

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.

Mozilla PrismEnter 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.
  • 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.
  • 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:

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

Google Calendar configured as a Prism app
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?

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • faramarz

    Very interesting, if it could do work offline, then web services could replace the desktop applications which ordinary users use in everyday life.
    I think that it would be the trend of future though.

  • http://www.sitepoint.com AlexW

    It’s cool that it’s stripped back, but a customized web app like this needs some way to customize the content.

    It seems a little counter-intuitive to me that Prism is built to let you focus entirely on the operations of a single site, yet it’s ultimately less flexible — thanks to no Greasemonkey — than my standard Firefox. I could see some cool uses of this with, say, eBay or Google Maps, but they all rely on the browser doing stuff better than the site does by default, not just cleaner and faster.

    If you get some control, there’s potentially a whole new business in building stuff like deluxe eBay viewers.

  • http://www.magain.com/ mattymcg

    @AlexW: Actually I stand corrected — you can install any compatible Firefox extension that you like via the Tools > Add-ons window, which is in the bottom right of the application window. Not sure why it hasn’t been added to the regular dropdown menu, but it’s good to know that it’s there!

  • http://www.xeninesolutions.com bvarvel

    How is this any different than simply creating a custom shortcut to launch the browser with the designated website? Last I checked you could customize the browsers chrome, the browser picks up the favicon by default, and you can customize the shortcut… so what’s the big deal?

  • kioopi

    Prism lets you assign a user-defined script and stylesheet to a webapp-bundle.
    I’m using it for quite a while now and feel much less CSRF-vulnerable because of it.

  • AndrewCharron

    I only looked very quickly, but this could be a winner if you could somehow make it into a package.

    Ex:
    1) I create a web app online, http://www.example.com/webapp
    2) I use prism to create a bundle package that installs prism with the app location and all set up, with a nice installer.
    3) I offer the package as a download. They can download, run the installer, and use like any other program.

    If it did this, I can see a huge exploding market for web apps.

  • Ronald Schouten

    I think the disadvantage of not being able to run apps off line is false. Since Prism is based on the latest Mozilla platform it should support the off line storage features coming with Firefox 3. Also, since extensions are available it should be easy to add the Google Gears extension (even if Google Gears does not support FF3 yet – I’m sure it will soon).

  • http://www.magain.com/ mattymcg

    @bvarvel: The difference is that Prism makes desktopifying a web app EASY. It might be easy for you or me to modify the browser chrome, but most web users wouldn’t know where to start. There are other advantages over just running it in a browser too, which I’ve listed above.

    @Ronald Schouten: Good point. This makes it even more exciting.

  • http://www.cromecreations.co.uk crome

    Since I got my iPhone I have been getting used to the idea of web apps as prior to the SDk this was the main way of adding functionality. The idea of running similar web apps on my desktop is very appealing, no updates etc.

    I also like the idea above of being able to create an installer, could see a lot of potential there.

    The school I work for could find it useful for staff accessing our MIS through the ePortal which normally they have to find through their browser but using this we could make it feel more like a normal application for them.

  • http://www.panesofglass.org/ aranwe

    How is this different than Sidewinder or Adobe Air?

  • http://www.domehomeconnection.com AVdes

    I think this is great. I’m working on a web app right now that has no use for back buttons or bookmarks or tabs. Basically if I can make it as striped down as possible that would be great, as the average user can focus on the app and not get side tracked with browsing the net. I think a lot of businesses who rely on web apps would like to see less surfing and more working.