A Microformat and Proposal For Interoperable Widgets
Kevin Lawver
This is a presentation. If you'd like to view all the slides like a normal web page,
you can
.
Introduction
Everyone has a widget platform: Apple, Yahoo, Microsoft, Google, Opera and even
AOL
None of them play nicely together
Why not? (that's rhetorical, but really, why not?)
The Problem
We needed modules: small, self-contained pieces of content and functionality
Lots of specs, none of them open, none of them contained all the things we needed
No interoperability between them.
The Players
Apple -
HTML
+
XML
Manifest
Yahoo -
XML
Microsoft -
XML
currently,
HTML
+
XML
coming soon
Google -
XML
with embedded
HTML
Opera -
HTML
+
XML
Manifest
other smaller players
Microformats to the Rescue!
They're
just
HTML
Apple, Opera and
AOL
support
HTML
-based widgets
AOL
created a microformat just for widgets (modular content even)
Microformats could be transformed into other non-HTML formats.
The Microformat: ModuleT
We wrote a spec
and
some documentation
In use today in all the modules on
AIM
Pages
Benefits
Documentation and code all in one file.
Lots of existing authoring tools and validation services for
HTML.
Write once (and a half, maybe twice), run lots of places
Faster roll out: get your widget in front of more people
Challenges
Every widget platform has its own
API
and quirks
A lot aren't even based on
HTML.
But...
Most of the
API'
s attempt to solve the same problems
And it's easy enough to figure out what platform you're running in.
An Example:
AIM
Fight
Simple premise
with lots of possibilities
Simple web service that's easy to parse
Existing
Dashboard
and
AIM
Pages
widgets.
Development
Generate the skeleton
Save to a new directory
Write code
Validate often
Working in
AIM
Pages
Zip up directory
Upload
Go play
Working in Dashboard
Create a copy of the directory
Create info.plist
Add .wdgt to the end of the directory
Double-click
Working in Opera 9
Open config.xml in Opera
Done!
The Guts
Branch for window.widget vs. lop
Saving data is different, but not
that
different
The Future
Build the microformat and tools for various formats into
Dojo
Form an Incubator Activity in the
W3C
around interoperable widgets
Get buy-in from other widget platforms to support the microformat.
Convertors to take widgets built in microformat and turn them into others
Conclusion
download it