"NGSI allows access to contextual information about a city at a near-real-time response rate," Hierro says. "So applications may query the current status and location of this information. The idea that this standard API will work in every city is what will allow developers to create an application once and see it used in several cities."
Building an Open Standard Data Model in Partnership with Developers
Under the OASC initiative’s implementation-driven approach, the idea is that the API data model will be co-designed with application developers who are building the next wave of civic technology solutions.
Hierro gives an example of an application that is rating the accessibility of public buildings in a given area. If this data is not already held by a city, the application can crowdsource ratings from end users to score how accessible a building is for those with limited mobility or special needs. The application could then share this data with the city so that it is added as a contextual attribute field in the city’s overall data model:
You do not have to think about entities that may be defined by the city itself; the nice thing about NGSI is the ability to extend the model to add new entities and to add new attributes to existing entities.
In this example, the city may provide info about buildings in the city, which allows the application developer to rely on the model, but also to add a new attribute to each building. So through the NGSI standard, cities are providing a platform that enables developers to rely on information in the first place, and then for those developers to enrich that information, which in turn other applications could use.
We have to think about context as something that is not static or rigid. It is really about providing a platform that allows third parties to enrich the data.
The Implementation-Driven Approach to Setting Standards
With an implementation-driven approach, Hierro is confident that the development of open standards will be more meaningful and will resonate with third-party developers.
The next stage of the work of the OASC will be to identify civic tech solutions being built by startups and small and medium enterprises. These solutions will identify what entity and attribute definitions will need to be added to the NGSI data model.
So the next step is the OASC cities will meet with SMEs and startups that were selected through the FIWARE Acceleration program, learn about the applications and try and pick up those that are of interest to the cities and initiate a process where a first set of data models can be adopted based on what these applications require. This is important because once those standard data models are adopted by the city, cities can then offer their citizens the applications that can solve those problems.
Hierro and Brynskov see the process as a back-and-forth flow. In some cases cities may already have some data models in place — for example, how entities for bike rental schemes, waste management collection, public transport infrastructure and cultural landmarks are defined. But the hope is that the priority will be on how applications are identifying the data needs they have in order to create solutions that solve real city problems.
“It is a problem-solving rather than a committee-driven approach,” confirms Hierro. “The cities that are part of this initiative believe that we need to start by looking for applications that solve real problems, and we wish to offer them the data they need to solve the problems they have identified. This will be the first basis for the data models, and they become useful for other applications. We don't want to create standard data models if we don't have a view of what applications can support them.”
To avoid duplication and promote scalable city tech solutions, the OASC will then regularly publish data models that document the standards that are beginning to emerge among a dynamic and engaged civic tech entrepreneurial sector.
While the original NGSI API uses an XML schema, the FIWARE Open API platform provides binding for a RESTful interface that allows access to the data via XML and JSON. Hierro notes that JSON is the most widely used among developers participating in FIWARE’s various accelerator programs.
CitySDK Model Ready to Scale
As an example of a problem-driven approach to designing data models, the OASC has already agreed on the first example, drawing on the recent work of the CitySDK project to identify a common set of API standards. CitySDK has been working across a number of cities to test a common API standard for building mobility, tourism and civic participation apps. The data models this project creates will be more widely disseminated across the 31 participating cities. The idea is that cities will create adaptors between their current data sets using the CitySDK data models so that an NGSI API can access equivalent data on entities in each city, thus rapidly scaling up the potential for startups to create a viable market for their products.
“These data models are already the most mature," says Brynskov. "Transportation in particular has established de facto data models. That will happen for the other areas. Mobility is the frontrunner for shared data models, and CitySDK has some of the primary fields defined for sharing this data, so what we are doing is trying to make it easy for cities to get experience."
CKAN as a Common Open Data Publishing Platform
The final component of the common infrastructure is a commitment to use the open source CKAN project as the foundational repository for publishing open data for each city. While CKAN has traditionally focused on publishing historical data, the governing body Open Knowledge Foundation is looking at ways to publish NGSI data out of the box.