Archive for the 'Standards' Category

Building W3C widgets on the Wookie training day

Last week OSS Watch organised its first training day in Oxford. We got together with about 15 people to gain hands-on experience with Apache Wookie (Incubating). Wookie provides an implementation of the W3C widget specifications, so a lot of emphasise was put on building these kinds of widgets. We succeeded quite well in getting to know the spec and how to build widgets and ended the day with a nice collection of newly built widgets and even a submitted patch to the Wookie source code.

Scott Wilson, the Wookie guru from Bolton University, where it all started, started the day off with a presentation (pdf) of what widgets and Wookie are all about. Widgets are basically small mini applications that are designed to work in a small view area. Many platforms have created their own format for it, but the W3C is working on a set of specifications for it with a consortium of partners from both traditional computing and mobile platforms, which will lead to a true cross-platform standard which will hopefully lead to widespread adoption. A minimal W3C widget consists of nothing more than a config file and an HTML file, zipped up as an archive with file extension .wgt. The config file contains basic configuration such as the name, description and preferred dimensions of the widgets. The widget can furthermore include as much HTML, CSS, images and JavaScript files as one would like.

Apache Wookie (Incubating) is an application that provides a W3C-compliant widget server. You can use Wookie to deploy widgets and you can serve W3C widgets from the Wookie server in third party applications. Plugins have already been written for Moodle, LAMS, Sakai and Google Wave. Wookie also has a REST API that can be used to get, or create widgets.

After Scott’s intro it was time to get dirty. Ross handed out CDs containing the latest sourcecode of Wookie (which can be downloaded by anybody from Subversion) and prerequisites like a JDK and Apache Ant. His presentation (pdf) was about ‘how to build your first widget’. I was surprised to see that there were 10 people with Mac-books in the room, amongst 4 Windows machines and one Linux netbook. Apple surely knows how to impress the developer these days! After some initial troubles with environment settings etc. most people got up-and-running fairly quickly and were ready to build their first widget. Wookie provides handy Ant tasks for building and deploying widgets, which means that generating a hello-world skeleton widget is as easy as typing ant seed-widget and answering some questions about the name, description and dimensions of your widget. After you have started up the Wookie server using ant run you can deploy the widget using ant deploy-widget. That was it, quite easily. I must say, having moved away from Ant and using Maven2 for the last few years, it’s nice to be remembered of the powerful features Ant has to offer. Especially since Wookie uses Ant in combination with Apache Ivy, the dependency management alternative for Maven2. (To be precise, you can also use Ivy with Maven2 repositories). Ross also demonstrated how you can make use of OpenStreetMap JavaScript APIs to embed cool navigational features in your widget quite easily. You can check out his presentation (pdf) or directly check out the source code of the tutorial including the example JavaScript.

In his second presentation (pdf) Scott focussed on some design principles behind the widget specification and gave a walk-through of how you can design a more advanced widget by making use of features of the W3C widget object API and integrate with the Google Wave Gadgets API. No Wave server is needed to get this working, as Wookie can handle everything for you. Scott demonstrated a Task widget with collaboration features, that can be used by different users concurrently using State and Participants.

After the break it was high time for everybody to create their own widget and some interesting ideas had come up. One of us decided it would be much cooler to hack directly in the server code instead of building widgets and he submitted a patch to Wookie to allow hot deployment of a widget to ease the development/deployment cycle. That’s very cool, thanks Matthew!

The rest of us built some widgets for a wide variety of purposes. One of the nice things about the widgets was that we could easily merge them all together on one Wookie instance and show all widgets there. These were some of the widgets that resulted from this 1.5 hour hack-fest:

  • Video player embedded in a widget with fallback to other formats depending on the user agent
  • Display a list of links using output from one of the Yahoo pipes
  • Display the last.fm playlist of a user and show what that user is currently listening to
  • Show a canvas drawing where multiple people can collaborate by working on the same drawing using HTML5
  • Cool kids’ game where the user can name his pet dinosaur
  • Currency converter that (eventually) would use an external currency conversion provider

It was fun to see how easily you can create functional widgets. If you make use of external JavaScript APIs or data feeds it is also quite simple to create a useful (or not so useful…) widget. This was a nice conclusion of the day and seeing all the widgets we had created we thought we had deserved our beer and headed off to the pub. Thanks to Scott and Ross for making this a successful Wookie training day!

Learn to build W3C compliant widgets with Apache Wookie (Incubating)

Are you interested in widget development and do you want to learn how to build widgets that use the new open W3C widget standard? OSS Watch is organising an Apache Wookie (Incubating) training day in Oxford, UK on 11 February 2010 for developers who would like to get hands-on experience with building widgets using Wookie.

