Apple, Please Fix The Bluetooth Experience on iOS.

One of the things I noticed while working on the UX and design of an iBeacon-enabled app is how cumbersome Apple’s permissions experience is. To give you some context on what the app does: it needs to find nearby beacons and trigger notifications on the basis of proximity, dwell time etc.

The usual dance routine for an app that wants to interact with BLE devices is as follows:

1) The app asks the user for a permission to turn on Bluetooth access.





2) The user is taken to the Settings app to enable Bluetooth access.








3) User may grant access by swiping the switch.





4) User (hopefully) returns to the app and continues to engages with it.

Though I’m all for explicitly granting permission to third-party apps for accessing Bluetooth controls, but I find the current experience broken on many accounts such as:

1) Too many steps involved for simply turning on a switch and thus granting permission.

2) Each step that brings a user out of the app is a potential drop-off point. Not to forget that these users may loose the context of using the app altogether.

3) Unlike Location Services that can be differently configured for different apps, Bluetooth setting is just a switch that enables/disables communication between apps and BLE devices.

4) Unlike social apps that bring users back to the requesting app (after users have granted/denied permissions), apps that require Bluetooth access leave users in lurch – the current flow is not yet beaten to shape.

5) It has a negative impact on Beacon-enabled apps because users cannot start interacting until they have granted permissions.

Having said that if Apple permits more freedom to its developers, there are chances of coming up with a quicker and a better workaround. Though hoping this is similar to someone asking Steve Jobs circa 2010 why Apple does not make bigger iPhones.

Alternative #1: Control Center

Control Center is a great way to change settings and helps avoid the need to switch over to the Settings app. Here’s how it may work:

1) The app asks the user for a permission to turn on Bluetooth access.





2) Control Center pops up and the user taps the Bluetooth icon.

Control Center








3) Post-tapping the icon, the popup is dismissed and the user continues engaging with the app.

This approach works well because the context isn’t lost and it works even when the device is locked.

Control Center inside Settings







And guess what? Apple does allow you (as a user) to do so through Accessibility / Reachability.









Alternative #2: Touch ID

Well, if Apple thinks my Touch ID is secure enough to purchase stuff on iTunes / App Store / brick and mortar stores and unlock my phone, why can’t I use it for turning on Bluetooth?

Touch ID







Considering UX is one of the challenges that Apple is facing towards building mass adoption for iBeacons, I hope someone inside Apple figures this out and builds a smoother and an elegant experience (something for which Apple has always been known).


Got something to say? Feel free to post your comments below.