• Print

Google's Sneaky Launch of Latitude's Location-Sharing API

google latitude

Google has extended their location sharing service Latitude (Radar post) with the first set of Latitude Apps. One of them is a blog badge for sharing your location publicly on a website. The other updates your GTalk status for sharing your location to your IM network. Both have to be turned on explicitly and allow you to share your location at the city level or as accurately as possible. These have generated a lot of press, but I haven’t seen much discussion about the first sighting of the Latitude API.

On the blog badge page, below the fold there are two URLs that will show up *after* you turn on the blog badge (so it wasn’t that sneaky, you just had to scroll below the fold or look on their Geo Developers blog to learn about it). Developers can get access to their own or other users’ location with these URLs. The URLs let you access the data as KML or JSON. They look like:

KML -> http://www.google.com/latitude/apps/badge/api?user=<ID>&type=kml

JSON -> http://www.google.com/latitude/apps/badge/api?user=<ID>&type=json

I’ve included the JSON file and some documentation after the jump.

These are just the first signs of Google’s Latitude API. This is a barebones release that I think is designed to see what developers do with it and how people react to public sharing (geo-broadcasting). These initial feeds do support multiple users (just add another ID separated by a comma) and could be used to build many types of apps. Let me know if you build one for yourself or others.

This is not going to be the end all be all of the Latitude API. I theorize that we will see some of the following features added for a formal release of the API.

User Control & OAuth – Right now a user can only turn the sharing on or off. Once they’ve shared out their badge or their user ID there is no way to know who else is tracking them. You can’t even currently reset your User ID if you inadvertently share it – your only option to block a rogue app is to turn off sharing completely. I am hoping that in a future version Google adds OAuth and let’s you turn on/off access to different apps. These apps should also be able to receive different levels of accuracy (some should get my city, others my exact location).

iPhone Client – This isn’t tied to the release of the API, but it’s got to be sticking in Google’s craw that Latitude isn’t on the iPhone yet. The Latitude site has said “Coming Soon” for months. I am hoping that it will be sneaked into the 3.0 release or shortly thereafter. (my understanding is that it is not in the current Developer release).

Location History – If Google is tracking my location then I want them to store it and analyze it. I want to know where I’ve been and be able to reflect upon the trends in my life. They can use this for targeting ads and services at me all they want. Google does not currently store my data and if they don’t decide to then many will just turn to third-party developers and sites for the service.

Data Control – I want Google to track and store my location for its and my use, but I also want to be able to export it or delete it. I want to be able to delete a certain period of time or all of my data. When I press delete it should immediately be purged from their servers. I like the principles of data ownership that were developed by MIT/SenseNetwork’s Sandy Pentland. I hope Google (and all other LBS providers) follow their lead.

Additional Inputs – Currently Google Latitude only accepts Google client inputs. Those won’t always be the most accurate way to track my location. Yahoo’s Fire Eagle, a location brokering service, will accept inputs from any service I authorize. This is the right way to do it.

For a developer release this has several important features that deserve more discussion:

Accuracy Control – You can currently set your location to be shared at the city-level or as accurately as possible. Personally I’d like to have neighborhood added as an option. I can’t personally picture ever needing more privacy than city-level and still wanting to have Latitude on — plus you can always lie via Latitude.

Reminders – Google will remind you that you are sharing your location on a weekly or monthly basis (or never). This is an important feature as location-sharing is realtime and not something that people should leave running without being checked.

App Gallery – There is already a Latitude App Gallery. It’s populated with the two new releases. I am sure it will be filing up shortly.

This is just the first step in a Google location-sharing API and Apps. Latitude will end up in a place very similar to FireEagle, Yahoo’s location broker (Radar post). Latitude is significant not just because it comes from Google, but because of its wide reach. Google has clients available for almost every mobile platform and many browsers. People just want a service like Latitude to work and currently Google is one of the only companies that can deliver (though I am sure Facebook and MySpace are working on something internally).

Google’s Steven Lee of the Latitude team is speaking at Where 2.0 in two weeks. Use whr09rdr for 25% off registration. I am sure that there will be announcements about Latitude at either Where 2.0 or Google I/O.

Here’s what they tell developers:

Both the KML and JSON feeds support multiple users. Alter the user parameter to use a comma-separated list of user identifiers instead of a single one.

The
KML link is composed of per-user placemarks, using the user’s photo to anchor each point.

The JSON feed adheres to the
GeoJSON 1.0 specification. In addition to the point containing latitude and longitude, GeoJSON properties include the user id, accuracyInMeters, timeStamp, reverseGeocode, photoUrl, photWidth, photoHeight, placardUrl, placardWidth, placardHeight. For city-level location feeds, the latitude and longitude will be the city center, and accuracy will be 0.

Here is an example of the JSON:

