Author Archives: Sander van der Waal

Reusable widgets demonstrating the potential of open innovation

The Rave in Context is developing templates to easily write W3C widgets that encompass best-practices in usability and accessibility out-of-the-box. It is not feasible or useful for small projects like this one to try and develop a completely new community around the software. Instead, we looked for an existing project that would be a good home for the software and found that in Apache Wookie (Incubating). However, the project is also closely related to Apache Rave (also Incubating), because this project also supports the W3C widget standard and a few people involved with that project have shown an interest in what we’re doing.

Because of the close connection with these Apache projects and for the benefit of wider uptake of our project code, we thought it would be good to present about the Rave in Context project at ApacheCon 2011 in Vancouver. I was happy to be allocated a session in the ‘Fast Feather’ track, a track that focuses on latest developments and upcoming technologies.

The widgets that are being developed by the Rave in Context project will conform to the W3C widget standard. This allows for deployment in a W3C widget container such as Wookie. However, there are many other standards in the widgets and gadgets space. Another popular one is the OpenSocial gadget specification, which defines not only social concepts but also the packaging and specification of the gadgets themselves. Because of the big overlap between W3C widgets and OpenSocial gadgets, it has been relatively easy for the Rave project, that started of as an OpenSocial container, to also support W3C widgets. This makes the Rave in Context widget templates useful for that community as well.

During the presentation and some of the other talks and meetups at ApacheCon, it became clear that there is a lot of interest in the gadget/widget portal functionality that is being developed by the Rave project. Also the gadgets and widgets that are being developed may themselves be interesting to the wider community. We talked to a few people, for example, that have worked with portals based on the Java portlet specification, and are finding that this is not a specification that is suiting their needs anymore. They are looking to use a different technology for their front-end portals and the Rave portal is an option they’re considering. Also a project like Sakai OAE (f.k.a. Sakai 3) are working with gadgets and gadget repositories on their front-end. They are currently not working with a gadget standard, but moving to OpenSocial and using Rave as their front-end is something they are interested in.

The code of all the gadgets and widgets are currently scattered around the different projects, and this is not usually the best place for this kind of code. Hence, there is a clear need for a separate project to host the gadgets and widgets created, and this can also include the widgets created as part of the Rave in Context project. Although this is out of scope for the Rave in Context project, there are plans to set one up at the Apache Extras site, which is a code hosting site specifically for Apache-related projects. This will enable anyone to reuse widgets and/or gadgets generated in any of the projects, thereby delivering on the promise of open innovation in software.

Towards a more usable and accessible web, one template at a time

There are very many mobile devices and more are coming out each month. Similarly, the diversity of form factors is growing; there are many different screen sizes for example and a larger variety in device capabilities. People want to access and use their favourite research tools on these devices, but this is currently very hard. You could create an app for your research tool, but then again you’d have to create a different app for each platform and still have to take device capabilities into account, especially on a platform like Android.

A better approach could be to build a web application. Harnessing the possibilities that HTML5 offers, it is possible to create web-based applications that look and feel very similar to native applications. In the Rave in Context project we will focus on creating web-accessible W3C widgets for the popular e-Science tool myExperiment, but we will also create widgets for OpenDOAR and Simal. This will allow researchers to have a usable interface to these research tools and use them on a variety of devices. By using the W3C widget standard it will be possible to embed the widgets in popular widget-enabled tools such as Drupal, WordPress, Elgg and Moodle.

To make sure the widgets are usable on the different devices with their specific form factors we will use a technique called progressive enhancement to dynamically match the features of the device that is used to access the tools. This technique adapts the user interface based on the features of the device.

We will make prototypes and perform a walkthrough with users of the myExperiment community to determine what the most usable design is on each type of device. By working with an accessibility expert on the team we will make sure the design is not only usable and learnable, but accessible as well.

We will make sure that the results of our research and development are reusable by building widget templates where we will base the myExperiment, OpenDOAR and Simal widgets on. Using these templates will enable other research tools to create usable, learnable and accessible widgets for their own tools easily. We will work with the wider research community to aim for a wider uptake of these templates. We are already working with two projects, Apache Wookie and Apache Rave (both incubating), that build servers to host widgets and gadgets. We will work with those communities to make it easier to integrate widgets in existing widget portals.

We hope you’ll find our work in creating widget templates useful. Please follow us on Twitter and subscribe to our mailing list. We look forward to hearing from you!