Wookie provides an implementation of the W3C widget standard and allows you to write, deploy and manage W3C compliant widgets easily. The project is also working on implementing extra modules, such as a Google Wave Gadgets API. To increase cross-platform interoperability, several plugins have been written to integrate with other systems, such as Moodle and Wordpress.

This event is free of charge and invitation only. However, we have three open places left for interested developers. General development skills are required, but you don’t need to have specific experience in building widgets. If you are interested we welcome you to contact us on info@oss-watch.ac.uk and let us know why you should to be there. If you would like to know more, details about this all day event can be found on the event page.

One of the reasons we hold this event is in preparation for the dev8D developer days. During that event we will be doing more widget development in a Wookie hackathon and we want to gather some more skilled widget developers for that hackathon. Therefore we expect people who come to the Wookie training day to also attend the dev8D days. However, don’t hesitate to contact us for the Wookie training day if you can’t make it to dev8D.

Get the most from open source accessibility with help from OSS Watch

Open source accessibility and Assistive Technology projects offer very real benefits to FE colleges and the individual students they support. The zero licence cost of open source plus the freedom to copy and redistribute are well known and provide great flexibility in how programs are deployed. More significant benefits derive from those projects that practice open development and thereby allow anyone to contribute or collaborate. Users can obtain community support from other users and developers, they can formally report issues and collaborate on new features, perhaps specifically required for individuals. Further, if the college creates it’s own in-house adaptations these can be passed over to the project becoming available in the next version for all to benefit from.JISC OSS Watch advise FE colleges and HE on engaging with open source projects and those that practice open development. We do not advise on specific programs or projects, rather we help you understand and evaluate open source so that you can confidently select programs and guide you in ways to most effectively engage with existing projects. We are expanding our understandingly of how and why open source is important in the accessibility domain. For example we have a case study on AccessApps from the RSC Scotland North & East and another on the ATutor accessible VLE. These can be found on our website along with articles that explain how to get the most out of open source software and how to develop software in an open community.If you use any open source tools that you think would make good case studies then please let us know. We are also interested in hearing of FE or HE projects that we can advise.Website: http://www.oss-watch.ac.ukRSS feeds: http://www.oss-watch.ac.uk/rss/Twitter: http://twitter.com/osswatch

Wookie Accepted into Apache Incubator

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 Open Social. It was originally created at the University of Bolton as part of the European Commission funded Ten Competence project.

In January Scott Wilson attended an OSS Watch workshop on software sustainability at which I and my colleague Rowan Wilson presented a number of models for managing open source software in a sustainable way. After my presentation Scott approached me to ask what was involved with entering the Apache Incubator.

I’m pleased to announce that the Wookie proposal has now been accepted into the incubator. There is still some work to do before the code actually appears there, but it won’t be long

This is great news for all involved. OSS Watch hope that Wookie will go on to provide our first significant use case demonstrating that software developed in the UK academic sector can, and should, become useful beyond our sector. I congratulate the Wookie team on clearly separating the domain specific features of their work from the generic code that will be useful beyond their core team. It is this, and the teams awareness that restricting their code to a niche market would restrict the pool of contributors, that has enabled OSS Watch to assist Wookie as it worked towards entry into the Apache Incubator.

I truly believe that the University of Bolton, and any other project or institution that adopts the Wookie code, will benefit significantly from this move. Already we are seeing interest from many third parties, indeed, it is a long time since a proposal passed with such a large number of positive votes.

[DISCLAIMER: I am a Member of The Apache Software Foundation, but this has no bearing on the choice of the ASF as a home for Wookie. The justification for the ASF is that it has a track record of producing reference implementations for open standards]

The ÆGIS 1st Pan European open accessibility Workshop

To be honest I’m enthusiastic about the potential of the European ÆGIS project which launched last week. I see the blend of open source and accessibility, open accessibility, as having the potential to provide the most appropriate solutions for users of accessibility and assistive technology. So I’ve spent the last few years developing and promoting the concepts of fair access to all and user engagement whenever I get the opportunity. This has brought be into contact with enthusiastically dedicated  people and projects. The scale and scope of ÆGIS gives the impression open accessibility is now coming of age. The strap line of ‘Open Accessibility Everywhere: Groundwork, Infrastructure, Standards’ indicates the wide scope of the project which aims to use open source, open development and open standards to ‘enable people with disabilities, the elderly and anyone else who is disadvantaged when using Internet services, Desktop PC or Mobile phones’. It will do this by providing developers with a framework, architecture and toolkits, whilst also creating end user applications. 4 pilot studies will inform the subsequent development phases.

