HtmlCleaner 2.5 is out!

Yesterday we released HtmlCleaner 2.5, which fixes up a few bugs, and also has a rewritten DOCTYPE handler based on the latest guidance issued with HTML5.


Posted in Uncategorized | Leave a comment

Open Source Meets Open Standards

I’ve just published a post over on the OSS Watch team blog on open source and open standards, introducing a new OSS Watch briefing paper on the topic.

This is where my CETIS and OSS Watch roles cross over! The post linked above is from a policy point of view, whereas the briefing paper is more aimed at developers and project managers. But what does this look like from a standards wonk viewpoint?

We often espouse the virtues of having open source implementations (or reference implementations) for driving adoption of standards, however there can also be barriers to open source that may be less obvious.

The paid publishing model often used by de jure standards organisations is definitely a barrier in the sense that developers are less likely to browse the standard and decide to use it, however I think on the whole its far less of an obstacle than a lack of clarity on the issues of patent licensing, copyright, conformance claims, and trademarks. If the standard is critical for interoperability, paying $120 for the specs isn’t as big a deal as potentially getting sued by Oracle or IBM for patent infringement.

For major standards setting organisations like W3C its not much of an issue, as developers generally know they can implement W3C  standards freely, whether or not they really understand the legal detail. However, for less well known standards-setting communities and consortia, its necessary to clearly spell out their position if they want to encourage open source implementations.

Posted in cetis, standards | 2 Comments

Understanding Glass: An SF perspective

When the IPhone (and later the IPad) arrived the first things people started comparing it to were things like the movie Minority Report for its interface, and also to the technologies used in Star Trek, with its many glossy black touch panel devices.

Science Fiction sometimes does a good job of – if not predicting the future – exploring the implications of many possible futures.

I think Google Glass is another good example of this.

My first thought on seeing Google Glass was a fairly recent novel by Vernor Vinge, Rainbows End (2006).

Rainbows End book cover

However, this is a novel about augmented reality, and virtualization. Its well worth reading for an exploration of how an augmented reality layer may affect society and technology, in particular his vision of a locked-down technological future where the only way of interacting with “black boxes” is via virtual interfaces does have some echoes of todays trend towards walled garden networks.

However, the “overlay” aspects of Google Glass are perhaps not the most interesting.

In a recent post, Mark Hurst discusses the “lifebits” recording feature of Glass.  This to me immediately brought to mind two very different SF stories.

In Other Days Other Eyes (1972), Bob Shaw introduced us to a world of “Slow Glass”, a materials that delays the transmission of light from one side to another.


He takes us through the use of the technology as a means of ubiquitous surveillance – find a piece of glass, however small, and look through it to see what happened in the past. Google Glass, though using a very different technology, has similar properties to going around wearing a piece of Slow Glass, in that it offers the capability of looking through it into the past – via lifestreaming of video (and audio – not something Slow Glass could accomplish!).

Shaw does a very thorough job of exploring the use of this technology, and I highly recommend reading the novel. In particular, there is an exploration of how society adapts to ubiquitous surveillance, which has a kind of ring of the Kübler-Ross stages of grief. Initially, efforts are made to try to avoid Glass, for example a secret meeting in the book is held in a room whose walls are freshly hosed down with a new layer of plastic each day just in case any fragments of Glass had been placed in it. However by the end of the story, everyone just accepts that anything, anywhere, and anywhen may be seen by others, with the vivid image at the end of particles of Glass suspended in raindrops.

Shaw also touches on the nostalgic aspects of Glass, with a story of a man watching his lost family from outside his house.

This nostalgic theme is also a key part of a very interesting short story by John Crowley, Snow (1985).

Snow is told from the perspective of a widower, whose wife’s first husband had bought her a “wasp” that continually recorded video of her for posterity. In the story, the protagonist visits a futuristic memorial park where he compulsively reviews the recordings, until eventually entropy starts to set in.

Again, the technology that Crowley uses here isn’t very much like Google Glass, but the implications of the story feel quite close to the near future. Crowley presents a compelling use for the lifestreaming (or lifebits, or whatever you want to call it) and also explores some of the potential downsides. Its quite short, and worth a read. Would you use Google Glass to do this?

I’m sure there are many other examples of fiction anticipating a Glass-like invention, if you know of any, let me know in the comments!

Posted in augmented reality, google | 4 Comments

Open Source Junction 4: Open Source Hardware meets Open Source Software

(reblogged from the OSS Watch blog)

OSS Watch is delighted to announce a new event in the Open Source Junction series aimed at facilitating knowledge exchange between industry and academic innovation. Open Source Junction brings together the best business and academic minds to explore how the two sectors can jointly innovate, develop and exploit open source software in conjunction with open source hardware.

Open Source Junction 4 is taking place on 14th-15th March at Trinity College, Oxford and focuses on open source hardware.

Open Source Hardware (OSH), like Open Source Software (OSS), is an open approach to technology where the information needed to create hardware artefacts – such as schematics, drawings and bill of materials – is distributed, allowing others to produce artefacts, and to modify and improve on the design. Open Source Hardware has a wide range of applications, including medical appliances, lab equipment, surveillance drones, and toys.

If you’re involved in an Open Source Hardware project, a project that uses Open Source Software in conjunction with hardware, or just enjoy cool hardware hacks, we’d like to see you at Open Source Junction.

