Practice what you preach
In May 2015 Google announced Android M(arshmallow) and with it a new runtime permission model.
So far, so good. Even though there is room for improvement (why can network access not be controlled? Please don’t say ads ;-)) it was a step in the right direction.
The speaker of that talk, Ben Poiesz, gave a very thorough and insightful introduction to the new model and its implications and best practices. One thing he was very specific about was the way a program should react when the user denied a permission request, particulary upon the second attempt.
The program should honour the user’s decision and not stubbornly continue without any prior action by the user
He made that clear around minute 4 and then later again ....
at minute 16:34
if they still say no, let it be
at minute 21:09
you should consider the “don’t ask again” like the nuclear option
at minute 27:50
“don’t ask again”, the apocalyptic version
So why does Google Maps — one of their flagship applications — in its version 9.26.1 from May 27th 2016 (a full year after that announcement) not honour that decision and ignores Google’s very own best practices?
The Location permission can be undoubtedly useful in a map context, but it is nonetheless not a critical permission, without which Google Maps couldn’t fulfill its primary functionality.
It would be wonderful if Google could adopt that best practice for Maps as well and fix that “aggressive” permission loop in an upcoming update of Maps.