Designing for iOS 14 Approximate Location
Using approximate location in a mobile app.
It’s about this time every year that app developers scramble to make sure their apps play nicely with the latest version of iOS. Over the last few years, that’s been straight forward. Unlike iOS 7, the upgrade path has been mostly painless (iOS 7 completely redesigned the user interface, and broke a lot of apps). This year there has been a major focus by Apple on privacy. So there are a number of new features to let Apple users control what apps can access; the obvious one being the location of the device.
In iOS 14 there is a new feature that provides a device’s approximate location, rather than the precise location that is provided when using ‘aGPS’. Many app features might need a user’s location, but don’t require it down to the meter. Examples of apps that can handle approximate location with no impact are many weather apps, local news apps, or dating apps.
Prompt to allow precise location in iOS 14.
How does this work under the hood? Apple, as usual, has spent some time thinking about how this should work. They explained at WWDC that just adding noise to the location isn’t secure enough, as it would still be possible for someone to work out a person’s location over time. Instead, an approximate location is provided as a region and a person’s actual location could be anywhere within that region rather than the centre point. Regions vary in size depending on density, but can be between 2 and 10 km, and the user’s current region is updated about four times an hour.
Now that users have the ability to switch their location between approximate and precise, app developers will need to consider new UX patterns to help users manage these settings.. Fortunately, Apple has done the heavy lifting, and we can see how they’ve tackled it in their Maps app.
Prior to iOS 14, Apple Maps relied on a person’s precise location for a host of features, including displaying current location on the map, the distance to locations of interest, directions, and turn-by-turn.
Apple Maps changes the way it uses location information to allow for approximate and precise location.
Now, with Apple’s philosophy of putting the user in control, access to precise location can’t be assumed. An audit of the Maps app will reveal where approximate location is sufficient. In these cases, the app will show a shaded circle when an approximate location is known, and won’t show the distance to points of interest, but will prompt the user to provide precise location if they want further accuracy throughout the app.
Apple Maps prompts a user and explains exactly how using precise location will improve the app’s experience.
Apple Maps users don’t have to allow the use of precise location for every use case.
Apple’s location framework allows you to describe why precise location is useful, and in their Maps app they have provided prompts throughout to explain this to the user. At the same time, they have made it easy to opt back in to use the precise location for a single-use, or ongoing.
Apple Maps adds extra functionality to the app to handle situations where it does not have a precise location.
If a precise location is a requirement for a feature, then Apple makes sure it is easy to change and only at the time that it is required. When requesting directions the app now offers the option to use My Location to complete a route and uses it only once to complete the route and provide turn-by-turn directions.
As always, to get something so simple right can take a lot of work. But if we follow Apple’s lead we can make sure we tackle the change the right way the first time. Follow a few steps before you jump into making the changes:
Audit your app to determine where the app uses precise location, and determine if it needs it for every feature.
Where possible, remove the need for precise location, and when it’s needed make sure you provide an explanation that provides transparency into its use.
Finally, allow a user to opt-in to allow the app to access the precise location for a single-use case.