One of the questions we get asked most when working with New Zealand content creators is ‘what’s an API’?. Quickly followed by… ‘so, why would you do this?’
When a developer we’ve never met picks up on the DigitalNZ API to create a map-based interface for discovering New Zealand content, an answer starts to form.
In short, an API (Application Programming Interface) is a way for applications to talk to each other; and a way for developers to talk to applications.
As the Indicommons website so aptly summarises: ”Open APIs allow services and collections to become interconnected, the experience of outside developers to be engaged, and new tools and spaces to be fashioned to benefit the community at large.”
Paul Hagon’s ‘experiment’ with the DigitalNZ API brings these words to life. And DigitalNZ didn’t have to do anything except give developers and applications permission to ‘talk to’ information about and links to New Zealand digital content sources!
So, with a nod to Brooklyn Museum who looked to DigitalNZ when releasing their public API, what follows is a Q & A across the trans-tasman divide. We try to delve deeper into Paul’s creation than 140 characters of twitter permits…
I found out about the DigitalNZ API from Seb Chan at the Powerhouse Museum when he was in New Zealand last year for the National Digital Forum. I can’t remember if it was via twitter or via the write up on their Fresher + New(er) blog. I can remember getting quite excited about it, not just from the API point of view, but from what was actually achieved in getting all the contributors involved. It’s very impressive.
I've been sitting on this idea since the start of the year, but have been away on holidays for a fair bit of time and never got around to implementing it.
Typically interfaces into large amounts of data, like DigitalNZ, are based around entering something into a search box. It’s a relatively effective but rather boring interface. You need to know exactly what you want to search for and there is very little sense of discovery by accident or exploration (when was the last time you started randomly entering search terms into a search box?). What I’ve created is a map based interface into the collection that focuses more on this discovery aspect rather than getting perfect results.
The interface works by using a combination of API’s from Google and Flickr to extract the name of a location for a given latitude, longitude and accuracy on a map (based upon how far you have zoomed in to the map). This is why if you position the map over Taupo, on the zoomed out map it returns results based on Waikato, then as you zoom in further on the same spot it searches for Taupo District, then Taupo and finally Taupo Central. As each search takes place, a rough guide to the area being searched is displayed on the map using a Flickr shapefile. These shapefiles are generated from the locations people have tagged photos in Flickr.
By using an interface like this, you can see other areas on the map, that you are likely to explore. It’s easy to get results without having to do a lot of typing or thinking.
With the web there is never any ‘this is it’, there are always things that can be changed. It’s still a bit rough around the edges so needs a bit of cleaning up of the code it’s built on. In the short time since developing this, Yahoo have released all their geographic data (WOE data) under a Creative Commons license and Flickr have also released their shapefile data under a Creative Commons license. I’ll incorporate both of these into the service as I’m kind of using and abusing the Flickr API in its current format by not really incorporating Flickr content, which is a bad thing. By Yahoo & Flickr opening up and sharing their content under these licenses, I can use the data without feeling guilty about doing the wrong thing.
The big thing is going to be improving the accuracy of the search results. The DigitalNZ API allows me to search over data that has been given specific location information, but at the moment, not a lot of records have this data. I’ve had to set up 2 search options - one limits it to give an accurate result, and another that searches over everything and picks up place names in the title or description of records. It’s not as accurate, but provides better results. It’s a bit clunky filling up an interface with these options. I like to keep things as simple as possible.
Through the Google Group that has been set up for DigitalNZ, I’ve found that people are attempting to extract location data from the DigitalNZ records by running them through services like Open Calais and Yahoo placemaker. The community that has formed is working on filling these holes in the data and hopefully this work will be incorporated back into DigitalNZ to produce better results for both the participants and the developers that are extending DigitalNZ.
Thanks for that – I’m glad you like the mashup. I live in Canberra and I work as a web developer at the National Library of Australia. I’ve been here for 3 years and love it. I previously worked at the Australian War Memorial, so I’ve spent 10 years working with large collections on the web. I studied industrial design in the days before the web existed and have a fascination about how we interact with things. When I’m away from the computer I’m a keen photographer and a semi-retired ultra endurance triathlete.
It’s a fantastic step forward that’s been taken with DigitalNZ. The real power of doing this type of thing comes once an ingest API is provided and we can easily build applications where corrections or further information can be added to the records. I think of it as information karma, if I use your resources to build interesting things, I also have a responsibility to add back to the service and help fix the deficiencies.
Thanks for the opportunity to participate in the interview.