[crossposted from Your Computer Minute blog for your convenience - thanks Dan for your support]
On Saturday, Dec 3, you'll want to attend City Camp Honolulu, "an unconference focused on innovation for municipal governments and community organizations."
According to the site,
CityCamp Honolulu is just the first step in an effort to explore and document ideas, lessons learned, best practices and patterns that can be implemented within the City & County of Honolulu and shared across municipalities. Our primary focus is the use of social/participatory media, mobile devices, linked open data and leveraging the Web as a platform for transparency, Open Government and civic engagement.
As the tech community, we should take maximum advantage of this situation for everyone's benefit. We have a choice at this conference whether to get myopically focused on small, useful applications or whether we can leverage the momentum of this event to set in place a lasting legacy of exceptional engineering. I say we go for the latter.
Do we want to build a few cool apps, or do we want to create a platform and a policy which will give developers API access to all published Web data? What kind of potential innovation will we unleash if any time the city creates a website, developers know that they can access the site's underlying data through standardized data access and format standards? If every city website was powered by a public, documented API that was available to all, the mashup permutations would be near-infinite and the potential for ground-breaking innovation quite real.
Riffing on Dave Kozuki's seed idea to "Break through the bureaucracy. Pass an ordinance to require city de...." and his corresponding blog post on the idea. I would propose something along the following lines:
All city public websites are built in two parts. First, the data powering the website is exposed via standard protocols. Second, the website is built exclusively using the API, meaning that the city's website does not directly access the data any other way except via the documented, public api that any other developer can use.
This is an important distinction and vital to building a innovative city data architecture. You can't build the website first and then decide to "get to building the API" later for many obvious (to geeks, anyway) reasons. For one, if the API is an afterthought, it simply won't get done. Second, if the website doesn't go through the API to get its data, it will be nearly impossible to synchronize website changes with API changes. Third, the website accessing the API serves as a "killer app" and "reference application" (ideally making all source code publicly available) to guide developers on best practices in accessing data. Finally, if we want to build a true platform for city data, you must require that all city websites use the platform and only the platform.
I recognize there will be difficulties in implementing this policy for existing legacy sites but I think we we can build in sufficient flexibility so that those sites don't have to be refactored until a modification is made or a certain somewhat distant date is reached. The real key is to get expose all data via an API from this point forward.
Sorry Geeks, we're going to have to exercise some lightweight politics here. We need to be prepared and pre-determined to make CityCampHNL work for us. If you support the idea of an ordinance that puts the "Plaform First" requirement into place, i.e. law, here's a partial list of what we'll need to do to get the ball rolling:
Hawaii has a great combination of entrepreneurial spirit and innovative developers. If we could access all public (i.e. on the web) city data, we would be gaining access to a massive collection of raw materials on which to build and deliver value to everyone. And where there is value creation, there is wealth creation. And where there is wealth creation, there is job creation. This might sound cheesy but if we can tie job creation as a genuine potential outcome of creating a "Platform First", it will give this effort a very good base of support to carry it through the byzantine path from concept to reality.
Next, connect with the community and make your voice heard. Burt Lum has put together the following resources:
Please follow us on twitter: http://twitter.com/#!/citycamphnl
Like us on Facebook: http://www.facebook.com/CityCampHNL
Idea central: http://citycamphnl.uservoice.com/forums/133940-ideas-for-city-camp-...
Join us on TechHui: http://www.techhui.com/group/citycamphnl
Google Group: https://groups.google.com/forum/#!forum/citycamphnl
Finally, get prepared for action and participation. We've got a good "shot at the title" here to create some long-lasting change. Let's do it!
Special thanks goes to Dave Kozuki for doing a better job in posting the API idea to citycamp than I did, Burt Lum and Daniel Leuck for encouraging and supporting the API idea, and Ryan Ozawa for supporting the Citycamp concept overall .