Software Development with Certainty

June 2, 2009

The current phase of the project is to turn an impressive prototype developed by one person into a library, and applications based upon it, that can be simultaneously developed and used by a team.

The development process gains a new dimension once you have published your first version or have your first user. The task is made more tricky due to the absence of the original author.
In other words: situation normal, don’t start from here.

The Erewhon applications, Gaboto library and its main dependencies ng4j and Jena are all changing rapidly. New functionality is being added and code and dependencies are being refactored and changed. The challenge is to enable this change without breaking installed systems or at least not breaking them unknowingly. This is ensured by establishing a contract between the code and the design by the use of tests. The tests guarantee that the system actually does do what it claims. Or, more properly, the tests are exactly what the system claims to do. Read the rest of this entry »


A simple library mashup

June 1, 2009

At the Erewhon workshop in December we asked people to choose/suggest applications for geodata. One of the favourites was: “Find the nearest copy of a book from a reading list (bearing in mind which libraries you can use, and the opening hours of libraries)” so we decided to use this as an example of how we’d begin to use Oxpoints data to enhance other services.

Ingredients:

A library search results page

A library search results page

We couldn’t easily get hold of the patron data (i.e. which libraries a user has access to), and the opening hours looked fairly indigestible in their current form (see example); so we decided to leave these out of this mashup. Read the rest of this entry »


Exploring Oxpoints: directions from place to place

June 1, 2009

In order to demonstrate the data now available in Erewhon’s
geodata store, Oxpoints, I wanted a way to quickly browse
the holdings on a simple web page. Oxpoints already has a way
to show a map of all departments (for example), by opening
http://m.ox.ac.uk/oxpoints/departments.kml, but that means opening
Google Earth or loading it into Google Maps. If instead we
specify
http://m.ox.ac.uk/oxpoints/departments.xml, an XML
representation of all the data is returned, which can be fairly easily
transformed into HTML for display.

Since we have a lot of XSLT expertise to hand in the Erewhon project,
I decided to write this service as an XSL transform, mediated by a
Perl CGI wrapper. The result is shown at
http://m.ox.ac.uk/cgi-bin/oxshow.pl:
oxshow1 Read the rest of this entry »