incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <>
Subject Proposal for Wookie a W3C Widget/Google Wave widget engine
Date Fri, 03 Jul 2009 14:01:02 GMT
I would like to submit the Wookie project proposal to the Incubator
PMC. Our draft is appended to the end of this mail and is available

A quick overview of Wookie is:

Wookie is a Java server application that allows you to upload and
deploy widgets for your applications. Wookie is based on the W3C
Widgets specification, but widgets can also be included that use
extended APIs such as Google Wave Gadgets and OpenSocial.

I have agreed to champion and mentor this proposal, Gavin McDonald has
also agreed to mentor, more mentors are being sought - let me know if
you are interested.

At this stage I am seeking feedback on or questions about the Wookie
proposal.  The project team are subscribed to this list and ready to
respond to any queries.


= Abstract =

Wookie is a project to create open source software for adding widgets
to your applications.

= Proposal =

Wookie is a Java server application that allows you to upload and
deploy widgets for your applications. Wookie is based on the W3C
Widgets specification, but widgets can also be included that use
extended APIs such as Google Wave Gadgets and OpenSocial.

= Background =

The [ W3C defines widgets] as:

''Small client-side Web applications for displaying and updating
remote data, that are packaged in a way to allow a single download and
installation on a client machine, mobile phone, or mobile Internet
device. Typical examples of widgets include clocks, CPU gauges, sticky
notes, battery-life indicators, games, and those that make use of Web
services, like weather forecasters, news readers, email checkers,
photo albums and currency converters.''

The Widgets v1.0 working draft targets platforms such as Apple
Dashboard, Microsoft Sidebar, Yahoo! Konfabulator, and mobile
platforms such as WidSets. Web widgets, such as Google Gadgets, are
not currently in scope for the specification, although when you dig
into the details of the specification, its obvious that web widgets
can potentially be developed in a similar manner. For example, the
OpenSocial API is an example of an extended Web Widget API - in this
case to enable Widgets to access things like friends lists and status

Widgets are intended to be embedded into other applications in order
to provide a customised user experience on a variety of platforms and
form factors. A widget will therefore typically consist of Javascript,

= Rationale =

Wookie is based on the W3C Widgets specification, and includes an open
source Widget Engine together with a number of plugins for popular web
applications such as Wordpress. The Wookie engine can render widgets
using alternative APIs by a feature extension mechanism (for example,
it allows Widgets to also use the Google Wave Gadgets API), or by
acting as a proxy. For example, it leverages Apache Shindig
(Incubating) to render OpenSocial gadgets.

By adopting the W3C Widgets specification and by providing a means for
embedding alternative widgets standards Wookie provides a means to
share widgets more widely.

Furthermore, since there is currently no reference implementation for
the W3C Widget Specification (which is currently a Working Draft) we
feel this is an ideal time to make this software more widely
available. In the past The Apache Software Foundation has proven it is
the best place for
this type of development. One of the current developers, Scott Wilson,
is also an active participant in the development of the W3C Widgets
specification, and has contributed to the Widgets Packaging and
Configuration specification, and the Widgets API and Events

= Current Status =

The current implementation of Wookie includes a Widget Engine, a
number of plugins to allow Wookie widgets to be included in popular
web applications (Wordpress, Moodle and ELGG) and published API for

Wookie exposes two APIs:

The Widget API is an extended version of the W3C Widget API and Events
specification, which is itself based upon things like Apple Dashboard
and Windows Vista Sidebar. The extensions support collaboration tools
and were developed as part of the [
TENCompetence project], funded by the European Commission through the
IST Programme; these extensions to some extent overlap the Google Wave
Gadget API, and the developers have enabled Widget authors to use the
Google Wave Gadget API to access the same collaboration functionality.

The Widget Plugin API is a very simple method for Plugins to ask a
Widget Server to make a new instance of a Widget. This API provides a
means for exsiting container applications to embed Wookie Widgets.

As well as these APIs, Wookie uses the W3C Widgets Packaging
specification for bundling and sharing Widgets. You can usually import
Widgets directly to Wookie Server if they are in this format.

A [ demo server] using
Moodle (a Virtual Learning Environment) is available.

== Meritocracy ==

The initial developers are aware of the meritocratic model of
developing software, although they have little experience of it in
practice. The development team believe that the meritocratic model is
the best way to ensure that the Wookie software continues to develop
as an independant implementation of, arguably, one of the most
important standards to emerge in recent years.

The Apache Software Foundation has been chosen specifically because
the initial developers want to encourage this style of development for
the project and feel that the Apache Incubator is the place to ensure
the initial project members succeed in realising the goal of a fully
meritocratic project.

== Community ==

