Location data vs battery - If already sharing location with another app, does adding Wyze location permission make a significant difference?

General Nerdy tech question here, but I can’t seem to find a clear answer online anywhere.

It’s well known that enabling location sharing permissions on the OS drains battery more than having the location feature turned off by the OS. Presumably, it uses up extra hardware (radio equipment?) to connect to get GPS data in an ongoing manner, uses the processor more, writing to storage sometimes, apps updating the data to their server/the cloud constantly, etc.

So my question is, if you are already using location/GPS sharing, say, to have Google Maps track your location so your family members always know each other’s location, then it’s already polling that location data constantly, right?

So if you are already using location data, does it really make a difference to the battery if you allow MORE apps access to the same location data? For example, if a person already tracking everywhere they go with Google Maps shared location and Timeline features now allows the Wyze app to track their location for rules and automations (or other apps as well, say give Microsoft Family Safety App access to location data, or Snapchat or any other number of apps that track location), it seems that adding the Wyze App and a few others shouldn’t make a significant impact to the battery since location is already being polled constantly by another app anyway.

The location-specific hardware is already turned on and being used, and logically that same polled data is not being polled MORE with more apps, the OS should only need to get that data once and then just share the SAME data to multiple sources, so the battery use differences seems that it should be negligible in the case of adding Wyze and other apps to location permissions (which were already being polled constantly), right? I mean, granted it will use a little battery from allowing Wyze or any other added apps to use the processor intermittently, and some data to update their server intermittently, but presumably this impact is negligible in comparison with location being on in the first place.

So a person who first has location features turned off through the OS decides to turn them on just for Wyze to use it, will notice a dramatic difference on their battery. But someone who already has another app constantly polling their location anyway, then also gives Wyze permission to use it, would not notice much of a difference at all. Is that correct? It seems this would explain why some people seem to report a noticeable battery impact and others seem not to notice much difference at all. Is this why?

Summary:

  • So, 1 app using location is a big impact/difference compared to having it turned off
  • But 2 or 3 or more seems like it should be a negligible difference compared to just 1 (shouldn’t make a huge difference to allow more if you’re already constantly polling location with another app anyway).

Can anyone confirm if the above is accurate, and if not, can you elaborate and explain why?

4 Likes

Now this is a head scratcher. I believe that if not implemented properly an app could negatively impact the battery when location is turned on regardless of other apps using it. Normally, the GPS would provide the info to the apps in more of a Push Technology. However, if the app does not follow the standard and decides to query GPS on its own, it would then depend on its frequency of the polling and how it handles memory for this.

So basically it depends on how Wyze or other Apps implemented the Location Tracking Process.

Summary

If implemented properly and is pushed Location Info more apps using Location Services would indeed be negligible. However, if the App pulls the information, it could impact the battery life dramatically based on the frequency of the pull and the additional resources needed to wake GPS, poll it, then shut everything down again.

3 Likes

That makes sense…kind of like the Wyze-Home Assistant integration Fiasco…
Joshua’s implementation was constantly “Polling” the Wyze servers, causing an insane amount of strain and usage to Wyze for the sensors. Whereas if there was an official API, then that information could instead be PUSHED to Home Assistant and not cause such a strain to Wyze.

Apps could potentially be doing the same thing with Location data depending on whether they are having the same information PUSHED to all the apps that want it at the same time, or whether the apps are individually trying to force poll their own request constantly. That is indeed a difference. I wish there was a way to know which apps implemented which method. I am fine with multiple apps getting location data pushed to them, but I don’t want a lot of apps polling the data and causing unnecessary strain.

Your explanation makes a lot of sense…though now there are questions about which apps do what! :slight_smile: We should add this question to the list of questions to ask in the next #AMA they offer us.

2 Likes

Huh, apparently @spamoni is right - it IS per app, but Google is way ahead of you in trying to head this off…

In an effort to reduce power consumption, Android 8.0 (API level 26) limits how frequently an app can retrieve the user’s current location while the app is running in the background. Under these conditions, apps can receive location updates only a few times each hour.

Edit; that said, I STILL think carver’s instinct is correct - if Google Maps or whatever has pulled a lock in the last two minutes, I can’t see another app waking up the GPS radio again? Wait, I just changed my mind again. :frowning:

4 Likes

See it is a head scratcher. Now how do you have the app settings set in Android? Basically, I have unrestricted data usage and unrestricted battery. I am sure that affects battery life as well.

I agree with the assessment about waking the GPS if the data was just pulled, but if the app does not honor it, then it could actually wake it again. Thankfully Google is or will be limiting it. Maybe they will out the value on a stack and the apps will pull from there and not need to wake GPS. Who know.

@carverofchoice , stop with these questions it is making my head hurt. :rofl:

3 Likes

I didn’t read too far into it but I was thinking of apps like fitness trackers or even just car navigation. They can’t be limited to a few pulls per hour or they lose their utility. And if a bicycling app wants to know if you need to turn left, it really doesn’t help that a minute ago GMaps knew where you were, so… Yeah. Thanks SO much carver. We just LOVE finding out we’re even more ignorant than we thought we were. :frowning:

