• Print

Apple's Big Location Chance, Or When Is The iPhone Going To Use That GPS?

Apple’s iPhone is being heralded for all of its location-aware apps like Whrrl and Loopt. Unfortunately location-aware apps are currently crippled. I want a setting to record my location throughout the day. I want third-party apps that I trust to be able to access it. Until then Apple is crippling these apps’ potential and not letting the iPhone live up to this Wired cover.

wired where am i

Right now the iPhone updates my location only when I go to an app that requests it. On my iPhone these include Google Maps, Loopt, Whrrl. WikiMe, and Earthscape (to name a few). For many of these apps this setup works fine; they are geobrowsers. Once the app has my location it lets me know what relevant information they can provide or how to get somewhere. Loopt and Whrrl, though they are part geobrowser, have a very different set of functionality. They want to let me know where my friends are. Right now they can’t. They can only tell me where my friends were the last time they logged in and location is information that degrades quickly.

Apple does not allow third-party apps to run background processes. If they did an app could have a “LocationGrabber” running in the background and it would update that app’s (and probably only that app’s) servers every 15 minutes (or so). The app would also be able to alert me when I wandered near a friend or if there was a Wikipedia article about a nearby statue. This would, of course, kill my battery and slow the system down (especially if I had multiple apps that wanted my location).

Instead of allowing third-party apps to run background processes Apple has promised to provide them the ability to push messages to the client. This is perfect for apps like instant messaging; it can alert me when a friend has pinged me. Or a calendar that can remind me when I have an appointment. However this system will not work for location-dependant apps. How can Loopt or Whrrl accurately let me know that a friend is nearby when it doesn’t know where I am? It only knows where I was. Apple has to check my location periodically and make that information available to trusted apps.

Why do I want this functionality? I’d like to get metrics on my daily path (How long do I spend grocery shopping vs. the gym vs. home?). I’d like to let friends know when I am near (and vice-versa). I’d like to be alerted when I am near a virtual note. In theory I’d like to at least have the option of being alerted with a location-based coupon. I want to learn about what I do, not what I think I do.

Aren’t I afraid that I’ll be tracked? Not really. By using a cellphone my location can already be determined by the government or the carriers or possibly Apple. I have decided that I am OK with sacrificing this privacy for the ability to make a call on the go. Having made this big leap already I am not concerned about the incremental step of sharing my location more broadly. I would expect that my phone and the associated apps would give me full control over my data: what hours I want to be tracked, how I want that shared, the ability to delete my data (basically I expect them to be as respectful as Fire Eagle).

The iPhone has huge mind-share with location-aware apps. I hope Apple uncripples them. Nokia isn’t going to pass up this advantage and Android certainly isn’t going to come out of the gates making the same mistake.

Image courtesy: jurvetson