We’re keen to exploit the tangible nature of Open Source Hardware at the event by encouraging attendees who are part of a hardware project, whether Open Source Hardware in the strictest sense or an innovative use of commodity hardware in conjunction with Open Source Software, to give a short presentation or demo.  If you’re interested in doing this, please give details on the registration form.

You can read full details of the event and sign up at EventBrite.

Posted in Uncategorized | Leave a comment

How to engage students in real open source projects

I gave a talk at FOSSA 2012 earlier this week sharing some experiences with teaching students using open source projects in a module at the University of Bolton.

Basically, there are 5 tips:

  1. Start with soft skills, not code
  2. Let students pick their own projects
  3. Teach how to “read” a project
  4. Get students interacting with the project community – not the lecturer
  5. Assess public interactions

Here’s the slides:

Hopefully I’ll be working with the teaching team to develop Year 2 & 3 modules building on this work.

Posted in Uncategorized | Tagged , | 11 Comments

Sharing usage data about web apps between stores

SPAWS logoThe 140 Character Question:

Can different web app stores share usage data such as reviews, ratings, and stats on how often an app has been downloaded or embedded?

Thats the question that we investigated in the SPAWS project. And the answer is:


Building on the Learning Registry and Activity Streams we connected together several web app stores aimed at sharing web widgets and gadgets. Each time a user visits a store and writes a review about a particular widget/gadget, or rates it, or embeds it, that information is syndicated to other stores in the network.

This means that, even if a store is focussed on a niche market, the web apps in the store can include user reviews and information collected from a wider federation. It also means that web app developers can pull together all the reviews and download stats for their apps to display on their own site, even when they are sharing their work in multiple stores.

We created a software library that developers can use to add “paradata sharing” to web app stores, and integrated it into Edukapp, a “white label web app store”. Edukapp is being used by ITEC for sharing web apps between secondary school teachers, and now by SURFNet to share web apps used in research portals in higher education. Both of these stores  should be in production use in 2013, and several other web app stores, both educational and commercial, have also shown strong interest in adopting it.

SPAWS isn’t limited to web apps and app stores – the same approach can be used for all types of resources and repositories, for example to share reviews and usage stats about learning materials, books, 3D printer models or whatever you like.

The SPAWS software library itself is open source and can be readily added to any Java project using Maven or Ivy. You can also fork it on Github.

Thanks go to the JISC/HEA OER Programme for funding this work, and to Amber Thomas for being a great programme manager!


Posted in app stores, apps | Tagged , | 4 Comments

SPAWS: Project Plan

(I’m still wrapping up the JISC part of SPAWS…normal blog service will resume shortly)

Here’s the original project proposal I submitted, including the project plan:


Posted in Uncategorized | Tagged , | Leave a comment

SPAWS: Impact

The SPAWS project – or rather, the funded part – is coming to an end so its time to wrap up the project details.

In terms of impact, what have we achieved?

1. We answered the question we set: “is the LearningRegistry Node infrastructure suitable for sharing paradata between app stores?”. (tl;dr: yes).

2. We created a software library for it

3. We embedded the library into Edukapp, which means stores operated using it can switch on SPAWS and start syndicating paradata. As JISC, SURFNet and ITEC roll out their Edukapp-based stores between now and Q3 2013, we will start to see some real practical sharing benefits

4. We demonstrated it actually works.

5. We developed paradata recipes that have general applicability

6. We made upstream contributions to improve the LRJavaLib library used with the Learning Registry, and got it listed in Maven Central making it much easier to include in other projects.

7. We contributed to the evolution of the LR itself, in particular how it will handle duplicate/outdated records using TTL in future, enabling better scaling of this kind of paradata handling

Future impact now rests on the success of the stores using SPAWS.



Posted in development, widgets | Tagged , | Leave a comment

SPAWS: What have we made?

The SPAWS project has produced:

All of which were in the original project plan.

Some things we didn’t do:

  • We didn’t use CAM for the recipes, as it isn’t really suitable. Its more for individual learning analytics than the kind of data we’re concerned with
Posted in Uncategorized | Tagged , | Leave a comment

PHP: The Pot Noodle of software development

PHP is, despite its huge popularity, one of only a handful of web programming tools I’ve never really used in anger. And thats because, basically, I’m a programming snob. I like Java (despite its annoyances), Ruby, Python, JavaScript and a whole load of other things, but I just can’t bring myself to “do” PHP.

I had a good chat about this with my colleague Mark and I think I figured it out. PHP is the Pot Noodle of programming.

A Pot Noodle

Image courtesy of Poundland

Let me explain. Pot Noodle is, frankly, a bit crap. On the other hand, the only thing it requires to make a meal is a kettle, which is pretty much the only appliance in the kitchen that is always guaranteed to be there, to work, and not be totally disgusting (especially if you’ve ever lived in a shared house). It also requires absolutely zero culinary skills. So as a student, Pot Noodle is a good standby. However, as a proper grown up I never really bother with them.

For me, PHP is a bit similar.  All you need is a fairly normal web server, and it can do the job, and most people, including non-developers, can pick up enough skills in it fairly easily. (Looking at anything substantial built in PHP also looks a bit like a tangled mess of noodles wrapped around some unidentifiable chunks too.)

But its not something I particularly want to touch myself; which is fine, as if you throw a Pot Noodle out of the window of an IT dept there’s a reasonable chance it will land on someone who can do PHP.

So, if you need the job doing, if you can’t install a ton of software on the server, and it needs doing quickly… well there’s a web programming language that can fit.

Long live PHP!

Just don’t make me eat use it.




Posted in development | 11 Comments