Advertise on Bikeforums.net



User Tag List

Results 1 to 14 of 14
  1. #1
    Senior Member chrisch's Avatar
    Join Date
    Feb 2006
    Location
    Rotkreuz, Switzerland
    My Bikes
    Trek 520, Gary Fisher Big Sur
    Posts
    247
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thoughts on a tracking app for iPhone

    Now and then a forum question is posted about iPhone tracking apps for bike touring. You know the deal: You want an online map to be updated with your location so friends and family back home can follow your progress.

    For this type of thing I wrote an app called TrackMyTour. The app lets you update an online map as described above, but you must do it actively. In other words, you must manually add points whenever you want to highlight a location. This works well and keeps battery consumption at a minimum since the app isn't constantly monitoring your location. However, some people would like to do their tracking in a passive way (i.e., without manually entering anything).

    Most passive trackers I've seen double as a cycle computer that monitors your speed, altitude, location, calories, and bunch of other things. They work in the background, but also consume a lot of battery since the app is constantly monitoring your location. This is great for short trips but impractical for bike touring.

    In iOS 4.0 Apple introduced a feature for tracking "significant location changes" with the promise of consuming less power at the cost of accuracy. As far as I understand, this feature does not use satellite GPS and only generates updates whenever the phone switches from one cell tower to another (which is something your phone is doing anyway). For this reason it allows tracking with very little battery consumption. It also promises updates every ~500m, which is reasonable for touring.

    Where am I going with this? I'm wondering if a tracking app that takes advantage of this feature would interest the bike touring community. Or does anyone know if such a tracking application already exists? The app would likely upload your movements (at a configureable frequency) to a server, where friends and family can follow along, or you can embed the data into your blog or website.

    Anyway, if you have any thoughts or comments I'd like to hear it. Thanks.
    TrackMyTour.com - An iPhone app for Bike Touring! See who's touring now and where.

  2. #2
    Senior Member chriskmurray's Avatar
    Join Date
    Aug 2012
    Location
    Colorado Springs
    My Bikes
    Borealis Echo, Ground Up Designs Ti Cross bike, Xtracycle, GT mod trials bike, pixie race machine
    Posts
    928
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    There is this site that does a great job with a number of ultra races. http://www.trackleaders.com/

  3. #3
    Senior Member Rob_E's Avatar
    Join Date
    Jan 2008
    Location
    Raleigh, NC
    My Bikes
    Surly Longhaul Trucker, Dahon Boardwalk, Raleigh 20
    Posts
    1,530
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    From your description it sounds like the downside to your solution would be that it requires access to cell towers. I find that when I'm in rural areas, cell coverage can be a little spotty. In fact, if I notice that I'm getting poor coverage, or have reason to believe that I will, I've been known to power down my phone to save the battery power that gets wasted searching for a signal.

    My solution to map tracking has been to use my iPad to track my route, but I don't share it passively. In fact, I turn off any cellular data, wifi, and bluetooth to conserve battery and rely entirely on the GPS chip. This turns out to be pretty easy on the battery. It can sit in my pannier all day tracking my route (using MotionX GPS) and still have plenty of juice to spare at the end of the day.

    Unfortunately, I don't think this can be replicated with an iPhone. I think the iPhone has only one setting with disables cellular and GPS at once (maybe I'm wrong about that, so someone should correct me). On my phone, the biggest battery drain when I'm not actively using it seems to come from trying to find a signal where there is none, so while your idea sounds great for good coverage areas, it seems like there'd need to be a way to fall back on GPS for those other times.

    And as for multi-function, route-tracking, cyclo-computer apps, I know that the location tracking is a battery drain, but in my experience, the biggest drain for any app is using the display. It might be worthwhile to do some battery tests using GPS tracking, but in a power-saving mode that keeps the screen off and maybe pings the GPS satellites at set intervals instead of constantly. It's hard to judge since the iPad battery is already longer lasting, but I find that GPS alone doesn't use that much power if all you want to do is save the location.

  4. #4
    Bike touring webrarian
    Join Date
    Sep 2005
    Location
    San Francisco, CA
    My Bikes
    I tour on a Waterford Adventurecycle. It is a fabulous touring bike.
    Posts
    1,581
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You and I have talked about this before. Why can't you add a feature that wakes up every so often, say every 10 minutes, does a GPS check, stores it for download later, and then goes back to sleep. If the every 10 minutes is too often, then the user can make it longer.
    Visit the on-line Bike Touring Archive at www.biketouringtips.com

  5. #5
    Senior Member chrisch's Avatar
    Join Date
    Feb 2006
    Location
    Rotkreuz, Switzerland
    My Bikes
    Trek 520, Gary Fisher Big Sur
    Posts
    247
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Rob_E View Post
    From your description it sounds like the downside to your solution would be that it requires access to cell towers. I find that when I'm in rural areas, cell coverage can be a little spotty. In fact, if I notice that I'm getting poor coverage, or have reason to believe that I will, I've been known to power down my phone to save the battery power that gets wasted searching for a signal.
    This is true, but you wouldn't need constant coverage for this to work. Even if you go through an area without coverage the logger will simply continue once it's back online. Of course, turning off your phone would disable the tracker.

    Quote Originally Posted by Rob_E View Post
    My solution to map tracking has been to use my iPad to track my route, but I don't share it passively. In fact, I turn off any cellular data, wifi, and bluetooth to conserve battery and rely entirely on the GPS chip. This turns out to be pretty easy on the battery. It can sit in my pannier all day tracking my route (using MotionX GPS) and still have plenty of juice to spare at the end of the day.

    Unfortunately, I don't think this can be replicated with an iPhone. I think the iPhone has only one setting with disables cellular and GPS at once (maybe I'm wrong about that, so someone should correct me). On my phone, the biggest battery drain when I'm not actively using it seems to come from trying to find a signal where there is none, so while your idea sounds great for good coverage areas, it seems like there'd need to be a way to fall back on GPS for those other times.
    I think the same could be done with the iPhone since it's possible to disable data, wifi, and bluetooth. How accurate does MotionX record your track? Is it configurable?

    Quote Originally Posted by Rob_E View Post
    And as for multi-function, route-tracking, cyclo-computer apps, I know that the location tracking is a battery drain, but in my experience, the biggest drain for any app is using the display. It might be worthwhile to do some battery tests using GPS tracking, but in a power-saving mode that keeps the screen off and maybe pings the GPS satellites at set intervals instead of constantly. It's hard to judge since the iPad battery is already longer lasting, but I find that GPS alone doesn't use that much power if all you want to do is save the location.
    My thinking with this tracker is to enable and forget. The battery consumption would be close to nothing since it's relying on what the cell phone is doing anyway: tracking cell towers. As you mentioned before, the reliability of this tracker would depend on having cell phone coverage. However, it would give a rough track of the route traveled, which might suffice for the distances covered by bike touring (even if, say, you only had 1 or 2 updates per day). I wouldn't use it for hiking.

    Thanks for your response!
    TrackMyTour.com - An iPhone app for Bike Touring! See who's touring now and where.

  6. #6
    Senior Member Rob_E's Avatar
    Join Date
    Jan 2008
    Location
    Raleigh, NC
    My Bikes
    Surly Longhaul Trucker, Dahon Boardwalk, Raleigh 20
    Posts
    1,530
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by chrisch View Post
    I think the same could be done with the iPhone since it's possible to disable data, wifi, and bluetooth. How accurate does MotionX record your track? Is it configurable?
    Is the accuracy configurable? I'm not certain. It makes a fairly precise map of your route. I can certainly always tell which road I traveled down. And often which gas station I stopped at for a snack.

    You're probably correct that you could disable most of the data protocols on an iPhone to save battery life. I would like to see battery use tests that compared the cell tower method with GPS, though. Especially in areas with weak or no signal. I guess, because we're talking iPhone, there's no real way around that (except maybe pulling the sim card), so either you have access to cell towers and can use that data, or you don't have access, and you can power down. I just find that full time GPS use seems to draw less power than searching for cell signals in a dead zone. So in a situation where both are available, cell tower data may consume less batteries, but in poor coverage, using GPS only might save battery life if you could get the phone to stop constantly looking for a signal. That's where the iPad works well for me: when I turn off cellular data, I turn off all communication or attempted communication with cell towers. Power lost from GPS usage then remains fairly small. An app that made the same thing possible on the iPhone would be welcome. An app that did the opposite, favouring cell coverage over GPS, could also be nice, but would probably see less use for me since every trip seems to take me out of coverage zones at least for a little while.

    What would really be nice is if there was a way to disable the cell chip on the fly, and an app could use cell data when available, but then turn the chip off for 15 to 30 minutes or so when no cell towers are found and switch on the GPS in that situation. But as far as I know, the cellular chip is either active, or the phone is in "airplane mode" which also disables the GPS.

  7. #7
    Senior Member chrisch's Avatar
    Join Date
    Feb 2006
    Location
    Rotkreuz, Switzerland
    My Bikes
    Trek 520, Gary Fisher Big Sur
    Posts
    247
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Ray,

    The standard location services in iOS (like in the Maps app) uses a lot more power than this low-power & less-accurate mode I described. According to their documentation:

    Use the significant-change location service instead of the standard location service whenever possible. The significant-change location service provides significant power savings while still allowing you to leave location services running. This is highly recommended for apps that need to track changes in the userís location but do not need the higher precision offered by the standard location services.
    That's the motivation here. The great thing is that you can leave it on for the duration of your tour and forget about it. If you're not moving (e.g., camped somewhere) then nothing happens: The phone detects no new towers and no location change events are generated.

    Quote Originally Posted by raybo View Post
    You and I have talked about this before. Why can't you add a feature that wakes up every so often, say every 10 minutes, does a GPS check, stores it for download later, and then goes back to sleep. If the every 10 minutes is too often, then the user can make it longer.
    TrackMyTour.com - An iPhone app for Bike Touring! See who's touring now and where.

  8. #8
    Bike touring webrarian
    Join Date
    Sep 2005
    Location
    San Francisco, CA
    My Bikes
    I tour on a Waterford Adventurecycle. It is a fabulous touring bike.
    Posts
    1,581
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    When you say it uses "a lot more power" are we talking running the battery down in an hour, a few hours, by the end of the day?

    Given how I choose to tour, I usually have access to power once a day (at night, on most occasions). If the higher power option meant I'd be out of power at the end of every day, then I wouldn't care. If it runs the phone down in a hour, then I'm not interested.

    By the way, when I am riding through remote areas, I do what those above said, which is to turn off the cellphone as searching for signal also runs down the battery (as does leaving the Wi-Fi setting on).

    So, if your less power option requires keeping the cellphone on, I'm not so sure it is the "lower power" answer.

    Why not offer both?
    Visit the on-line Bike Touring Archive at www.biketouringtips.com

  9. #9
    Senior Member Rob_E's Avatar
    Join Date
    Jan 2008
    Location
    Raleigh, NC
    My Bikes
    Surly Longhaul Trucker, Dahon Boardwalk, Raleigh 20
    Posts
    1,530
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by raybo View Post
    Why not offer both?
    AFAIK, on the iPhone at least, there's no option to have it stop using cellular and still have it use GPS. You have to turn it off entirely or put it in "airplane mode" which also deactivates the GPS. So having any kind of tracking on when you're out of area is going to drain the battery. Not necessarily because the GPS is a battery hog, but because searching for a signal is a battery hog.

  10. #10
    Senior Member
    Join Date
    Apr 2008
    My Bikes
    Cervelo RS, Specialized Stumpjumper FSR Pro, Schwinn Typhoon, Nashbar touring, custom steel MTB
    Posts
    5,172
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by raybo View Post
    You and I have talked about this before. Why can't you add a feature that wakes up every so often, say every 10 minutes, does a GPS check, stores it for download later, and then goes back to sleep. If the every 10 minutes is too often, then the user can make it longer.
    Apple's APIs pretty much make this impossible... They don't want to allow random code to run periodically in the background for fear that some misbehaving app will drain the battery and the user won't be able to figure out which one it is. In addition, this method would require firing up the GPS chip in full-power mode to obtain a position fix. Not as power-intensive as running the chip continuously, but it does use more juice than alternate methods.

    chrisch: you may want to consider using the new "geofencing" APIs on CLLocationManager. Specifically: startMonitoringForRegion:desiredAccuracy: or startMonitoringForRegion:. The idea would be to setup a geofence around the user's current location with a radius of, say, 5 miles. When the user goes outside that radius your app delegate gets a notification (via locationManager:didExitRegion:) and you could then record their new position and setup a new geofence around their present position.

    Using this technique would allow you to "drop pins" at regular intervals along their route. You could make the size of the geofence configurable: on a local ride you might want pins every mile or two while on a cross-country trip you could get by with 10- or 20-mile intervals.

  11. #11
    Senior Member Rob_E's Avatar
    Join Date
    Jan 2008
    Location
    Raleigh, NC
    My Bikes
    Surly Longhaul Trucker, Dahon Boardwalk, Raleigh 20
    Posts
    1,530
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by sstorkel View Post
    chrisch: you may want to consider using the new "geofencing" APIs on CLLocationManager. Specifically: startMonitoringForRegion:desiredAccuracy: or startMonitoringForRegion:. The idea would be to setup a geofence around the user's current location with a radius of, say, 5 miles. When the user goes outside that radius your app delegate gets a notification (via locationManager:didExitRegion:) and you could then record their new position and setup a new geofence around their present position.
    Wouldn't that be just as battery intensive? In order for the phone react to a change in location, it has to constantly monitor your location. I seem to remember battery longevity issues reported with people using geofencing on Apple's reminders app, but maybe I'm remembering that wrong.

  12. #12
    Senior Member
    Join Date
    Apr 2008
    My Bikes
    Cervelo RS, Specialized Stumpjumper FSR Pro, Schwinn Typhoon, Nashbar touring, custom steel MTB
    Posts
    5,172
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Rob_E View Post
    Wouldn't that be just as battery intensive? In order for the phone react to a change in location, it has to constantly monitor your location. I seem to remember battery longevity issues reported with people using geofencing on Apple's reminders app, but maybe I'm remembering that wrong.
    Dunno; I haven't actually tried using it yet which is why I said "may want to consider using". Still, it's likely the only thing that works reliably. As previously noted, significant position change notifications rely on cell towers (and perhaps WiFi?) and so might not work reliably in many situations: deep canyons, very remote locations, etc.

    I would hope that geofencing is reasonably efficient, though I'd certainly want to test it to make sure before I released an app. I'm sure the Smart Guys at Apple would have thought of all the same power-saving optimizations I've thought of in the last 5 minutes: piggyback geofencing on significant position changes if they're available, if significant position changes aren't reliable use location/speed/heading to determine how often to check GPS, etc. If there's a geofence around New York City, for example, and the device is currently in Los Angeles traveling at 10mph and headed south then you don't need to check GPS very often to see if you've hit the geofence. This sort of optimization doesn't work if you have lots of overlapping geofences near your current position, which is where something like the Reminders app could run into trouble.

  13. #13
    Newbie
    Join Date
    Nov 2012
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thought I might pitch in with my experience about the iPhone and battery usage on a tour.

    I used Track My Tour on my Trans America ride earlier this year, it was great but remembering to save my waypoint each time I stopped was a bit of a pain, but I got used to it by the time I made it to Kansas.

    I used my iPhone as my primary GPS, phone, camera (but not my basic cyclocomputer to tell me current speed) and I had my iPhone in a bag on my top tube. The GPS app I used was iSmoothRun and had it going in the background every metre of the trip and I'd upload the ride details to Runkeeper everytime I had WiFi. When I stopped to take a photo, have a drink or find a bit of shade I'd try to remember to add my waypoint, but I often found that I did forget and I'd stop again just to add the waypoint in the app.

    I found I could recharge the iPhone battery every night somewhere and in the entire tour I found that my battery dropped below 50% only on a few occasions, once when I did a 10hr 124 mile day from Rawlins, WY to Lander, WY but not too often. My rides averaged about 6-8hrs per day in the saddle. I did have a Morphie Juice Pack Plus on my phone, never needed to use it, but was happy that it was there.

    It would be a great addition to the app to add automatic waypoints, stored locally on the phone and then uploaded when back in cell or WiFi coverage. If someone is touring with an iPhone then battery is a consideration, personally I found that additional items like the juice pack don't weigh much compared to adding other devices to do the job.

    Having said all that, mine was a tour across the usa with easy access to charge my phone, if it was a more isolated tour, would I have done it differently, yes, would I still use the iPhone with battery backup, probably yes and I'd also add a solar battery charger.

  14. #14
    Senior Member chrisch's Avatar
    Join Date
    Feb 2006
    Location
    Rotkreuz, Switzerland
    My Bikes
    Trek 520, Gary Fisher Big Sur
    Posts
    247
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by sstorkel View Post
    Apple's APIs pretty much make this impossible... They don't want to allow random code to run periodically in the background for fear that some misbehaving app will drain the battery and the user won't be able to figure out which one it is. In addition, this method would require firing up the GPS chip in full-power mode to obtain a position fix. Not as power-intensive as running the chip continuously, but it does use more juice than alternate methods.

    chrisch: you may want to consider using the new "geofencing" APIs on CLLocationManager. Specifically: startMonitoringForRegion:desiredAccuracy: or startMonitoringForRegion:. The idea would be to setup a geofence around the user's current location with a radius of, say, 5 miles. When the user goes outside that radius your app delegate gets a notification (via locationManager:didExitRegion:) and you could then record their new position and setup a new geofence around their present position.

    Using this technique would allow you to "drop pins" at regular intervals along their route. You could make the size of the geofence configurable: on a local ride you might want pins every mile or two while on a cross-country trip you could get by with 10- or 20-mile intervals.
    Thanks for your comments. I believe you're right that it's not possible to run arbitrary code in the background on an iOS device. You can only "subscribe" to updates from given services like position updates. However, you do have control of how often you'd like that update to occur.

    The geofencing approach might be an idea, but I wonder how much location polling the OS must do to accurately detect such position changes. I guess it's something that just needs to be tested.

    I also appreciate that the iPhone will consume power when detecing a cell tower signal, which may make the significant update approach I originally described useless. This would also have to be tested, but isn't something I can test where I live. Perhaps a hybrid approach is required: Use the significant updates approach when available, but also have a "drop pin" button that uses the standard Location Services (i.e., satellite) to add a point.
    TrackMyTour.com - An iPhone app for Bike Touring! See who's touring now and where.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •