At the opening workshops of API Strategy and Practice in Amsterdam yesterday, the CitySDK team presented their progress on developing a set of open APIs that will enable developers to create applications for tourism, mobility and civic participation in one city. These APIs can then be replicated in other cities also using the same uniform API structure.
There is a hope that the Internet of Things will enable a new type of ‘smart city’ to emerge: one that enables data to be accessed in real-time to aid citizen participation and engagement in city life; that makes better use of city resources such as waste collection or police infrastructure, and that facilitates better flow by minimizing traffic congestion and optimizing the distribution of food and other goods. While there is a work program emerging to create a smart cities open API platform and new private partnerships led by existing smart city stakeholders, there are still a lot of complexities in managing how data should be accessed in a smart city model.
The CitySDK team believes that fundamental to making this concept a reality will be the availability of open APIs that allow faster time-to-market of applications that can easily be replicated across multiple cities, all using the same structure for calling resources via the REST API.
“The CitySDK project is co-funded by the European Union, and is about creating a City Service Development Kit: a collection of tools and APIs to help cities become more smart,” said Project Leader Geert Monsieur at the introduction of the CitySDK workshop at API Strategy and Practice in Amsterdam yesterday.
Monsiuer says that initially, the team is focused on creating “a smart city applications ecosystem that makes it easy to create applications on top of cities’ APIs, with a specific view of helping developers who create one app in one city to create a similar app in another city, so a key goal is to help cities create APIs in a standard format, using unified open APIs.”
Increasing civic participation
As part of the pilot project, 8 cities across Europe are participating (Amsterdam, Barcelona, Helsinki, Istanbul, Lamia, Lisbon, Manchester, Rome). Already, there are some successful prototypes being replicated. a ‘fix my street’ -type app that allows citizens to report problems in their local neighborhood to a city’s public works department uses the same API structure for applications already being replicated by Lamia (in Greece) and Helsinki (in Finland).
The model is based on the Open311 standards championed by US cities like New York and Chicago (and described by ProgrammableWeb's Janet Wagner here), that ensure a common protocol is used for location-based collaborative issues tracking. Jaakko Rajaniemi, from the Project Lead Team in Helsinki said: “The main use case is: you see something that is broken in the city, you take a picture, and send that back to the service.” The CitySDK Participation API is then integrated with a city’s customer service department, and an automatic response is sent to the city’s public works. The repair might then be added to an asset maintenance schedule, and eventually the citizen would be informed of the outcome, for example, when then repair was made, the citizen using the app to report the problem is sent a picture showing the problem is all fixed now.
Rajaniemi says the uniform API model includes four main service requests:
“1. You can review query service request types and structure the API to decide how to deal with it, parameters can be set, cities can define additional attributes, e.g.. whether images can be sent
2. You can submit service requests
3. You can query individual service requests, and
4. You can query multiple service requests, for example, all requests based on time or location.”
It is up to each city to decide what service requests (such as reporting graffiti, potholes, or abandoned cars) could be listed in the API (you can see a list of the service types that the City of Chicago use in their Open311 system here 311api.cityofchicago.org/open311/v2/services. JSON) and for managing the business workflow as to how submitted service requests are then actioned by the relevant city department.
Easing transport confusion
Facilitating data around public transport has been a particularly difficult challenge for many cities, leading to private initiatives like the TransportAPI to be created to try and bring order to fragmented data systems.
“There are a variety of fragmented open data sources, all in different file formats, with available data ranging from being several years old to realtime,” said Bert Spaan, part of the project team based in Amsterdam at the Waag Society.
To create a mobility data system, has drawn from data sources including the city’s cadastre (a property register), timetables data, realtime sensor movements of public transport fleet and social media commenting on platforms like Foursquare.
“The data is drawn from different data sources and funneled into one unified REST API. The way we have done that is to see the city as a series of objects. We gave each object an ID, and it is like we used a skewer to connect various data silos and stick it to the object.”
They also added a data layer so that data owners can add semantics to help API consumers analyze or read the data. “This allows enriching of the data source without modifying the original data set,” said Spaan.
The project team is already working with a number of external developers to create applications and visualizations using the CitySDK Mobility API, including a city dashboard, a parking locator app (Park Shark Amsterdam), and maps of public transport availability around local schools.
Enhancing a local tourism economy
“Most tourism services depend on data,” says Miguel Lemos, part of the project team leading the CitySDK Tourism API project in Lisbon. “Before we go anywhere, we are searching in Google, or downloading apps that help us have experiences in the city. We found that this is an important sector for the global economy and that it is a transversal sector.”
Like with the participation API, third-party developers are already using the open APIs to replicate tourism apps across cities involved in the pilot: the spot-in-Lisbon app developers have applied the same data request structures to access APIs and create city applications for Amsterdam, Helsinki and Lamia.
Commitment to a developer ecosystem
With funding from the European Union, CitySDK is making good headway at building an uniform API approach to city data supply which may make it easier for developers to leverage the emerging smart city economic money pot.
“First, we need for the cities to adopt this system,” said Hanna Niemi-Hugaerts, Project Manager for CitySDK. “From there, cities have an agreement to maintain the APIs for 2 years to support developers who are investing their time and resources into building applications in the system. We are focusing at present, very much on building a local developer system and providing resources for them.“
By Mark Boyd. Mark is a freelance writer focusing on how we use technology to connect and interact. He writes regularly about API business models, open data, smart cities, Quantified Self and e-commerce. He can be contacted via email, on Twitter, or on Google+.