Last week saw an exciting event that brought together scientists, programmers and designers: “Science Hack Day“.
Held at The Guardian in London, this was an up-all-night two days of web development, hardware building and invention, with the goal of prototyping new services and tools for science and scientists.
With my background in ecology and biology (ah, it seems like a long time ago now), my initial thought was to develop some kind of web-based game for exploring relationships between animals and plants in their ecosystems, for which I was going to use data from Wildlife Near You, the BBC’s Wildlife Finder and Kew Gardens. Ultimately though, I decided to help with an idea by Mia Ridge of the Science Museum, for investigating the influences between scientists and their inventions.
The evolution of ideas
Mia wanted to expose some of the rich data about the Museum’s collections and to demonstrate how scientific ideas and inventions have evolved over time, as each successive generation absorbs the lessons of those who have come before.
An invention (such as the space shuttle or the mobile phone) doesn’t simply arrive on the scene all by itself. It will have been the result of countless generations of convergent technologies, research and new paradigms of thinking. So what’s the thread that connects them together? And how have inventors and thinkers inspired one another and built on each other’s works?
There’s an app for that
A group of us built an explorer, called “The Revolutionaries“. It lets you start with a scientist, say, Isaac Newton, and then click through to view those who influenced him and those he went on to influence. In fact, because of the way the app is built, it isn’t just scientists who are matched – writers, musicians and thinkers are in there too.
Some interesting technologies
Hack days are ripe opportunities to experiment with new techniques and technologies. Here are some of those that make up the app:
Pulling data out of Wikipedia, with DBpedia
When the app first loads, it doesn’t contain any data at all. To piece together information about a person, it gathers content from the crowd-sourced encyclopaedia, Wikipedia. We use a service called DBpedia, which weaves together Wikipedia articles in a multitude of ways. This allows us to pull data out of Wikipedia as if it were a giant database, using a language called SPARQL.
We gather information about individuals, and about the connections between them, in order to find out who has influenced who. We then wrap up these requests to DBpedia with the ever-useful web service, YQL, which lets us pull the data straight into the application.
Using ‘localStorage’, a mini database inside the browser
Since we are pulling in content from remote web services, we wanted to reduce the number of remote calls that it has to make, and to speed up browsing. So, we use a feature found in all modern browsers, called ‘localStorage‘ (it’s part of the HTML5 suite of tools). This is a small, simple type of database contained with the browser, where we store all the gathered information. It makes navigating through previously viewed content lightning fast, even when browsing on a mobile phone.
The content that the user sees is built up from a small number of tiny pieces of HTML. When new data is loaded, the relevant pieces are assembled and the data is displayed. You can see these simple ‘micro-templates’ here, in the source code.
We ran out of time before we could finish integrating the Science Museum’s collections data with the Wikipedia data. After 24 hours of hacking, it was time to demo to the crowd.
And we wound up with a prize for the hack most useful in education. Thanks guys!
The full list of people who contributed to the app were Mia Ridge, myself, Ian Wooten, Tom Morris, Inayaili de León, Andy McMillan and Richard Boulton. With thanks to Christian, as ever, for hands-on help with YQL.
The Hack Day
Science Hack Day was an exciting blend of scientific geekery and hackery, cross-pollination and fresh ideas. (Thanks a lot to Jeremy, for setting it up). The other hacks from the weekend can be found on the wiki.