Re: Web App Stores: functions

On 17 Apr 2012, at 14:26, Emanuele Bolognesi wrote:

> Hi all
> I believe this list is quite good. I'm adding some comments below
> 
> On 17/apr/2012, at 13:49, Scott Wilson wrote:
> 
>> 
>> - Submissions
>> A web app store supports the submission of new web apps, whether hosted or installed. 
>> Submissions may be moderated or unmoderated. 
>> Submissions may be by anyone, or only by registered developers. 
>> Installed web apps submitted by developers may require signature verification.
>> Submissions include metadata about the web app, for example the title, description, author, icons, screenshots.
> 
> An important aspect is the verification of the ownership of the webapp, since anyone can submit an URL and then fill the metadata. Verification can be made with a process similar to the Google Analytics verification process (adding a meta tag or saving a file on the server).

A common approach for installed apps is to use digital signatures - e.g. the Apple App Store requires submitted code to be signed using a developer key, and this is something also being explored by Mozilla in the B2G project. W3C Widgets also supports digital signatures on the install package, which handles ownership and verification: 

http://www.w3.org/TR/widgets-digsig/

The same concepts of developer-signed and distributor-signed apps seem to be present in all of these approaches - i.e. a store can verify a developer-signed app on submission, and sign an app with its own key for installation and redistribution.

However, for hosted apps the code itself isn't being stored, only a pointer and some metadata, in which case something like the GA approach could work well.

> The Mozilla app manifest is a nice idea (https://developer.mozilla.org/en/Apps/Manifest) because it's a quick way to submit webapps and partially solves the problem of the ownership verification.

One issue for stores is the heap of competing "manifest" formats - W3C Widgets, Mozilla OWA, Chrome CRX, OpenSocial, Apple Dashboard, Yahoo Konfabulator... Each have slightly different metadata, format and packaging requirements. A question for stores is whether to pursue standardisation or to do some mapping between formats.

For some good coverage of this topic see:

http://blog.tobie.me/post/14262541286/app-manifests-an-anthology

And:

http://www.brucelawson.co.uk/2011/installable-web-apps-and-interoperability/

There is also my somewhat out-of-date picture:

http://scottbw.files.wordpress.com/2011/08/landscapev3.png

> 
>> 
>> - Installation/embedding
>> A web app store supports some method of installing or embedding web apps, or registering them with a user's local app registry.
>> Examples:
>> - "Add to iGoogle" button
>> - Opera Widgets installation in the Opera browser
>> - Mobile app store buy/install options
> 
> This is a very important point and a standard is definitely missing here, especially on mobile. If you check what OpenAppMkt and Zeewe are doing, on iOS, the user is asked to manually "add to home" a webapp, while on Android this is handled via a native Android application that calls a native API to create a shortcut on the home screen. Hopefully it would be nice if Mozilla's "navigator.mozApps.install" API will become a standard and will be supported by all major mobile OSs. 

There are also some nuances between "install", "embed" and "register". For example, with Web Intents there is some kind of registration process for associating apps with intents, but thats not really quite the same as installing a web app. Embedding is an important one in the enterprise web scenario, where what you are typically doing is placing a web app within a portal or dashboard using an iFrame or similar.

A standard API installation process and/or API could be something we could aim towards in this CG.

>> Some other common functions:
>> 
>> - Payments for apps
>> - Payments in apps
>> - User registration and profiles
>> 
> Webapps stores should also provide stats about the number of installations (and possibly launches) of the webapps.

Yes - something I'm working on at the moment is federating stats and usage info across multiple specialised app stores using Activity Streams

S

Received on Tuesday, 17 April 2012 14:18:27 UTC