One of the new features of the developer landscape that has been ushered in by the mobile apps revolution it the idea of an app store. Google has plans to extend the idea to web applications in general with its Chrome Web App Store but as its name suggests this has a slight bias towards one particular browser even if Google is at pains to point out that general web apps are allowed and even encouraged.
Now Mozilla is moving ahead on a real browser-agnostic Web App store. The original plans for Mozilla's Open Web App Store were announced earlier in the year at its developer conference. Now we have a prototype system and developer preview that allows you to install, manage and launch web apps in any modern desktop or browser.
The prototype suports paid apps and authentication. An HTML5 dashboard allows the user control over the downloaded applications. Developers have to add a JSON manifest but apart from this Open Web Apps are fairly standard. The availability of a complete specification for the API means that developers can sell apps from custom or alternative web stores.
There is also a definition of what an Open Web Apps are:
- Can be “installed” to a dashboard within your mobile or desktop Web browser, or to your native OS desktop or mobile home screen.
- Work in all modern Web browsers, while enabling each browser to compete on app presentation, organization and management user interfaces.
- Support paid apps by means of an authorization model that uses existing identity systems like OpenID.
- Support portable purchases: An app purchased for one browser works in other browsers, and across multiple desktop and mobile platforms without repurchase.
- Can request access to one or more advanced and/or privacy-sensitive capabilities that they would like access to (like geolocation) which the system will mediate, giving the user the ability to opt-in to them if desired.
- Can be distributed by developers directly to users without any gatekeeper, and distributed through multiple stores, allowing stores to compete on customer service, price, policies, app discoverability, ratings, reviews and other attributes.
- Can receive notifications from the cloud.
- Support deep search across apps: Apps can implement an interface that enables the app container (generally the Web browser) to provide the user with a cross-app search experience that links deeply into any app that can satisfy the search.
Of course some of these definitions are vague - what is a modern browser and which version of HTML etc?
Another web app store but one that is open is a good idea. However mobile applications have had the benefit of focus with one major app store serving each platform and a natural way to generate traffic from the platform to the store. In this case there is no "captive" audience and multiple app stores simply dilute the opportunity.
More information and the demo at: Open Web App.