QuickTime™ and a decompressor are neede d to see this picture.
Widget Architecture
Terminology
• Widget, Gadget, Tool, Badge • Widget Engine, Gadget Container, Widget Host Runtime Environment, Tool Proxy Runtime, Widget Server, Gadget Server (Wookie, Shindig) • Container, Application, Host, Tool Consumer, Platform (VLE, portal etc.)
W3C Widget Architecture
QuickTime™ and a decompressor are need ed to see this picture.
Wookie Widget Architecture
Another view…
W3C & Google
• W3C/ Wookie • OpenSocial/ Shindig
QuickTime™ and a decompressor are neede d to see this picture.
Context
• Both Wookie and OpenSocial architecture assume the container provides context, and that the widget/gadget accesses this context via a JS web API. (GG without OpenSocial has no contextualization.) • So widgets need a container for contextualisation (e.g. VLE or LD player with connection to SRS or group management) and container needs plugin to talk to the widget API • Issue of standardization of useful properties to push to widgets
State
• Both Wookie/W3C and GG/OpenSocial assume the widget engine manages state, and widgets/gadgets access via local JS web API • However state can also be handled externally by services where accounts are used; BUT safe external authz of accounts is not quite there yet (oAuth on its way!)
Security
• Code assurance • Authentication & Provisioning
– Container-managed – Service-based – Engine-based
• Authorization
– Passthru – oAuth – Tickets/OOB
• Trust and privacy
– API keys – HTTPS
Getting Started
• Add widget engines to containers
– Wookie -> Moodle, Elgg, Wordpress, new LD player – Shindig -> Sakai – ! Blackboard, WebCT, Sharepoint • Integrate widget engine directly into container
– Elgg OpenSocial implementation – Palette W3C implementation
Widgets and learning context
• Widgets as supporting resources • Widgets as activity environments
Distribution
• Embed codes/Copy-and-paste • Open Galleries • Curated open galleries (e.g. iPhone App Store) • Curated closed galleries (e.g. YouthWire) • Curated local galleries (e.g. institution wookie/shindig server)
Missing links
• Widget -> Engine -> Container: pushing back stats or results in standard fashion (can IMS LTI offer anything here?) + tracking • Authoring support: Pre-configuring widgets for particular activities (earlybinding) - extension by IST Palette project may be useful?