" />

Google Now for iOS bug is affecting battery life for some users [Updated]


(Update: Google has made a public response to this issue, which you can find in this post.)

While I covered some of the shortcomings of Google Now in its debut version for iOS a couple of days ago, it also seems to be suffering from a bug that affects its use of Location Services. According to this thread on the Google Product Forums, the launch version of the service has a problem that causes the GPS stay on, even after the app has been closed.

If you read the thread, there is a lot of back and forth about whether Google Search and Google Now actually uses the GPS, or just WiFi and Cellular data. It seems that there is some confusion, even with people at Google, as to whether it does or not. The gentleman helping in this support thread maintains that Google Now does not use GPS, as does the official product page for Google Search in the App Store. However, a Google Inside Search support page that the App Store page links to clearly states that the GPS chip is used.



Note: You may notice the Location Services icon location services icon in your status bar after you start using Google Now. It appears because Google Search sometimes reports your location even when you’re not actively using the app. Google Now uses these reports to give you traffic alerts and other updates. Along with Location Services, Google Now uses Location Reporting to get precise location information. Since Location Reporting has been optimized to use GPS as infrequently as possible, there should be minimal impact on your battery life.

This is odd for a couple of reasons. First of all, the confusion and conflicting information coming from Google about this seems strange. This is a high-profile software release that has gotten a lot of coverage in the tech press. I just find it interesting that they don’t have their ducks all in a row. However, whatever the app is supposed to be using and when, it is clear from the reported battery drain problems that the Google Search app is activating the iPhone’s GPS chip. That function drains its battery faster than any other.

The second strange thing about Google Now’s Location Services issue has to do with implementation. If it is Google’s intent to use the iPhone GPS chip for position information (which I personally believe it should), there are far more efficient ways to do it. Apple made geofencing functionality available in iOS 5, and it has become a popular feature in several apps over the last two years. From location-based notifications in the stock Reminders app, to automatic refreshing of content in apps like Instapaper and iCatcher, geofencing is well known to iOS developers and users alike.

Whenever an app uses geofencing, the device has to keep the GPS engaged. However, Apple handles this request differently in iOS in an attempt to mitigate the impact of the feature on battery life. This presence of a current geofencing call is indicated by the outline of the familiar iOS Location Services arrow icon.


As you can see above, when Google now activates the GPS and leaves it running, the filled in version of the Location Services arrow appears, and remains on the screen even after the Google Search app is shut down.


This is odd behavior, because even an iOS turn-by-turn GPS app will release its call to Location Services and the GPS when it is shut down in the fast app switcher. As you can see in the last picture above, the call to Location Services remains, even after the app is closed.


And here you can see that the Location Services call disappears once Google Search’s toggle is flipped.










google-now-ios-disabledUnfortunately, once you do this, Google Now is completely disabled within the Google Search app. Turning this toggle off disables not only GPS, but also WiFi and Cellular position reporting.









Google’s current recommendation is to use the Location Reporting toggle switch, located in the Google Search app’s settings, under the Privacy section.


Using this setting allows you to leave iOS’ Location Services on for the app, which Google Now’s functionality depends on. Whether this toggle turns off the app’s use of GPS, or just disables its use when the app is in the background or turned off is unclear, so far. However, as you can see in the screenshot above, the Location Services icon does disappear after turning Location Reporting off, so this seems to be a temporary fix.

Whatever the story is behind this bug in Google Now, I’m sure the iOS team at Google is hard at work on a fix. They suffered through a lot of bad reviews and customer discontent with its early iOS software, such as its first version of Gmail. They have shaken that reputation off, for the most part, and I’m sure they have no desire to take a PR hit on such a high profile release. We’ll go hands on with the updated version of Google Search whenever a bug fix is released. I’m sure it won’t be too long.

Are you having issues with Google Now for iOS? Is it working fine for you? I would love to hear about it, either way. Feel free to let me know in the comments below, on Twitter @jhrogersii, or on Google+.


Continue reading:

TAGS: , , , ,

  • I was having the same issue with Google Now. I disabled Location Services in Privacy settings for this app. It was draining my battery very quickly.

  • James Rogers

    Thanks for letting us know, Emil. I know a couple of others mentioned the same issue in my first post about Google Now for iOS. That’s why I dug around and found that there is evidence of a problem with the app, and wrote up this post.

  • Thanks James. Please keep us posted.

  • It does concern me that my notification bar continually shows that location services are enabled since I installed the Google Now update, but I have noticed no extreme drop in battery life performance. Still hope Google can sort this out to allow us to change certain location options.

    • James Rogers

      If you notice a drop, just disable the Location Reporting in the app’s settings. Google Now will still work then, it just won’t keep the GPS on in the background.

  • iOS developer here. The reason for the solid arrow is that Google Now is using significant location change monitoring. Only geofencing shows the hollow arrow. But, geofencing is for detecting arrival and departure from specific per-defined locations. Furthermore, apps are limited to approximately 10-20 geofence areas, and that’s from a shared pool. So if you have a lot of apps using fences, iOS will start dropping some fences. This is because fences are stored in firmware; Apple has dedicated hardware for this function in order to minimize battery drain. An app like Google needs to know where you are all the time. It isn’t looking for specific locations and it won’t work well if iOS flushes its fences. This precludes “abiding” fencing by registering tons of fences. If an app is holding a GPS active, the GPS will go inactive when you force quit the app. However, the arrow will remain even if you kill the app IF the app is using significant location monitoring. This is because apps registered for that monitoring will be background-launched when location changes. They are given a few seconds to perform whatever activity and then terminated by iOS again as needed. Thus, the arrow remains because the user needs to be aware that this app will still know their location if they force-quit it, due to that background launching by iOS. The arrow will not remain like that if the app is only using the GPS chip. However if the app is using both GPS chip and significant location, it is a little harder to know since the same arrow is displayed. iOS will terminate the GPS chip when you force-quit the app, though, and any lingering arrow is due to significant location monitoring. That said, it’s possible that the Google app will re-enable the GPS chip each time iOS background launches it due to a significant location change. In that case, the app would cause a bit more battery drain since it will run the GPS for some time periodically, even if you force-quit it. It would be helpful if iOS would further distinguish their arrow. Or, like I suggested via Radar bug tracker, they could simply use the hollow arrow for fencing AND significant location changes (cell tower and wifi). But, currently they are sharing the filled arrow and that leads to this ambiguity. Hope that helps!

    • “Pre-defined” and “abusing” not abiding. Stupid broken JavaScript won’t let me edit those typos out…

    • James Rogers

      Wow, Carlos. Thanks so much for the inside scoop on this issue. I actually wasn’t aware that you could have persistent location tracking for an app, outside of geofencing.

      Now that you have explained the limitations of geofencing, I have a question for you. Would it be possible for Google to use it for time and directions for Home and Work? Google Now predefines those two locations for traffic and travel time reminders. Couldn’t they use geofences where you are at these locations to minimize battery drain, and then switch to persistent monitoring outside the fences.

      Thank you again for sharing all this information.

    • James Rogers

      One more question, if you don’t mind. As a developer, would you term the problem that Google Search and Google Now is creating as a bug, or just as a poor implementation of a feature? In other words, did Google intend for the app to work this way, but just not quite pull it off? Judging by the battery hits some users are reporting, the app has to be re-engaging the GPS in the background. Just curious.

      Thanks again for all the details.

  • James Rogers

    FYI, Google has responded to reports of battery drain issues caused by Google Now. I have written a follow-up post on it here on the site.