iPhone and Google Maps

I’ve gotten quite a bit more feedback than I anticipated about my prior post about Google Maps and the iPhone. Who would’ve thought that not being able to mash up live GPS data, maps, and one or more external files of geographic data in a generic, consumer-driven way would be such a stir?

Since then, I’ve made some progress on this rant.

  • LocWidget: this handy iPhone app allows you to send Latitude, Longitude, and Altitude measurements as query parameters to a website of your choosing. It also takes it a step further, sending the phone’s unique id. (Great for those dispatch apps we are barred from creating.) The great part: it gets the data to a website in a way that any site developer can consume. The bad part: you gotta keep launching the app to get anything done.

  • Alocola: this is another handy iPhone app that registers the url prefix “alcola://” in iPhone’s Safari. The great part: now the site can request the location, the user is prompted to agree, and the GPS data is passed to the url as query string parameters. In theory, this url could be triggered by a JavaScript timer. The bad part: the user has to click ok every time, and it closed and reopened safari as it sped through the app. I’m not positive, but I’d think it would open a new browser window on each run. In short order, if called periodically from a web app, you’d max out the 6 safari tabs. And not to mention you’re reloading the page on each round trip through GPS land. The author has made the source available under GPL2 license, so in theory one could cache the “yes, do this” the way other apps do, register a more natural prefix (like gps://), and other nicities.

These are both great steps forward, but don’t fundamentally solve the problem at hand. What I want is:

  1. Per domain permanent acceptance to use location services like I can per app now

  2. Live GPS data and external KML can mix in a central, standard place, without changing applications

I see this could get solved easily in one of two ways. Either

  • Provide a field in the Google Maps app for “url of a KML file” (or maybe access to Google’s “My Maps”)

Or

  • Provide a JavaScript function in Safari to get location data I realize the GPS Browser functionality is to come with HTML 5. Will HTML 5 become spec before or after 802.11n gets ratified?

Yeah, I know, dream on. Flash isn’t coming to the iPhone in this millennia. Neither is copy & paste. Or even a system-wide “switch to landscape” keyboard for those of us with hands bigger than my kindergartner. Next I’ll dream of having Mono or Silverlight on the iPhone. Or wilder still, it prompts me to allow location services on each request, but there’s no firewall to block a game from uploading my high score, date & time, and possibly my phone number or phone guid to it’s service on every game-over. (“I’m really thrilled I just got a high score, but I don’t need to publish to all the world my phone data so you can bombard me with even more targeted ads while I play, thank you very much.”)

But if you’re watching, Steve, and if it isn’t too much to ask, can you give me the ability to do real time GPS / KML mashups? Either in the Google Maps iPhone app or in Safari is fine. And I’ll forget I even mentioned those silly terms like “Flash” or “.NET” or “copy & paste”.

Rob