SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
JTEL Winter School, Innsbruck, February 2010




PLEs, Wookies and
Widgets

Scott Wilson (University of Bolton)
Scott.bradley.wilson@gmail.com
Twitter: scottbw
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
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.
* “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)
  – Funded projects tend to build prototypes,
    not communities
  – Apache Incubator is to build community
    around code
• http://incubator.apache.org/wookie/
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
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-in
• Provides JavaScript API objects for
  widgets at runtime
• Admin UI for installing and managing
  W3C Widgets
• Server-side storage, and push events
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
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
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!

Weitere ähnliche Inhalte

Was ist angesagt?

What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from the
gd12341
 
Html5 today
Html5 todayHtml5 today
Html5 today
Roy Yu
 

Was ist angesagt? (14)

The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMS
 
Introduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and AccessibilityIntroduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and Accessibility
 
Reusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsReusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache Openmeetings
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
 
What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from the
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
New developments in Web Accessibility
New developments in Web AccessibilityNew developments in Web Accessibility
New developments in Web Accessibility
 
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsJavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
 
Html5 today
Html5 todayHtml5 today
Html5 today
 
Making VR Webby
Making VR WebbyMaking VR Webby
Making VR Webby
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
Wikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are TheyWikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are They
 
Why Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing FormatWhy Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing Format
 

Andere mochten auch

Esitluse avaldamine
Esitluse avaldamineEsitluse avaldamine
Esitluse avaldamine
aluojalaine
 
Library Support For Ref
Library Support For RefLibrary Support For Ref
Library Support For Ref
David Clay
 
Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)
haihuong2005
 
Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytelling
bbelardi
 
Intersubjektiivsus
IntersubjektiivsusIntersubjektiivsus
Intersubjektiivsus
Kai Pata
 
MGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And WordsMGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And Words
Ollie Bray
 
Sotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendidSotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendid
aluojalaine
 
High blood pressure
High blood pressureHigh blood pressure
High blood pressure
Josh Folaron
 
Reading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web versionReading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web version
David Clay
 
First Grade Curriculum
First Grade CurriculumFirst Grade Curriculum
First Grade Curriculum
bbelardi
 

Andere mochten auch (20)

Esitluse avaldamine
Esitluse avaldamineEsitluse avaldamine
Esitluse avaldamine
 
Library Support For Ref
Library Support For RefLibrary Support For Ref
Library Support For Ref
 
Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)
 
Ui05 Brief
Ui05 BriefUi05 Brief
Ui05 Brief
 
MARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael AlbertiMARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael Alberti
 
The fablabs
The fablabsThe fablabs
The fablabs
 
Teachmeet Musselburgh Introduction Slideshare
Teachmeet Musselburgh Introduction  SlideshareTeachmeet Musselburgh Introduction  Slideshare
Teachmeet Musselburgh Introduction Slideshare
 
Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytelling
 
Intersubjektiivsus
IntersubjektiivsusIntersubjektiivsus
Intersubjektiivsus
 
Novos
NovosNovos
Novos
 
MGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And WordsMGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And Words
 
elearning
elearningelearning
elearning
 
Sotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendidSotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendid
 
How SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online PerformanceHow SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online Performance
 
CCPMP SMS Communications
CCPMP SMS CommunicationsCCPMP SMS Communications
CCPMP SMS Communications
 
Term 2 Yr 11 Welcome Ppt
Term 2   Yr 11 Welcome PptTerm 2   Yr 11 Welcome Ppt
Term 2 Yr 11 Welcome Ppt
 
High blood pressure
High blood pressureHigh blood pressure
High blood pressure
 
Reading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web versionReading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web version
 
First Grade Curriculum
First Grade CurriculumFirst Grade Curriculum
First Grade Curriculum
 
Kogukondjavorgustik
KogukondjavorgustikKogukondjavorgustik
Kogukondjavorgustik
 

Ähnlich wie Wookie Intro

Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
ROLE Project
 
Modeveast Appcelerator Presentation
Modeveast Appcelerator PresentationModeveast Appcelerator Presentation
Modeveast Appcelerator Presentation
Aaron Saunders
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
GGDBologna
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
jeresig
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
slidepaddemo
 

Ähnlich wie Wookie Intro (20)

Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworks
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
 
Android
AndroidAndroid
Android
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
 
Modeveast Appcelerator Presentation
Modeveast Appcelerator PresentationModeveast Appcelerator Presentation
Modeveast Appcelerator Presentation
 
Revue des annonces WWDC2015
Revue des annonces WWDC2015Revue des annonces WWDC2015
Revue des annonces WWDC2015
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocial
 
Social Media Marketing Open Social App Standards
Social Media Marketing Open Social App StandardsSocial Media Marketing Open Social App Standards
Social Media Marketing Open Social App Standards
 
Widgets WorkShop for Libraries
Widgets WorkShop for LibrariesWidgets WorkShop for Libraries
Widgets WorkShop for Libraries
 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPress
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
 
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
 

Mehr von scottw

How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projects
scottw
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web apps
scottw
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
scottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
scottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
scottw
 
CRM & HE
CRM & HECRM & HE
CRM & HE
scottw
 
Argosi
ArgosiArgosi
Argosi
scottw
 

Mehr von scottw (20)

Getting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source SoftwareGetting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source Software
 
How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projects
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobile
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web apps
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgets
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
CRM & HE
CRM & HECRM & HE
CRM & HE
 
Presence
PresencePresence
Presence
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSP
 
Boxcri
BoxcriBoxcri
Boxcri
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookies
 
Argosi
ArgosiArgosi
Argosi
 
Presence @ Winterschool 2008
Presence @ Winterschool 2008Presence @ Winterschool 2008
Presence @ Winterschool 2008
 
OpenID @ Winterschool 2008
OpenID @ Winterschool 2008OpenID @ Winterschool 2008
OpenID @ Winterschool 2008
 
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
 
XCRI Update, Jan 2008
XCRI Update, Jan 2008XCRI Update, Jan 2008
XCRI Update, Jan 2008
 
Mimas
MimasMimas
Mimas
 
XCRI at IWMW 2007
XCRI at IWMW 2007XCRI at IWMW 2007
XCRI at IWMW 2007
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Wookie Intro

  • 1. JTEL Winter School, Innsbruck, February 2010 PLEs, Wookies and Widgets Scott Wilson (University of Bolton) Scott.bradley.wilson@gmail.com Twitter: scottbw
  • 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. 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. * “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!)
  • 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. 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
  • 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. 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. 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. 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!