[AT&T LG Optimus G] PhilipL:
Hi

Also seeing a very large number of wake-ups caused by NLPCollector.

This service relates to the location "improvements" introduced a few months ago by Google. The idea being Google collects all sorts of location data, stores it, then apps needing location data, rather than repeating location checks, query Google for it, who already have it. Now this may indeed save battery life if we have loads of apps using location data, and those apps are updated to take advantage of it. However if we don't use, or have deliberately chosen not to use these apps, the data is still being collected.

Perhaps what has gone largely unnoticed, is Google is now able to not just provide a location to an app, but tell applications what the user is most likely doing. For example, riding a bike, jogging, in a car or in a train, then coupled with learnt routine, Google can say with a fair degree of certainty that a person is commuting to or from work, is on a day trip out, sat in the office, at the pub or at the gym. Ultimately this extra information will make money for Google as it provides better marketing opportunities.

In order to get this data, Google now have to have our devices wake pretty often, more often than just getting a spot location as in the past, and use various sensors on the phone to decide what we are likely doing in addition to Wi-Fi points for location information.

Google only do this collection at the moment when "Wi-Fi & mobile network location" is checked, where we also agree to anonymous location data being sent to Google. If this is unchecked, on three devices I've tested so far, the NlpCollector wakelocks disappear. Legally I think Google might get into trouble here, as clearly the data being sent to Google isn't anonymous if it can be queried by applications to find out what we are up to.

Google have said their location framework API is expected to use around 1% of battery power an hour, but that is still a quarter of battery life a day just on pinging home to Google so they can know what we are doing.

For some these wakelocks are getting stuck and causing massive battery drain (presumably buggy code that will get fixed), for most of us we just see a high number of wake-ups and wake locks and not, seemingly too much battery drain added to the stats. The problem with wake-ups on our devices is that overall it is quite costly to wake the phone up, a cost in battery usage that isn't always apparent in the battery stats. So if anyone is feeling their phone is now needing to be charge a bit more often, even though battery stats seem unchanged, this is most likely the reason.

What Google should be doing is making it very clear what data they are now collecting and giving us the option to opt out in part, rather than an all or nothing. It was one thing using our devices now and again along with GPS to map Wi-Fi access points to their database (something they never really made clear either), a price we pay for the advantages of Wi-Fi location services, but completely another to also start collecting the context of us being somewhere, and so what we are likely doing at a point in time, without making it clear that is happening, and how we can opt out.

Regards

Phil