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.
I came across a great article by Medium on The Right Way to Ask Users for iOS Permissions, which I think is an aspect of apps that are a lot of the times overlooked, but are imperative for good app UX. In the article, Brendan Mulligan begins his case by discussing the importance of getting permission-asking right first time.
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.
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.
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.
The second approach was to explain the benefit through a walkthrough, before asking the user for permission.
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.
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.
Within this approach, Cluster tried two sub-approaches, the Double System-Style Dialog approach and the Education Overlays.
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.
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.
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.
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.
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.
The bottom line in the article, context is critical, when it comes to permission granting, just like life. When asking for something, the context and time is key to getting the results you want. A really compelling article, and I urge you to read the original article, published at: https://medium.com/launch-kit/the-right-way-to-ask-users-for-ios-permissions-96fa4eb54f2c
The author of the article at medium have open-sourced the code, which you can get to by clicking here.