Cycling and bicycle discussion forums. 
   Click here to join our community Log in to access your Control Panel  


Go Back   > >

Touring Have a dream to ride a bike across your state, across the country, or around the world? Self-contained or fully supported? Trade ideas, adventures, and more in our bicycle touring forum.

User Tag List

Reply
 
Thread Tools Search this Thread
Old 11-06-12, 08:30 AM   #1
chrisch
Senior Member
Thread Starter
 
chrisch's Avatar
 
Join Date: Feb 2006
Location: Rotkreuz, Switzerland
Bikes: Trek 520, Gary Fisher Big Sur
Posts: 248
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(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.
chrisch is offline   Reply With Quote
Old 11-06-12, 09:15 AM   #2
chriskmurray
Senior Member
 
chriskmurray's Avatar
 
Join Date: Aug 2012
Location: Colorado Springs
Bikes: Borealis Echo, Ground Up Designs Ti Cross bike, Xtracycle, GT mod trials bike, pixie race machine
Posts: 1,121
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
There is this site that does a great job with a number of ultra races. http://www.trackleaders.com/
chriskmurray is offline   Reply With Quote
Old 11-06-12, 11:01 AM   #3
Rob_E
Senior Member
 
Rob_E's Avatar
 
Join Date: Jan 2008
Location: Raleigh, NC
Bikes: Surly World Troller, Downtube 8H
Posts: 1,977
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 26 Post(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.
Rob_E is offline   Reply With Quote
Old 11-06-12, 11:33 AM   #4
raybo
Bike touring webrarian
 
Join Date: Sep 2005
Location: San Francisco, CA
Bikes: I tour on a Waterford Adventurecycle. It is a fabulous touring bike.
Posts: 1,761
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(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.
raybo is offline   Reply With Quote
Old 11-06-12, 11:49 AM   #5
chrisch
Senior Member
Thread Starter
 
chrisch's Avatar
 
Join Date: Feb 2006
Location: Rotkreuz, Switzerland
Bikes: Trek 520, Gary Fisher Big Sur
Posts: 248
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(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!
chrisch is offline   Reply With Quote
Old 11-06-12, 12:23 PM   #6
Rob_E
Senior Member
 
Rob_E's Avatar
 
Join Date: Jan 2008
Location: Raleigh, NC
Bikes: Surly World Troller, Downtube 8H
Posts: 1,977
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 26 Post(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.
Rob_E is offline   Reply With Quote
Old 11-06-12, 12:59 PM   #7
chrisch
Senior Member
Thread Starter
 
chrisch's Avatar
 
Join Date: Feb 2006
Location: Rotkreuz, Switzerland
Bikes: Trek 520, Gary Fisher Big Sur
Posts: 248
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(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:

Quote:
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.
chrisch is offline   Reply With Quote
Old 11-06-12, 02:18 PM   #8
raybo
Bike touring webrarian
 
Join Date: Sep 2005
Location: San Francisco, CA
Bikes: I tour on a Waterford Adventurecycle. It is a fabulous touring bike.
Posts: 1,761
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(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?
raybo is offline   Reply With Quote
Old 11-06-12, 03:04 PM   #9
Rob_E
Senior Member
 
Rob_E's Avatar
 
Join Date: Jan 2008
Location: Raleigh, NC
Bikes: Surly World Troller, Downtube 8H
Posts: 1,977
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 26 Post(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.
Rob_E is offline   Reply With Quote
Old 11-06-12, 08:26 PM   #10
sstorkel
Senior Member
 
Join Date: Apr 2008
Bikes: Cervelo RS, Specialized Stumpjumper FSR Pro, Schwinn Typhoon, Nashbar touring, custom steel MTB
Posts: 5,427
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 5 Post(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.
sstorkel is offline   Reply With Quote
Old 11-07-12, 08:27 AM   #11
Rob_E
Senior Member
 
Rob_E's Avatar
 
Join Date: Jan 2008
Location: Raleigh, NC
Bikes: Surly World Troller, Downtube 8H
Posts: 1,977
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 26 Post(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.
Rob_E is offline   Reply With Quote
Old 11-07-12, 10:15 AM   #12
sstorkel
Senior Member
 
Join Date: Apr 2008
Bikes: Cervelo RS, Specialized Stumpjumper FSR Pro, Schwinn Typhoon, Nashbar touring, custom steel MTB
Posts: 5,427
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 5 Post(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.
sstorkel is offline   Reply With Quote
Old 11-08-12, 11:48 PM   #13
moebius8
Newbie
 
Join Date: Nov 2012
Bikes:
Posts: 1
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(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.
moebius8 is offline   Reply With Quote
Old 11-14-12, 04:40 AM   #14
chrisch
Senior Member
Thread Starter
 
chrisch's Avatar
 
Join Date: Feb 2006
Location: Rotkreuz, Switzerland
Bikes: Trek 520, Gary Fisher Big Sur
Posts: 248
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(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.
chrisch is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -6. The time now is 04:27 AM.