The Pan-European Workshop completed the launch week activities at Research In Motion’s Slough Offices and shared the proceedings with Raising The Floor an initiative by Gregg Vanderheiden and Jim Fruchterman to bring together all parties working on web accessibility, again using open practices. Greg has been involved in accessibility for many years and in his Introduction, Peter Korn, technical lead on ÆGIS sited Greg as his primary mentor. Peter in turn has been very active in open accessibility, especially the GNOME desktop which is used in Linux (e.g Ubuntu) and Sun’s Solaris. Peter along with Will Walker has taken a key role in orchestrating the  resources of their employer Sun to bear on making GNOME a focus of much open accessibility work, including infrastructure, the Orca screen reader, GOK on screen keyboard and collaboration with the Firefox web browser accessibility team.

In addition to hearing more about ÆGIS, the workshop offered the opportunity to catch up with some of the collaborators from the Ace Centre, OATSoft.org, aIDEAS & Mozilla as well as being something of a ‘tweatup’ for those who follow each other on Twitter, including Henni of Opera, Steve Faulkener and Gez Lemon of TPG and Davis Sloan of the University of Dundee. There was woefully little time to chat and I completely missed David Banes of AbilityNet and David McKay of Inference Labs, Cambridge (Dasher is an alternative text input program). I did finally meet Jutta Treviranus, director of ATRC at University of Toronto. Jutta is the boss of long term open accessibility developer David Bolter (e.g. GOK, dojo, ARIA), and we also heard the news that David is taking a years break from ATRC to work on Mozilla core accessibility with Maroc and Surkov.

Due to my failure to understand the scale of the map I arrived after the start having wondered up and down the batch road. The first few talks by M Gonzalez-Sancho (EU Commision ICT for inclusion, information and media Directorate General) and E Bekiarias (CERTH-HIT) provided high level views of the EU’s inclusion policies and AEGIS (£12.6M funding) as well as feedback from the previous days user forum.

Peter Korn then gave a technical overview with demos of existing applications including old friends such as the accessibility APIs, GOK, Orca+eSpeak, Dasher and Accerciser. In addition Peter showed an as yet unreleased simulator of visual impairments such as macular degeneration.

Dr Bekiarias then presented the AEGIS use cases which appear to present a reasonably representative and useful range. I was pleased to see symbol support in OpenOffice.org along with synthetic voices. As Simon Judge pointed out the desktop had little for AAC and switch users but  there is more on the mobile platform.

After an all too brief lunch, Dr C Galinski (InfoTerm) gave a presentation on structured content standards. This was followed by a very effective talk by Greg on accessibility overall and Raising the Floor. He made the point that what we do determines if ICT is a blessing or a curse to many users. He provided a clear analysis of the ways of providing accessibility (adjust interface, provide alternative interface, select alternative or download new interface on demand) and asserted that the accessibility API’s are the only real chance for an affordable and lasting strategies for flexible interface options (and I agree). He also considered reducing cost to users and the part OSS plays, seeing this as enabling more direct paths for the transfer of research and allowing the public coverage of costs other than licences. he also suggested we might like to consider free public access (cf public/private schools) and the need to fund more than research - e.g hardening, awareness, support.

Before the panel discussion Peter announced the Open Accessibility Everywhere Group. The desire to bring together all interested parties including developers, researchers and users and so facilitate exchange of ideas it echos the original motivations that underly Oatsoft.org and later Project:Possibility. While Oatsoft’s funding was only for an initial evaluation phase we can hope that OAEG will succesfully fill this important community role and so help us push the open accessibility envelope. There is an overlap here with Raising the floor that will need to be worked out, though AEGIS adds desktop and mobile accessibility to RtF’s focus on web accessibility.

I was pleased to see a place for the open accessibility projects I have been personally active in. In addition to key projects such as Mozilla, GNOME and NVDA I saw some potential for those I have been closely involved in as a developer; Simon Judge thought Maavis has something to offer in many use cases, and the straight-street.com open symbol set has much to offer. Jambu may also be useful as a starting point for some work. I’m not sure about PowerTalk as it relies on MS technologies but at least that is now included in the EduApps USB stick collection. Greg again mentioned his interest in OATSoft.org as providing the master list of projects, though the announcement of the OAEG seem to indicate it would be providing similar functionality after all.

So all-in-all a useful workshop but perhaps too many presentations with too wide a scope; I would have liked more networking time. ÆGIS is an exciting project and a serious opportunity for the benefits of open accessibility to be realised by users and developers alike. There is a lot to be done and good management will be need to ensure it delivers, but building on open development gives it a very good foundation for success. I’m looking forward to being involved as well as watching what happens.

I’m greatful to Ross Gardler (OSS Watch manager) for being so supportive of open accessibility and providing me opportunities to make it part of OSS Watch’s portfolio of experience. My first project was AccessApps and we spent Tuesday in a highly constructive consultation with the Maavis project, working out ways forward by embracing open development.

That reminds me I have an article on open accessibility to take though OSS Watch’s thorough quality control process.