Oh, didn’t answer your question. I disable all battery optimizations for any apps that are important to me. Android can be a real pain chlorophorming apps and functions at random…

3 Likes

Same with me. :slight_smile:

1 Like

These links are definitely helpful insights though. From what I understand in my brief reading of those links, the answer depends a lot on how the developers set up the app. In some cases, location permissions will have little to no effect at all, especially if they are set up to use the batched version of Fused Location Provider…

In this awesome case, while the apps in the background using Batched FLP only officially get an update a few times each hour, the data points are “Batched” together so it can kind of act as if they got near constant location points because the batch fills in a bunch of missing data points. Google suggests making the interval for this set as large as reasonably possible to make the impact as small as possible. This is a great option!

Sometimes background apps can instead choose to get “geofencing transition events” more frequently than the FLP or regular Location manager allows (Google play apps are supposed to use FLP instead of Location Manager, though both only get access a few times per hour). So instead of a few updates per hour, these will get info every couple of minutes (I saw a researcher saying a lot of apps did this on average around every 3 minutes…I would love to have an app that could track and tell me exactly how often each app is polling location data to see how each is set up and which ones are draining the most battery from location polls).

The above is only for background apps. I am guessing that if you select the “Running in the background” option in settings, that the app can qualify more than just a background app at that point and kind of count as an active app that isn’t throttled.

Interestingly, there are actually 3 factors that determine how much battery is used: Accuracy, Frequency, Latency. I have seen recently with some apps/websites that I have to choose how accurate of a location I want to approve for it to have. I thought it was just for privacy, but apparently there’s another good reason not to allow precise location information to places: Battery use. I will be denying high accuracy to a lot more apps/websites now for that reason. Interesting things to know.

It looks like it is almost impossible to know how much battery a particular app is going to use for location permissions unless they tell you what their settings are for Accuracy, Frequency, and Latency. I wish more apps would let us change those variables to our preferences. For example, I might want precision data points set at a rate of X points per hour, but not need that info very often…while someone else might want the info input more often. I hope that Android (and iOS) user permissions get to that point soon…let me set limits on how often and accurate they can have access to my location, rather than the developer deciding how often they want it. Then I will have more control over my own data and functionality (battery life). Maybe someone will come up with a permission type of app that will do something like that.

Now I really want to ask the Wyze Devs what their location settings are. Anyone know of any apps that will track how often any other app is receiving location data? I’d love to track a few apps on that.
It sounds like the answer to this thread is “It all depends on what variables the dev for the app in question set for frequency, latency, and accuracy limitations”…

What do you think would be reasonable settings?

It does seem like Wyze is using reasonable accuracy to preserve battery life though. Currently the most precise you can get with the GPS rules is 500ft. So Wyze is not using super accurate GPS down to a couple of feet. This helps us have good battery life by reducing the accuracy, props to Wyze on that choice IMO. With that information, I feel a lot better about being limited to 500ft for Wyze rules.

I wonder what the Frequency and Latency are. It’s obviously more than a few times per hour, so they are using geofencing stuff. I wonder how often it is polling though. 2-3 minutes? They could set almost any interval larger than that, but it seems we can’t expect it to update more than every 2 minutes. That could actually be the main reason for the 500ft limit though…maybe it’s actually more accurate but with that much of a buffer it is likely to have a little time to pull the update before you get there? IDK.

1 Like

Personally, having realized that GPS is “just” a set of triangulated radio signals, I think the ultimate answer will be even lower powered circuitry such that a steady GPS lock will be no different from the steady cell tower signals (and often steady WiFi signals) that most of us already receive on our phones 24 hours a day and 7 days a week. It shouldn’t affect our power management decisions in the end.

When will we get there? No idea. But even now the screen display or backlight consumes massively more power than any of the radios or apps.

The location requests by web sites are a big peeve of mine. I’ve never seen an option for accuracy and I’m sick of every damn site (almost all shopping sites) requesting my exact location on the planet just for the privilege of browsing their online wares. The MOST I’d ever want to reveal is city…

1 Like

Yes, I agree with your above points. Good insight. That probably is what will happen in the long run.

I do sometimes get asked how long I want to allow the sites access. It might’ve been a specific browser I was using or something, but I remember being impressed that I could set a time limit for how long it had access. I then approved just enough time that it would lose the permission before I went home, but enough time for it to know which of their stores I was currently in so they could adjust everything on the site for searching that store while I was in there. I really liked that. convenient, and they were going to know I was in that store in a minute anyway when I adjusted the settings to search there, so I didn’t mind them having that information for the next 15-60 minutes or whatever. and I think that was when I was also asked if I wanted general location or precise permissions. That’s what got me thinking about the accuracy limits. Hopefully those become standard (limit it to city or degree of precision) and how long.

2 Likes