A blog by runners. For runners.

Great battery life but terrible GPS tracking!

background-app-refresh

We pride ourselves as having the most accurate GPS in the app store but with the introduction of iOS 7 a subtle change to the settings of your iPhone may be foiling our efforts!

Background App refresh
When Apple released iOS 7 they added a setting called background app refresh designed to keep apps up to date throughout the day so that when you open them, they have the latest content instead of you having to wait for them to update.  It’s a great idea but as some articles you’ll find online point out, it can drain your battery and it’s one of the first things they helpfully instruct you to turn off.

Great battery life, but…
Trouble is, when you turn off background app refresh (or if it’s turned off), WalkJogRun can only get GPS signals as long as you don’t do anything else.

If you open another app after starting the GPS (with background app refresh turned off) and your phone goes to sleep we won’t be able to get any GPS signals and you’ll see a straight line between the location when you opened another app and when you came back into WalkJogRun.  This is telling you that we didn’t get any of the points in between and we can’t recover those unrecorded points.

Why didn’t you tell me this before?
I know, we should have caught this ourselves but since I (Adam) don’t run with music I could never reproduce the issue when people told me the app crashed or didn’t log their distance correctly.  I ran over 300 miles since June with the app running just fine on my phone because I only ever started the app and then left it to go to sleep on my arm as I plodded along, even running the Marine Corps Marathon and tracking every mile perfectly.

Okay, so what’s the fix?
There are two ways you can solve this problem.
1. Keep background app refresh turned off. If you want to listen to music as you run, start the music before the GPS and be sure not to open any other apps during your run or re-open the music app to change the song because it will put us in the background and you’ll stop tracking. If you do open an app during a run for whatever reason, be sure to re-open WalkJogRun when you’ve done what you’re doing to bring WalkJogRun back into the foreground and we’ll start tracking again.  Not a great solution but it will work.
2. Turn on background app refresh but then turn it off in the per-app preferences for any apps you don’t use for GPS or for apps you don’t use any more, making sure to set WalkJogRun to the ON position.  WalkJogRun only uses background mode for GPS data when you’re running so if you’re not running, background app refresh should have negligible, if any, impact on battery life.  Now, when you run with our app and want to go to your music or anything else while running, you can be sure you’ll still get the pace notifications and we’ll be tracking every mile with hundreds of GPS data points!  This is the recommended solution for this problem.

How do I turn it on?

  1. Open to the Settings app on your phone
  2. Click on General
  3. Click on Background App Refresh
  4. Make sure the “global” background app refresh switch at the top of the list is set to on (typically turns green with the switch to the right).
  5. Scroll through the list of the apps and turn off any apps you don’t use any more or don’t need updated regularly with the latest content.
  6. Find WalkJogRun and turn it on

If you get stuck, please don’t hesitate to ask for help – this is a really important thing that directly impacts our ability to track you to within 1/100th of a mile for every mile you run so we want you to have the best experience!