widget-brainstorming
Widget Brainstorming
Contributors
- Kevin Lawver, America Online
- Shawn Carnell, America Online
Problem
There are currently a million ways to embed distinct snippets of content and functionality on web pages. The most common two are probably iframes and some form of javascript syndication (you put this script on the page, we'll document.write some stuff on your page). In the XML world, there's RSS, Atom, and the WSRP Portlet spec for exchanging small pieces of data (although it could be said that neither RSS or Atom are meant for this sort of thing). WSRP is the only spec that's specifically meant for exchanging widgets (or modules or portlets), and it's extremely complex.
I (User:KevinLawver) think this is a perfect opportunity to create a microformat for creating, delivering and discovery of small (micro, even) content on the web.
See the examples on widget-examples for current implementations.
Meta Data
There are several things that need to be known about a widget, including:
- License
- Any configuration options that need to be set.
- Dimensions
- Associated files
Use Cases
Remotely Hosted Tools
- User had pictures hosted on photo-sharing site.
- Their blogging tool would to surface a tool provided by the photo-sharing site in that tool.
- Blogging tool sends request to photo-sharing site, and photo-sharing site returns the tool in an XHTML document marked up so the blogging tool knows what pieces apply to editing data with the tool, and what pieces are used in display, and associated linked resources (CSS, Javascript, etc).
Specification Proposal
A proposal is currently hosted at http://dev.lawver.net/modulet/profile/. We are eager to receive feedback on microformat-discuss or modulet-discuss@listserv.aol.com. It's a work in progress; please lend your voice.
This proposal has now been prototyped for people to play with. See here:
- AIM Pages announcement
- AIM Pages site
- AOL ModuleT: A Module Transport Microformat Profile
- documentation
Related Microformats
- xoxo - to hold configuration or meta data about the widget.
- rel-license - link to license for widget.