Blurring the online and offline worlds with Mozilla Prism

Up to now the computing experience has been divided into two - online and offline. Being online means using sites through a web browser, offline means working with different applications, mostly designed to work with documents not stored on the Internet, but instead on local file systems. However, changes changes in the way we communicate and work are starting to make this arrangement look creaky and old fashioned so thoughts have turned to how to integrate these two worlds.

There are two big drivers behind these changes, firstly is the advent of Web 2.0 technologies which allow people to connect and participate in the web, stopping it from just being a mere broadcast medium. Another driver is the changing nature of companies and organisations. Harvey Robbins and Michael Finley in their book "Why teams don't work" (2000) sum up this change neatly:

"A dozen years ago team processes were slow but simple. People worked together, met together, spent Miller Time together, they virtually lived together in one place.... Not any more. A handful of mighty forces have broken up the old gang. Some companies have gone global... Telecommuting has undermined the sense of home office solidarity."

Workplaces are caught in a state of transition, on one side it is not usual to work in one or more teams with colleagues dispersed over a wide geographical area. On the other side, sometimes workplaces are structurally arranged for the pre-globalisation era, often with a two dimensional tree like organisational chart that doesn't really reflect how people work together. To make matters worse IT systems might be arranged in accordance with this pattern too. Teams in the organisation chart might be set up with shared areas on the network in order to share documents, but this shared area won't be accessible to members of other teams and getting shared areas set up for virtual teams might be a very difficult process. Sometimes these barriers to working together are blamed on the IT department, but I don't think this is always fair, IT departments are probably just reflecting how an organisation sees itself and how it thinks it works, but the reality on the ground may be very different.

Technology is starting to overcome these limitations though and new opportunities are opening up to work together, collaboratively and online. One example is online office application suites such as Google Docs or Zoho that you use through a web browser. It occupies a an area of functionality once catered for by offline applications, but it has the killer feature of being able to share documents with anybody that has a user name for that web application. This makes it is much easier to work with these dispersed virtual teams, suddenly the restrictions posed by team file shares become irrelevant. It is also much easier to manage, sharing documents from offline systems has meant emailing documents to different interested parties leading to a messy situation of multiple versions of documents and full email inboxes! Social networking looks set to have an impact on the workplace too. IBM have released an interesting looking product called Lotus Connections that aims to help businesses succeed by using social networking to connect people togethers, you can watch a video about at here: It will be very interesting to see how this sort of technology shapes working life.

With such large scale changes already happening the traditional computer desktop is starting to look dated. Offline applications sit on one set of menu entries and to use an online application you must open up your browser and then go the the URL of the application you want. With the significance of offline applications deteriorating, some efforts are being made to draw the online world more seamlessly into the desktop experience. These efforts tackle the questions of how to make a web application more like a desktop application to use and in some cases how to provide limited offline functionality in cases where a network connection is not available. The three main developments at the moment are Google Gears, Adobe Air and Mozilla Prism. All of these are in beta, and Adobe Air is not even available for Linux as yet.

Mozilla Prism currently provides a simple browser window that will show a web application and integrate it into a desktop menu. The configuration for this browser window is separate from any other browser window and the navigation buttons can be tuned off (as they often don't make any sense in the context of an application). It is quite a simple idea but nicely brings online applications into a desktop context and does create an experience that does bring web applications closer to the desktop experience. At the moment applications viewed within it do still look like websites, but I suspect that if Prism were to be used with technologies like XUL (if you have Firefox or Flock you can see a good demonstration of XUL at: it would be possible to build an online application that also has a rich desktop experience.

In (K)Ubuntu 8.04, the upcoming release currently in beta, Prism has been packaged along with wrappers for popular web applications and is very easy to install. At the moment many of the Google web applications have prism packages available and also the popular social web applications Facebook and Twitter are catered for, but it is possible to set up a Prism window for any other web application too for your local desktop. Here I'm using the beta version of Kubuntu 8.04 KDE4 Remix in a virtual machine. To get a list of prism packages available you can either do:

apt-cache search prism

Or use a graphical installer such as Adept:
Adept running on Kubuntu showing prism packages

There are some other packages also with the word Prism in them, but is easily distinguishable. To install a package follow the procedure for your graphical installer, below is using Adept:
A prism package about to be installed on Adept

From the shell you can type:

sudo apt-get install [packagename]

When you use an web application though Prism you will notice that you get menu entries for it, the screenshot below shows Google Apps on the new KDE4 kickoff menu:
Google Apps via prism on a KDE kickoff menu

Here is a spreadsheet in Google Docs running through Prism:
Google Docs running via Prism

You are not restricted to using the web applications that have Prism packages already available for them, you can create new ones:
Creating a new Prism app

It will be interesting to see how this convergence pans out. One noticeable concept though is the direction of making web applications more like desktop applications. I've noticed through working in IT for a number of years that people often seem to find desktop applications slightly intimidating sometimes, often they will need training to get them to feel confident with an application. In contrast the same people will quite happily use a multitude of different web sites seemingly without the same confidence problems. I'm not sure why this contrast exists, and it would be interesting to hear if anybody else has encountered the same issue, maybe if people are using a web site they do not feel like they are using an application so remain in their comfort zone? This might be a cautionary note for developers to keep in mind before rushing to make web applications more like desktop ones.