Wednesday, June 09, 2010

Offline HTML5 apps need a way to be installed: the appmarklet

With the advent of HTML5 manifests and offline storage it's likely that developers will want to build applications that can be used whether the end user is connected to the web or not. That's great, but it introduces a problem.

Imagine that you are a non-sophisticated user and that one of your applications (let's say a Word processor) has migrated to the web. You are offline somewhere and need to type up a document. Where do you go to run the app?

In old-world, installed software there would be an icon somewhere (the desktop, the Start menu or in the Dock) with which you run the app. In the HTML5 offline web application world where do you go? Non-sophisticated users need a simple way of running an application.

Currently, it's likely that the way this would work is that you would go to the home page of your application and it would be in the cache and would run correctly. To the non-sophisticated user who knows that they are not on the Internet I expect that this will feel unnatural and that they are likely to want to install the application.

The solution, I think, is to introduce a new paradigm: the appmarklet. Like a bookmarklet the end user would be encouraged to drag the appmarklet to their browser's toolbar to 'install' the application. The toolbar would give them a location to go when launching their applications.

Of course, technically, the appmarklet could be nothing more than the appropriate link that uses the normal HTML5 mechanism for bringing up the application. But, critically, it would give the end user a way of installing an application and finding it again.

If a URL scheme was introduced, or special way of marking the appmarklet as a link to an application, the browser would have the option of handling it specially. For example, appmarklet's could have a special warning when being deleted (since they represent an application and its data), appmarklet's could be collected together into a "dock" of applications, and appmarklet referenced content could be handled specially when deleting cookies etc. (e.g. there could be a separate category for applications and their data).

Doing that would allow the end user to have the same experience as a desktop application (which will be reassuring) while, at the same time, getting the benefits of cloud applications.

1 comment:

adormitu said...

I think you should take a look at Firefox's Prism (https://mozillalabs.com/prism/) which places your website on the desktop.