My colleagues at Affecto ( Janne Pyykkö, Marko Loukkola, Esa Savolainen, Suvi Jaanus and others ) had done great work with Helsinki city service data – and produced absolutely magnificent Service Map, through which users could search communal services available to people in the capital area. The actual userinterface / application is produced by Sito while the data warehouse and integrations and everything else was done at Affecto.
As I got to see the project for the first time I was amazed, as I had not even heard about this kind of service from the city before – and thought that it is a magnificent idea! I am not a city bureaucrat or know how public services work, nor do I care. am a consumer and prefer easy access and easy to find services – which quite often have been private / commercial services, as it has been easy to find them and use those service. Tools like Service map make services easier to find and utilize – which is just great for people living in Helsinki! Similarly the tool can/will work as an internal planning and design tool, as it is easy and convenient to see different kinds of services on spatial map – and plot different data about demographics etc. on map displays — making decision making easier and more effective in the city. Can you already hear people saying win-win-win?
I came to project to help with webservice integrations and honest to god as we were having the first ever meeting on the subject, I was already thinking and saying that this service map should have an easier to use REST-api, which people could just take and integrate into their own applications. Luckily this eventually resonated with lots of different things going on in public administration in Finland and especially in Helsinki. Open data is a big thing and Helsinki Region Infoshare ( http://www.hri.fi/en/ ) is doing great work distributing and helping organizations to open up their data into public use.
As the foundation for the project was already well done, doing the REST-api was a walk in the park. We met with some great people from Allto University ( Osma Suominen ) and VTT ( Timo Toivanen from Hubi project ) and brainstormed together what the API should look and feel like. In a short workshop we designed the foundation and then continued collaboration online with email and Google Docs. We got great help and collaboration also from the outside, from Samuel Rinnetmäki who is an old friend and fellow geek – and thinks integrations daily in his work at Finnish Center for Pensions.
Google Docs proved to be just perfect tool for simple collaboration. We wrote a design document there as well as designed datatypes for the API collaboratively. Everyone were able to edit documents at the same time and come to a conclusion on how the data would be most usable for people outside.
After that it was just a simple programming exercise with Spring Framework as the foundation and few additional components providing needed functionalities. Keywords included iBatis for database connectivity, Google GSON for JSON transformation and XStream for XML transformation.
First version of the API can be found from:
Instructions are only in finnish, but the API is in english – which should make it easy to use even for foreigners.
This was just the first version of the API, aimed to provide mechanisms to share the data. Next versions will add more functionality, data and semantics to the API – and I am looking forward collaboration with Osma, Ville and Samuel on those future versions too.