JTEL Winter School, Innsbruck, February 2010




PLEs, Wookies and
Widgets

Scott Wilson (University of Bolton)
Scott.brad...
Widgets?
Mini portable applications, generally designed
  to work in a small view area rather than full-
  screen
Examples...
W3C Widget Specs
• Open standard for widgets

• You create an HTML file, add as many
  CSS, JavaScript and image files as ...
* “Wookie” is not a clever acronym. so if you
     spell it WOOKIE you’re shouting!)
Apache Wookie (incubating)
• Entered incubator July ‘09
• originally developed in TenCompetence
  (Framework 6 IP)
  – Fun...
Wookie is…
• A Widget runtime for websites
• Implements
  – W3C Widgets P&C
  – W3C Widgets Interface
  – Wave Gadget API
...
Moodle…
LAMS…
WebCT, Blackboard, D2L, Sakai…
Elgg… etc
How Wookie Works
• Servlet, runs in Tomcat or Jetty
• Provides REST API for applications to
  access widgets using a plug-...
Wookie REST API
• GET /widgets gets the list of widgets installed
• POST /widgetinstances instantiates a widget
• POST /pa...
Typical lifecycle
• GET /widgets -> render as a gallery for the
  user to pick which one to add
• POST /widgetinstances ->...
Widget runtime APIs
<feature
  name="http://wave.google.com"
  required="true"/>

•   W3C Widget Object : preferences, met...
Upcoming SlideShare
Loading in...5
×

Wookie Intro

2,494

Published on

An introducton to Wookie and W3C widgets I gave at the JTEL Winter School in Innsbruck

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,494
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Wookie Intro

  1. 1. JTEL Winter School, Innsbruck, February 2010 PLEs, Wookies and Widgets Scott Wilson (University of Bolton) Scott.bradley.wilson@gmail.com Twitter: scottbw
  2. 2. Widgets? Mini portable applications, generally designed to work in a small view area rather than full- screen Examples include games, clocks, feed displays, etc Lots of competing models for this: iPhone SDK, Android SDK, Konfabulator, Apple Dashboard, Opera Widgets, Nokia Widgets, Google OpenSocial etc
  3. 3. W3C Widget Specs • Open standard for widgets • You create an HTML file, add as many CSS, JavaScript and image files as you need, add a “config.xml” file with some basic info, zip the lot, change the extension to .wgt and it works. Just like that.
  4. 4. * “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!)
  5. 5. Apache Wookie (incubating) • Entered incubator July ‘09 • originally developed in TenCompetence (Framework 6 IP) – Funded projects tend to build prototypes, not communities – Apache Incubator is to build community around code • http://incubator.apache.org/wookie/
  6. 6. Wookie is… • A Widget runtime for websites • Implements – W3C Widgets P&C – W3C Widgets Interface – Wave Gadget API – (any API you want…) • Integrates into other apps via plugins
  7. 7. Moodle…
  8. 8. LAMS…
  9. 9. WebCT, Blackboard, D2L, Sakai…
  10. 10. Elgg… etc
  11. 11. How Wookie Works • Servlet, runs in Tomcat or Jetty • Provides REST API for applications to access widgets using a plug-in • Provides JavaScript API objects for widgets at runtime • Admin UI for installing and managing W3C Widgets • Server-side storage, and push events
  12. 12. Wookie REST API • GET /widgets gets the list of widgets installed • POST /widgetinstances instantiates a widget • POST /participants adds a participant to a widget instance • Lots more at http://incubator.apache.org/wookie/wookie- rest-api.html
  13. 13. Typical lifecycle • GET /widgets -> render as a gallery for the user to pick which one to add • POST /widgetinstances -> create an instance of the widget for the user, returns the URI and widget height/width • POST /participants -> add user as a participant in the instance • Create iframe with src, height and width set
  14. 14. Widget runtime APIs <feature name="http://wave.google.com" required="true"/> • W3C Widget Object : preferences, metadata • Google Wave Gadget API : state, participants • Bondi camera API, W3C DAP • SCORM CMI API • … anything else!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×