The engineers have spoken. They say, "I'm getting paid too much to care."
Or they look at it from my perspective- who cares? According to you this is an issue but from another perspective there are clueless users who accidentally denied the permission and are grateful later. Can we really afford to have every engineer constantly objecting to the slightest subjective interpretation of what makes a dark pattern?
That's not for me to decide.
The issue is that Snapchat (in your case, as I don't have this happen on v11.23.3.36) is told that they wont get the permission and wont be able to ask for it either.
And so they perform their own inhouse permission request to you.
There is nothing that can be done from the system's point of view for that.
They can ban the app from app stores for using any non-system interface to request permissions, like they do for payments.
That is a very normal practice on Android. The fact that Snapchat decides that pestering the user for the permission is acceptable I find to be a very strange design decision.
If you have an interface that looks like "requestPermissions(...)" or something like that and have a case where users can reject permissions forever without nags, then how do you handle users who inadvertently deny permissions forever? One solution is to just nag forever, if you can.
Another workaround is to enable permissions manually through settings, but you need to make errors loud and obvious with workaround instructions and people interpret the issue as a bug in your code rather than a feature of the platform.
This is a problem on MacOS, just as an example.
v11.25.0.29 Beta for me
> in house permission request
That's what I had feared. I'd expand the scope of "the system" to include Play store rules.
Why they haven't done so already is a mystery to me.
This is an inexcusable dark pattern. Two things need to happen:
1. The operating system needs to provide a "screw you, never" option for any permissions.
2. We as engineers need to say "screw you, never" to requests to implement behavior like this. Sure, this could be a bug, but I see the same behavior with Venmo and location access.
Personally I'm rather disillusioned with where we've found ourselves. This sort of adversarial relationship in which people are property of a platform and treated as such is winning.
Edit: Venmo had been set to "Only while using the app" and was prompting to enable location services on the device, not for permission. That's my own fault.