Yahoo! GeoPlanet API makes backwards-incompatible change, keeps it secret?
I just noticed that the Yahoo! GeoPlanet API made an API change to its JSON API that breaks existing apps. (I noticed because it broke the sign-up process for the new Singularity teaser site.)
Googling around, I couldn't find any announcements from Yahoo! about this. I don't know if there's a notification feed somewhere that I'm missing -- if so, I'd appreciate it if someone could point me in the right direction. Otherwise, in case any other developres are using the Yahoo! GeoPlanet JSON API and are affected by this, here's a summary of the change from the post I just made on the yws-geo forum:
I just realized that you removed the 'place' array from the JSON object returned from places.q() calls (e.g., of form
http://where.yahooapis.com/v1/places.q('city name');count=0?format=json
) and that the returned places object now has the place indices as strings.This requires code to be changed from, for example,
result['places']['place']
toresult['places']
and also requires that numeric indexed loops be changed to use string indices.
It's quite baffling that a change like this (which, really, isn't even necessary) was made and not communicated. Even more so considering that the API is versioned properly (you access it from /v1/), so a change like this should really have gone into (/v2/).
I would love to hear from someone on the Yahoo! GeoPlanet team about the rationale behind this change and where we can find out about similar changes in the future.
I love the Yahoo! GeoPlanet API -- it is awesome and very simple to work with -- but please, guys, pay a bit more attention to backwards compatibility, communicate better, and don't break existing apps! :)
Comments
by Aral on 2008-06-30 20:08:21
by Ryan Kennedy on 2008-06-30 17:56:01