I have recently been playing around with the (relatively) new Google service named Latitude. This service may be either used from your mobile phone (including the Nokia S60 range) to allow you to see where your friends are located.
Something I have wanted to do with this service for a while is to use it to keep track of where I have been. Recently Google released an API to do this. The only problem with this is that your are required to change your privacy settings, effectively allowing everybody to know where you are.
This lead me on the quest to reverse engineer the data that the latitude iGoogle gadget uses to update itself. So far, I can parse the data into a set of lists once given a url to where the data is.
To obtain this url, you will need to use firebug to watch all of the requests made by the iGoogle page (with the latitude gadget loaded into that page) and look for the one that contains makeRequest. Copy this url, with all of it's parameters to get access to the data.
I have written a small parsing library (in python) that will grab the data, and parse it out into the specified data structure. This library is available from my mercurial repository under the latitude project.
It seems that the data produced by latitude is actually meant to be JSON data... At least they are parsing it as JSON, it is just that they are using 'eval' to parse it, which allows a slightly different syntax.
ReplyDeleteThis is highlighted by the fact that the latitude gadget no-longer works in Firefox 3.5 (https://bugzilla.mozilla.org/show_bug.cgi?id=498691) as 3.5 has a native JSON interface.