{ “type”: “FeatureCollection”,

“features”: [

{ "type": "Feature",

"geometry": {"type": "Point", "coordinates": [-162.347276, 49.620973]},

“properties”: {

“id”: “<ID>”,

“accuracyInMeters”: 0,

“timeStamp”: 1239071045,

“reverseGeocode”: “Seattle, WA, USA”,

“photoUrl”: “http://www.google.com/latitude/apps/badge/api?type=photo&photo=ia3-UKFZP9VUqRTi8fZIM-Trlg.1Y4MyJarcVUp9lPVLbqUBg”,

“photoWidth”: 96,

“photoHeight”: 96,

“placardUrl”: “http://www.google.com/latitude/apps/badge/api?type=photo_placard&stale=true&lod=4&format=png”,

“placardWidth”: 56,

“placardHeight”: 59

}

}

]

}

tags: , , ,
  • http://conceptdev.blogspot.com CraigD

    Not sure if it’s me or Google?
    http://www.google.com/Latitude 404s,
    http://www.google.com/latitude works…

    I guess they’re using Unix web servers? or else it’s a problem at my end… the first ‘Latitude’ link in the post 404ed for me which is why I noticed

  • http://skydeck.com Jason Devitt

    Brady, great article, except for one point – how can Google offer Latitude on the iPhone without background processing? Without that, I have to launch an app to report my location. Push notification in 3.0 will only add the ability to nag me to launch the app.

  • http://friendfeed.com/bradyforrest brady

    @jason
    Apple’s lack of support for background location updating is very frustrating. Until Apple adds it your location would be updated whenever you accessed the Maps and/or Latitude application. This is a poor substitute for constant updating, but it is still better than no method of updating.

    I discussed my disappointment with Apple’s plan in my article Apple’s Big Location Chance, Or When Is The iPhone Going To Use That GPS? last year.

  • http://www.kirchnerx.de Busti

    The follow link does not work:

    http://www.google.com/Latitude

    Look at the top of the Blog.

  • http://johnmckerrell.com/ John McKerrell

    You can store your Google Latitude history on mapme.at, you can also use that to push it through to your Yahoo! Fire Eagle account to use with the large number of FE apps!

    @jason I imagine most people run Google Maps for Mobile in the foreground even on phones that support background processing? We at mapme.at have (foreground) iPhone support through InstaMapper and background iPhone support through a cunning hack, both of those mentioned at the bottom of this blog post

  • http://friendfeed.com/bradyforrest brady

    @Busti – Fixed, thanks. I am not used to URLs being case-sensitive.

  • http://friendfeed.com/bradyforrest brady

    @John – Thanks for the head’s up. You’ve got your own post now: That Was Fast: Mapme.at Uses Latitude API

  • http://www.cyscom.net Prem

    Hi,
    Thanks for that info.

    Do you know if there is a way for the web site to update the user’s location automatically? I see most user’s lazy about updating their position, so what would be important is for the web site to do a call into the Google and update the user’s position on the site automatically.

    Any idea if this is doable?

  • http://footprinthistory.com Rob Cleghorn

    FootprintHistory.com you can use Google Latitude to keep your facebook friends updated on your where abouts. It also does what it says on the box and keeps a history of your locations…

  • http://Joern.com/Wo Fritz Jörn

    I tried looking at my location (see http://www.Joern.com/Wo) with an Iphone: works all right. with a Blackberry: no good.
    And don’t confuse looking at someone’s whereabouts vs. the location input going to Latitude.
    Enjoy. Fritz

  • http://lahilo.free.fr Roy

    For those who wants to remember where they’ve been,
    http://lahilo.free.fr enables to keep history and can also display it in a badge.

  • andrew vzw htc adr6350

    I have a Google accout under a different email. I noticed my girlfriend always showing up in strange places. Not worried. Lol I’m not a Chester or anything lol. Anyway my friend said she’s monitering my phone. Droid incredible 2 with Verizon have Google account. In my Google Picasso profile it says I have a pic. I don’t. When I click on pic a address comes up. Google public location badge and a wired is. Is there anyone that can tell me how to prevent shareing my location? On her phone I turned on her god all 3 and went to Google maps from her phone. Turned all on. Her phone can’t locate her position even. Wired. Also her phone number with two zeros imfront of it shows up as her mobile hotspot said and another number different from her phone number. Went into programming menu and her phone number or the one I call doesn’t show up anywhere on phone menus. I have same phone. Her number I call is let’s say (555)888-6954. The number in programming menu is (509)888-0940. On my sons its (509)955-1851 and in program menu its (509)9551551. Wired.. also a lot of phone calls and texts in history to and from 0000006121. 0000099883 . 0000011111. And last in myverizon.com my accout under usage controls or whatever the phone numbers that are in program menu that are not their phone numbers are blocked? May sound crazy but my buddy looked into it and said she had somthing in her phone history about “my spy bubble account”. Please send any links info or whatever. It’s due to we were planning on getting married. It seems she isn’t keeping tabs on me because she thinks I’m up to anything its because she wants to be sure she won’t get caught. Advice to be sure would help. We have kids and I need proof to know what to do. Can’t afford much. Any ideas. My phone again is a HTC incredible 2 with sin card. Aft6350 says its Linux OS Android 2.3.3 open source HTC sense 2.1. quietly brilliant. Webkit 533.1. Please don’t erase this point me it right direction. How can I know? Live in spokane wa.