The Right Way to Ask Users for iOS Permissions | Medium

There is always a right way and a wrong way to ask someone for something, and as a kid you probably learned that if you ask your parents nicely you have a better chance of getting something than when you are more abrupt. The same goes for iOS Permissions and asking users for permissions, whether it is to use their location, address book, photos and so forth.

Getting it Right First Time

If you have a chat app and you ask users for permission to use your contacts and they say NO, or if you have a navigational-app and ask a user for location permission and they say NO, you have pretty much rendered the core functionality of your app useless. Sure, you can then prompt the user to re-grant access to get the app working, by that would then involve going through 5 steps to grant access at a later stage. That involves getting out of the app, going to Settings, Privacy and so on. That's not a great UX.

Turning permissions back on (source: Cluster as cited in Medium)

The key is to then prevent the user from saying NO and then trying to work out how to change his or her mind. The article proposes three approaches to address this.

Blitzkrieg approach

This approach involves prompting the user the first time the app is launched for all the permissions needed, one by one, inundating the user, and as the article says, it's like asking someone off the street for a date without even introducing yourself.

Benefit Explanation

The second approach was to explain the benefit through a walkthrough, before asking the user for permission.

Providing benefits before asking (source: Cluster as cited in Medium)

This is a better approach and according to the author, the acceptance rate increased from under 40% to 66%, but still not within the acceptable range if you want your app to be functional to all.

Pre-permission Dialogs

The final approach is the preferred approach, by the author and myself. The premise of it is to only ask the user when needed, at which point the user would probably gain some familiarity with your app, and then when a particular requirement to access part of your device (location, contacts) is needed, you would get prompted.

But before you even get the Permissions prompt, ou would get a pre-permission dialog explaining why we need permission. If the user says NO, we don't provide the actual permission dialog but ask at a later stage.

You only get one chance for the user to deny granting permission, before the user has to get out of the app and find your app within Settings. It's better to pre-ask them and defer that dialog until they are ready.

For photos alone, 46% of people who denied access in a pre-permissions dialog ended up granting access when asked at a better time later.

— Medium

Within this approach, Cluster tried two sub-approaches, the Double System-Style Dialog approach and the Education Overlays.

iOS Dialog used for permissions (source: Cluster as cited in Medium)

The first approach was to utilize the iOS system dialogs and ask twice, and their findings showed that only 3% of users who clicked Give Access, went on to deny (Don't Allow) permission, which is a great success rate. The second approach is Educational Pre-permission overlays, which I will explain.

Educational pre-overlay (source: Cluster as cited in Medium)

This approach provides a more custom UI, with an explanation of what is needed, and what the subsequent popup will ask for. It also interestingly enough provided an alternative method if the user did not want to take that approach (which is important, you shouldn't force users to give up some of their privacy if there is another way). This dialog can of course be asked at a later stage, which is also great.

Triggered Dialogs

So, there's another third sub-approach, which I will discuss. The authors of the article discovered that users didn't make it to the final permissions dialog because they didn't want to provide access at all to the app.

What the pre-permission dialogs had done was mitigate the times where the user wasn’t expecting it, not necessarily making more users accept it. We knew we could do better.

— Medium

Intentionally triggering the prompts was the way they discovered got permission allowance close to 100%. With contacts, Cluster discovered through analyzing the biggest benefits of granting contact access was by letting them see why it would be more beneficial to allow access.

Asking for permissions after realizing how empty the results are without (source: Cluster as cited in Medium)

Seeing how empty their results are (carrot and stick approach) they would eventually be prompted to grant permissions. This is a bit more cheeky in my opinion, but Cluster found that they got 100% acceptance rate as a result. The same applies to push notifications, letting them know the benefits of allowing push notifications.