Web Apps: a snapshot of the standards landscape

The big success story of the past few years in software was the “app” model based around native mobile apps and app stores.

However last year saw a surge of interest in using web standards rather than proprietary interfaces, Objective C and Java. This enables developers to use their experience in building websites to applications, and also brings a much wider set of options for distributing applications. You can still install an app from an app store, but you can also download it, email it and host it on your site. You can install them on your phone, on your desktop, or access them with the browser in a portal or start page.

A number of organisations and standards bodies have been working in this space for quite a while now, and there is a rich ecosystem of specifications – some complementing each other, some competing. So now we have W3C Widgets, WAC/JIL Widgets, the Chrome Web Store, Mozilla Open Web Apps, OpenSocial Gadgets, Opera Extensions and so on all providing an app platform based on the same fundamental web standards model but with enough differences that make interoperability difficult to achieve right now.

This is tricky situation to keep on top of, so I’ve tried in the diagram below to give a snapshot of where things stand today. Apologies if I’ve left out your favourite spec as their are quite a lot out there.

a diagram showing the specifications for portable web applications from W3C, WAC, Opera, OpenSocial, Google and Mozilla in categories for packaging, metadata, lifecycle, security, device features, and contacts/collaboration

The most common packaging format for web apps is to use a Zip archive with a manifest containing metadata such as the app’s name, author and pointers to things like icons and screenshots. W3C’s Widget Packaging and Configuration specification has been adopted across a few different app stacks, including the Wholesale App Community specification stack and Opera’s Extensions and Unite platforms, while there are competing specifications from OpenSocial, Google Chrome Apps and Mozilla Open Web Apps.

However, application packaging isn’t a strong differentiator in the app market – the only reason to have competing specifications at this level is to attempt some sort of lock-in – so we’re likely to see more convergence in this space. I’ve been working on bridging the W3C and OpenSocial specifications, and some Mozilla developers have been considering adopting W3C Widgets (maybe in JSON rather than XML) in place of its own nearly-identical Manifest specification.

(Google has developed quite a few competing models for mobile web applications  -actually, some of them compete against each other too. Sometimes it comes across as a tension between a desire to embrace open standards and paranoia over controlling their platforms.)

Things get more interesting as you move up the stack, and you can see there is a strong relationship between W3C and WAC in their activities. This isn’t accidental – to some extent WAC either profile W3C specifications, or develops APIs that eventually get fed into W3C to be refined into specifications. (This is similar in some respects to the relationship between IMS and SCORM in the early days of elearning specifications). So we’re likely to see a lot of convergence between WAC and W3C specifications, although WAC specifications will also likely continue, partly in response to the needs of mobile developers on the platforms offered by WAC partners .

(For the first half of the last decade W3C seemed to move at a glacial pace as things like XHTML and RDF dragged along, largely ignored by the wider web. However its been in overdrive since, churning out a huge stack of HTML5-related specifications plus all of these widget and device API specs.)

There has been fantastic progress in the device capabilities space – with everything from accelerometers and compass to SMS functionality is getting access from web applications using nothing more than HTML and JavaScript. However there are still some gaps out there – for example, collaborative apps are really only supported by OpenSocial and Wave Gadgets as these bring with them difficult issues around identity and privacy that don’t yet have open solutions. We may see some more movement in this space at W3C following the publication of the final report from its social web group.

About these ads
This entry was posted in apps, mobile, standards, widgets. Bookmark the permalink.

3 Responses to Web Apps: a snapshot of the standards landscape

  1. Hi Scott,
    Nice overview of the ongoing work on Web apps; for what it’s worth, W3C has also APIs in development to access addressbook and calendars:
    http://dev.w3.org/2009/dap/contacts/
    http://dev.w3.org/2009/dap/calendar/
    The former has been implemented in a Mozilla extension and in PhoneGap (at least). The latter has been (as far as I know) implemented in some form in Apple iAd framework.
    Hope this helps,
    Dom

  2. scottbw says:

    D’oh! Yes I was going to add those – thanks Dom

  3. go4webapp says:

    Hi,
    Nice overview of the ongoing work on Web apps

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s