Wookie currently has significant interest within the teaching and
learning space, but wishes to develop a wider community which includes
as many of the significant widget stakeholders as possible. The Apache
Software Foundation provides the neutral ground upon which this will
be possible.

= Core Developers =

The initial set of committers are all based at the University of
Bolton, UK. All work on this project is currently funded by Eurpoean
Commission grants.

== Alignment ==

The developers of Wookie want to work with the Apache Software
Foundation specifically because the Apache Software Foundation has
been proven to provide a strong foundation and set of practices for
developing standards-based infrastructure and server components.

At present Wookie uses Apache Shindig to provide support of Open
Social widgets. There is also potential for collaboration with
projects such as Apache Roller, Apache JSPWiki and Apache SocialSite.

= Known Risks =

== Orphaned Products ==

This work is, at present, funded by a grant from the European
Commission which expires in November 2009. Activity with Wookie in the
University of Bolton is wider than the developer group. The University
has established a demonstrator server for its own purposes, and is
exploring the use of Wookie in its institutional Virtual Learning
Environment. Additionally, the University provides a UK service for
standards and interoperability (CETIS), and there is commitment to
continue engaging in development of Wookie as part of that service's
work with W3C. Additional project funding is also being sought, but is
not guaranteed.

Whilst there is a risk of this product being orphaned as a result of
discontinued funding we believe that there is sufficient commitment
from the initial committers to ensure that a community can be built
around this project which is likely to gather interest as the W3C
working draft matures.

== Inexperience with Open Source ==

All of the initial committers have participated in, and in some cases
managed, open source projects. Wookie is currently a
[ SourceForge hosted]
open source project. NOTE: the sourceforge site is for all outputs
from the TENCompetence project, this proposal is for the Wookie
project only (

The Wookie team are fully aware of the commitment they are making in
entering the Incubator and look forward to the challenge.

== Homogenous Developers ==

All developers are, at this time, from the University of Bolton.

== Reliance on Salaried Developers ==

Two of the three developers on Wookie are salaried developers.
However, they are academic developers and make their living through
specialisation. Individual interest in Wookie and related technologies
is likely to continue beyond existing salaried positions.

The third developer participates in development as part of his
engagement in W3C and also as a platform for research, and would also
continue to engage through interest irrespective of salaried work.

== Relationships with Other Apache Products ==

Wookie uses Apache Shindig (Incubating) to provide OpenSocial support
and Apache Tomcat as the servlet engine.

==  A Excessive Fascination with the Apache Brand ==

It would not be true to claim that the Apache brand is unimportant to
Wookie. It is hoped that the brand will help assure widget
stakeholders that Wookie is a neutral place for collaboration. It is
this wide collaboration that will make Wookie a success and the Apache
brand is an important part of that success.

However, the primary driver for coming to the ASF is to learn and
adopt the processes and practices of a meritocratic development model.
The academic sector has a very chequered history with respect to
producing sustinable communities and software. We believe that by
bringing Wookie to the ASF we will be able to build a diverse
community that is difficult, if not impossible, through other routes.

= Documentation =

W3C Widget Requirements (Working Draft):

W3C Widgets: Packaging and Configuration (Last Call Working Draft):

W3C Widgets: API and Events (Working Draft):

Google Wave Gadgets API:

Wookie Project Site:

Scott Wilsons Blog:

= Initial Source =

The intiial source comprises code developed as part of the
TENCompetence project since April 2007 and can be found in the
sourceforge [

= Source and Intellectual Property Submission Plan =

It is understood, at the time of writing, that all code is copyright
the University of Bolton and that no other participant in the
TENCompetence project have contributed to these outputs. It is
recommended, given the size and complexity of TENCompetence, that
copies of the collaboration agreement between University of Bolton and
other partners are examined in detail to ensure this is the case.

TENCompetence central project management (Open University of the
Netherlands) is aware of the proposal to submit Wookie to Apache, sees
this as a positive development.

= External Dependencies =

The initial code depends on the following incompatibly licensed libraries:

 * c3p0
 * Java Transactions API
 * MySQL Connector
 * Hibernate

= Required Resources =

 * Mailing lists
   * wookie-private (with moderated subscriptions)
   * wookie-dev
   * beehive-user
   * Subversion Directory
 * Subversion directory
 * Issue tracker
   * JIRA Wookie (WOOKIE)
 * Wiki

= Initial Committers =

 * Scott Wilson, University of Bolton
 * Paul Sharples, University of Bolton
 * Kris Popat, University of Bolton

= Sponsors =

== Champion ==

 * Ross Gardler

== Nominated Mentors ==

 * Ross Gardler
 * Gavin McDonald

== Sponsoring Entity ==

The Apache Incubator.

Ross Gardler

OSS Watch - supporting open source in education and research

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message