incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bertrand Delacretaz <bdelacre...@apache.org>
Subject Re: [PROPOSAL][VOTE] Wookie - a W3C widget engine with Google Wave extension
Date Tue, 14 Jul 2009 11:57:02 GMT
On Tue, Jul 14, 2009 at 12:15 PM, Ross Gardler<rgardler@apache.org> wrote:
> I would like to formally present the incubator proposal for Apache
> Wookie, a W3C widget engine with Google Wave extension...

+1

>
> The full proposal can be found at
> http://wiki.apache.org/incubator/WookieProposal

Copied below so that it's archived with this thread.

WookieProposal
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 [WWW] 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
information.

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,
HTML and CSS.
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 specification.

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
widgets.

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 [WWW] 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 [WWW] 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 [WWW] 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 ([WWW]
http://tencompetence.cvs.sourceforge.net/viewvc/tencompetence/wp6/org.tencompetence.widgetservice/)

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):

      [WWW] http://www.w3.org/TR/widgets-reqs/

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

      [WWW] http://dev.w3.org/2006/waf/widgets/

W3C Widgets: API and Events (Working Draft):

      [WWW] http://dev.w3.org/2006/waf/widgets-api/

Google Wave Gadgets API:

      [WWW] http://code.google.com/apis/wave/extensions/gadgets/guide.html

Wookie Project Site:

      [WWW] http://www.getwookie.org

Scott Wilsons Blog:

      [WWW] http://zope.cetis.ac.uk/members/scott

Initial Source

The intiial source comprises code developed as part of the
TENCompetence project since April 2007 and can be found in the
sourceforge [WWW] repository.
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
            wookie-user

      Subversion directory
            [WWW] https://svn.apache.org/repos/asf/incubator/wookie

      Issue tracker
            JIRA Wookie (WOOKIE)

      Wiki
            [WWW] http://cwiki.apache.org/Wookie/

Initial Committers

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

Sponsors
Champion

      Ross Gardler

Nominated Mentors

      Ate Douma
      Gavin McDonald
      Luciano Resende
      Andrew Savory
      Henning Schmiedehausen
      Sylvain Wallez

Sponsoring Entity

The Apache Incubator.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message