Adding Web Intents to the Webapps WG deliverables

I am the tech lead for the team designing and implementing Web Intents [1]
for Chrome at Google.  Web Intents is a web platform feature modeled after
the similarly named feature in Android OS.  Web Intents enables client sites
to request high-level functionality, e.g. share, edit, pick, upload, auth,
from an unknown (to the client) provider.  The UA enumerates the list of
registered providers that the user has already accepted as Intent handlers,
allowing the user to pick which provider she wants to use for the particular
action.

This feature is not a panacea, nor do we envision it as a 'meta API';
however, the use cases we've focused on will make web apps much more
connected and useful for users.  Take the NASCAR problem: with Web Intents,
publishers can get rid of maintaining an ever-growing list of 'share'
providers, replacing them with one share button that kicks off the 'share'
action.  The user only sees the sites that she actively uses.

Note: we're actively working with Mozilla on the API, and the draft I have
prepared has been agreed upon by both vendors.

I've read through the Webapps charter, and I believe Web Intents fits the
goals and scope of the WG.

Goals
* Promote universal access to Web applications across a wide range of
devices.
  - Web Intents can be implemented in browsers on all devices, and more
importantly, the feature is a perfect conduit for hooking into platform
functionality (Android Intents, iOS API, a scalable
registerProtocolHandler).
* Promote creation of tutorials and other educational material.
  - Check out http://examples.webintents.org where we have example
clients/providers of Web Intents using a JS shim that works across all
current browsers.
  - The action string in the API is suggested to be a URL pointing to
documentation for the action, e.g., http://webintents.org/share is both the
string for the 'share' action and the URL of the documentation for said
action.

Scope
* Markup vocabularies for describing and controlling client-side application
behavior.
  - Web Intents provides an <intent> tag that allows provider sites to
declare which intent actions they handle.
* Programming interfaces for client-side development: platform interaction.
  - As stated above, this feature can easily be extended to hook into the
platform to, say, allow the UA to notify providers of platform events or
data sources, e.g., plugging in a camera.
The developers of this API, from both Mozilla and Google, believe Webapps is
the right home for Web Intents.  I'd like to open discussion on the topic
and get your feedback.  Ultimately we'd like to take the next steps towards
getting Web Intents officially out in the open, actively developed by the
larger Webapps community.

Thanks,
James Hawkins

[1] http://dev.chromium.org/developers/design-documents/webintentsapi

Received on Tuesday, 20 September 2011 05:53:41 UTC