tags: , ,
  • http://www.dalelarson.com Dale Larson

    They don’t have to open background processes to all apps. I’d be happy for Apple to run a process in the background to handle feeding location updates to authorized servers. This could have the advantage of letting me configure it once and use it across apps, and it avoids Apple’s concern that background apps cause performance or security problems for the device as a whole.

    I agree completely that, as a user, I want to automatically update services like Loopt, it’s just not reasonable to expect me to open an app whenever I move around.

  • http://www.samkass.com/chessclock Sam

    Apple is missing a huge, huge opportunity with MobileMe and location-aware services. Imagine this: 1. it’s part of the OS to allow opt-in always-reporting to MobileMe, 2. the reporting also includes what app is currently being run and whether that app is accepting connections, 3. Apple provides an API to 3rd party developers to access that information.

    As it is today, games can find each other either through Bonjour if you’re on wi-fi, or some custom web service otherwise (which suffers from the problems you mention). What if you could quickly and easily play games against anyone physically near you? I’m tired of seeing little one-person games on a wi-fi enabled mobile phone! But it’s really not easy to get everyone to agree to a single “players near me” standard…

    Now that’s something I might subscribe to MobileMe for!

  • Brady Forrest

    Agreed! I had not thought of Mobile Me for this service. However it would be a real shame if people had to pay extra for this service.

  • http://blogs.nitobi.com/dave/ Dave Johnson

    Brady it is completely ridiculous that Apple would not want apps to be able to run in the background and I hope that your discussion about the subject will get them moving in the right direction!

    However, in your list of competitors at the end of your post here you forget to mention the market leader in smart phones that has a very capable GPS platform. Not only that but to get an application on a Blackberry you don’t have to get your application through any app store approval process!

    Disclosure: I do not work for RIM but I am Canadian :)

  • http://donpark.org Don Park

    Thanks for the post! I have been thinking the same thing – I thought the iPhone 3g and loopt was finally going to bring continuous location to the world. I am tied into the Portland Oregon tech scene and many many people own iPhones. None of them that I know of are using a continuous location service. Apple is thinking of location and CoreLocation is brilliant – using wifi or GPS or cell towers to estimate location. I think its likely that CoreLocation is already running continuously – It just needs one more step to do an HTTP post of that location to a configurable server. Though knowing apple, it will only post to their location service.

    FireEagle is a great example of how a location broker should work. Though its a yahoo-only service. Using that as inspiration, I’ve started an open source project called IceCondor that is designed for continuous location tracking. An android background process will keep it up to date. Its not much more than an API specification at this point but watch for more updates at icecondor.com.

  • http://www.techcraver.com Jason Harris

    Excellent article – I’ve had the same thoughts regarding the iPhone and it’s weird implementation of the GPS Location data. I have an app on my Nokia N82 (the candybar version of the N95) that is called Sports Tracker…uses GPS data for workout tracking. It’s an amazing application that smartly utilized GPS data in a similar spirit of your post here.

    Oh BTW Brady – it was great to meet you at Gnomedex.

  • http://www.whydoeseverythingsuck.com Hank Williams

    Thanks for the link Brady. I look forward to meeting you tonight at ignite.

  • ronjamin

    ATT may be behind a large part of this problem.

    Internet applications apparently cannot be run at the same time as a phone call. So, things like leaving a bread-crumb trail become problematic when the trail is interspersed with phone calls.

    Second, I am not sure whether the devices particularly stellar performace would take a hit with multiple background processes. The way it works now, the processes are clean, snappy, and relatively fast. Now, with better processors and cheaper RAM, I bet we see some movement in the way of multi-tasking iPhones.

    My guess is that the iPhone is a first-iteration device. Remember the first Macintosh finder: one program at a time.

    Then came multi-finder. Then todays multi-tasking finder.

    It’s a just a matter of time. The iPhone, after-all, is nothing more than the worlds smallest practical computer.

  • http://dannyman.toldme.com/ Daniel Howard

    I have a hunch that the Android platform will allow this functionality (background applications) without anyone having to wish hopefully for Apple to do anything special.

    We’ll see.

    -danny

  • Todd

    I doubt iPhone apps will ever make effective use of the GSP – but that’s AT&T’s fault not Apple.

    AT&T see the GPS services in the same light as VoIP and we all know their stance on that ( NEVER!!!! ). So there will never be VoIp on the iPhone, noe will there be meaningful “location awareness, but you can use the Fire Eagle API right now:

    fireeagle.com

    We need to get away from locally installed apps anyway. It’s my opinion that’s the fatal flaw in the app store – just use cloud services and the iPhone browser, you don’t need a locally stored app.

  • Andy

    This post shows a surprising lack of appreciation of the technical issues involved with having always on GPS tracking.

    For a start, there’s battery life. If your GPS phone was always tracking your location, you’d be lucky to get more than a couple of hours from it on standby. You actually mention this point in your post, but I’m left confused if you were suggesting a solution to this, or merely agreeing with Apple’s reasoning for disabling background GSP updates.

    Additionally, there’s the obvious privacy issue. If background apps were allowed, and were able to constantly track your position, then the privacy concerns are blatantly obvious. You’d have to create some kind of front-end for managing background jobs (a task manager, on a phone !?). Only the tech savvy would have a hope of even understanding why they need something like this.

    I really do hope that Nokia and Android allow this kind of functionality, because it will be a perfect illustration of why it’s a very bad idea.

  • http://www.locle.com Ronan Higgins

    We love the Apple iPhone’s Location API, but they’ve really missed the point by crippling background location reporting to 3rd party web services.

    We’ve been able to mimic iPhone’s Wi-Fi and cell mast geo-positioning system on J2me, Blackberry, Windows Mobile, PalmOS, Symbian S60, UIQ and Android — but with background location “check-in”. Guess which platforms our customers are using most?

  • http://www.globalmotion.com Dan

    Our company last week submitted a tracking app to the iPhone store. We would have liked background processing, but we’re not doing nothing just because it’s not there. Photos, narrative and gps tracks will upload directly to our website http://www.everytrail.com.

    Like Dave Johnson, I acknowledge that Blackberry has a significant footprint in this space, and my own phone is a BB Curve. The environment may be better with RIM, but the current software offerings are really bad. With a lot of effort, I’m making it work, though. You can see the results here, http://everytrail.com/view_trip.php?trip_id=49747

  • Nathan West

    Look, the real problem here is that location data, and especially near-real-time location data is so enormously valuable, that both Apple and the cell carriers are insisting on a piece of the value-cake. Its not a technical issue, its a how-do-they-get-paid-for-this-franchise issue. The forces in play will eventually take this gold-mine franchise away from them entirely, but until then, they have a strangle-hold on the channel by which the data is made available…and they will use it until other alternatives threaten their model.

  • http://www.s60.com Oren Levine

    If you’re looking for an example of how a third-party location-aware app should work, check out Nokia’s SportsTracker (http://sportstracker.nokia.com) (and yes, I work for Nokia). This app tracks your location and other data about your workouts and journeys, and has an online component that lets you post your routes and data to share with others. It also runs in the background on S60 phones, so you can take photos while on the move, and upload them along with your routes. For example: http://sportstracker.nokia.com/nts/workoutdetail/index.do?id=429437

  • brady Forrest

    @Andy

    I don’t address the technical issues behind location tracking in this post. There is more than one way for the iPhone to determine your location. On an iPhone 3G there is wifi triangulation (via Skyhook), celltower triangulation and the GPS. Additionally there are sensors such as the accelerometer. All of these can be used to determine your location. The GPS is the most battery intensive and could be used as a last resort.

    I think that in most cases updating your location doesn’t have to happen more than every 15 minutes (though I don’t know as i have never had an app like this to use). But for argument’s sake let’s use that number. At the 15 minute mark the iPhone could check the accelerometer to determine if there has been much movement and the wifi networks to determine if i have moved much. If i have then fire up the gps for a couple of minutes. If i haven’t then no need to fire up the battery-hogging GPS.

    As per privacy, I believe that it is up to the users. Some will get bitten in the ass by it. Others will find great utility. It up to each individual where they find value. As i point out in my post by having a cellphone you are trackable; this feature set would just make that information valuable to you.

  • http://www.nariste.com Paul F

    Battery life is an issue for continuous location updates. If you leave ther GPS on it will run your battery down in a few hours. Even scheduling GPS updates can be battery intensive. Cell-ID or WiFi can be less battery intensive, and better for urban canyons and indoors, but the accurcy suffers.

    Nariste Networks (www.nariste.com) has a nice solution for optimising the battery-life vs. accuracy problem. It uses an adaptive algorithm to predict your likely accuracy and only cycles the GPS if it is outside your desired accuracy (also takes into account movement without need for accelerometer). The result is enough battery life for all day tracking.

    Regards Paul