"So where exactly are you again in this crowd? Precise indoor geolocation will make finding people and places in crowded spaces like events or concerts a lot easier." (Photo Creative Commons by Marc Nijdam)
If you're interested in Internet-Of-Things & the interplay between people, devices & locations then WWDC14 had some tasty treats for you. Apple added indoor geolocation to the existing CoreLocation API. This makes apps like indoor venue maps at conferences, indoor way-finding in hospitals & location-aware museum audio guides possible. In this post I will highlight some of the new geolocation technologies Apple introduced this year.
Apple gave strong hints about their plans in the Keynote when they announced what they call "Continuity" features. Continuity is what allows you to start writing an email on your phone & finish it on your Mac. Or answer phone calls from your Mac even while your iPhone stays in your pocket. All of these features are based on the proximity of your devices. At the lowest level the Bluetooth Low Energy (BTLE) protocol is what enables Apple to do these types of things.
This fall, when Apple will introduce IOS and OSX Yosemite, any iPhone since the 4S, any iPad since the third-generation and any mid-2012 Mac will support BTLE. As a nice side-effect of Apple's Continuity efforts indoor proximity-based navigation becomes possible. So how does this work? Let's have a look at the full location stack.
Getting a fix (What we already had)
At the highest level cell tower triangulation allows your phone to know roughly which part of town it is in. When you're outdoor GPS gives you a precise fix, but at great battery cost. Once you're indoor things become a little more complicated & WiFi-based location kicks in. If we stop here we still don't have sufficient location data to make things like e.g. indoor way-finding possible.
Increased Precision (New)
With IOS8 apple adds two more elements to increase precision: a set of heuristics based on analysis of the radio-frequency environment you are moving in & the motion data coming out of your device’s M7 motion chip.
To complete the picture and achieve sub-meter precision your device will finally use Apple’s iBeacon / BTLE technology in environments that support it. Apple is actively working with venues to increase iBeacon coverage through a little-known program called maps connect
Enabling Your Venue
If you want to enable indoor navigation for your venue you'll need: a 2D map of your venue (e.g. a CAD file) & enough iBeacons to equip your venue to make geolocation possible. The exact number you'll want depends on your use case:
If you want just to enable location-based notifications or simple apps (e.g. "Welcome back to Starbucks, Francis, here's a coupon.") equipping just your main entrances with an iBeacon should suffice.
For a more precise wayfinding use case you'll need more iBeacons to allow the iOS device to triangulate its own position based on the surrounding beacons. At the OS level proximity is categorized into three distinct ranges:
- Immediate: Within a few centimetres
- Near: Within a couple of metres
- Far: 10 - 30m away
Positioning the beacons depends on your RF environment, obstacles & the beacon itself. At this point it is still very much trial-and-error.
Even though Apple standardized on the iBeacon technology now almost a year ago availability of beacons was a problem initially. With many vendors hitting the market in 2014, this situation is changing now. For development purposes you can turn any recent (4S+) iPhone into an iBeacon & similar testing kits exist for Android devices or even embedded systems like Raspberry Pi & Arduino.
I'm going to skip the retail tracking use cases because frankly they're spammy & even Apple seems to think some of the more advanced consumer tracking applications are creepy. With IOS8 Apple randomizes the MAC address, making unsollicited WiFi-based tracking impossible: all geolocation/tracking will be opt-in only from now on. +1 for privacy.
- Conferences & Exhibitions: true indoor navigation is here! I expect a lot of uptake here & your venue will look old school if you don't offer this scenario in the next year or so.
- Outdoor Use Cases In Remote Locations: think about national parks & landmarks offering additional information in at e.g. remote viewpoints. You'll be able to offer a better experience without draining the beacon & the user's battery because of the low power consumption of BTLE.
- Museums: Will this be the end of crapy audio guides? Rich additional information can be added to even the most obscure works of art at museums if the venue is blanketed with iBeacons.
- Tagging Objects: iBeacons can be added to objects, e.g. as theft prevention: receive an alert when your bike is moving but you're not on it.
- Intelligent Gym Workouts: iBeacons could be added to workout machines in your gym so that when you approach a machine you haven't used before you can watch a short tutorial on how to use it on your phone.
- Showrooms: e.g. car showrooms could offer extra information for download as you approach a model.
This is the second post in a series about development for the Apple Ecosystem (iPhone, iPad, Mac, iSomething?). This blog is geared towards non-developers who are still interested in creating apps . "Product manager, startup entrepreneur, just-a-guy-or-girl-with-an-idea". If this describes you, subscribe to the RSS feed, more good stuff is coming all summer long.