Wednesday, January 09, 2008

Neighborhoods API from Urban Mapping

This morning I read a couple of blogs that reported the free neighborhood API from Urban Mapping. Neighborhood data is one of those public datasets that we all need but not really freely available. When I needed neighborhood data for my company, I went with one of the data vendors to license the dataset; and the dataset is far from complete but it does the job for me, for now.

So I was obviously excited to see this move from urban mapping folks and spent a little bit of time on their API to understand what is offered and I have to say that I'm disappointed with the offering; here is why:

1. No Geometry: The neighborhood API does not expose the neighborhood geometry - which is the polygon (also known as the shape data) data points that actually "define" the boundaries of the neighborhood. If I'm looking into integrating any neighborhood level data into my applications, I want the shape data, without that, the neighborhood data is useless.

2. Non-Standard Neighborhood IDs: This is not an issue with Urban Mapping API per se, but they expose neighborhood IDs that are proprietary to them. What we need is a standard-based way to identify neighborhoods, some sort of taxonomy you know. For example, the neighborhood that is identified as "17476" in Urban Mapping API is not the same neighborhood in some other dataset. So if I'm building a mashup with neighborhood data, I want it to be portable (more on the map APIs and portability later).

3. Lack of wire-format choices: This is not a serious limitation, but the API currently only supports SOAP. Brady has pointed this out in his post too. If you want serious adoption for your APIs, you need to either support multiple wire-formats (SOAP, REST, JSON) or provide toolkits (API libraries) for multiple platforms/languages. I'm sure the folks at Urban Mapping are working on this, but this is a deficiency they need to fill at some point.

While this is a good first step in the right direction, I'm not going to spend much time on this API, for now anyway.

What do you think? Do you think the data exposed by Urban Mapping is useful in your mashups? I would love to hear your thoughts!