Inter-Widget Communication: Use Cases and Implementations

Hi everyone,

One of the common requests from implementers working with W3C Widgets[1], particularly in a browser context, is a standardised means for communication between widgets. This has quite a few dimensions, and has partial coverage from a range of existing technologies and specifications, and so the current landscape is quite complex.

I've collated use cases and implementations [2] from a range of projects (a big thanks to everyone who contributed) as a starting point for looking at IWC as a potential new activity.

As you can see from the implementations we have quite a range of approaches:

- inter-window messaging using HTML5 Web Messaging[3]
- server-side pub-sub using XMPP, Faye or similar
- RPC-style reflection and invocation
- drag and drop with additional semantics
- OpenAjax Hub pubsub messaging [4]
- Google Wave Gadget API for state synchronisation [5]
- Server-sent DOM events for editor state synchronisation [6]

There is also a framework for classifying the approaches that could be helpful: http://arxiv.org/abs/1108.4770

-S


[1] http://www.w3.org/TR/widgets/
[2] https://docs.google.com/document/pub?id=1aUScFats9A0zBUqNbkw9J2XhmupKfA38eU0wYjs81FM
[3] http://dev.w3.org/html5/postmsg/
[4] http://www.openajax.org/member/wiki/OpenAjax_Hub_2.0_Specification
[5] http://code.google.com/apis/wave/extensions/gadgets/reference.html
[6] http://dev.w3.org/html5/eventsource/

Received on Tuesday, 15 November 2011 14:06:32 UTC