At Estimote, we’re creating technology that enables software developers to build apps that turn physical spaces into intelligent environments. We’ve seen two different approaches to creating interactions. Many developers have been building proximity based applications by simply putting beacons in desired spots and triggering notifications or interactions in their range. An alternative approach was using beacons in combination with our Indoor Location SDK to obtain precise (x, y) within the location and triggering actions based on the position of the user.
The proximity based method had the advantage of working even in the background when the phone was locked. Today we are happy to announce that our Indoor Location SDK supports precise positioning in both the foreground and background!
Software-defined notifications and triggers, right where you want them
Notifications are a powerful UI pattern in a mobile app’s toolbox. You can push new information to the user as it appears, without having them constantly checking the app. It’s hard to imagine an email client without notifications, isn’t it? Location-based notifications have even more power, as you can surface messages relevant to the user’s current context, that is—where they are.
With the Proximity approach mentioned earlier, the trigger area for your notifications is bound to the range of the beacon’s signal. This means it’s roughly circular in shape, the size of which is determined by the beacon’s transmit power. And if you want to move that area, you have to physically move the beacon.
Having access to the (x,y) position of the user in the background changes the game. You can “paint” your trigger zones in software, make them any shape and size you want, and update them dynamically.
Naturally, you’re not limited to notifications. You can trigger all sorts of events in the background—for example, record in your backend that the user has visited a certain area, and use that information later to provide a better service.
Enhancing experience in museums
In a museum during a guided tour or while exploring on your own with your eyes glued to a guidebook, have you ever wondered if you could get more out of your visit? Could you just roam freely around exploring at your own pace, on your own schedule?
With precise positioning in the background you could easily build an app for a museum that would act as a smart personal guide. As you enter the defined zone in front of an interesting piece of art, your app would provide all the interesting information. All with the phone locked and in your pocket for uttermost convenience!
“Find my friends,” indoors
What else can you do with indoor (x,y) positioning available to you in the background? Here’s an idea.
Instead of wandering around the office looking for a colleague—or more realistically, messaging them “where are you? need to chat F2F” on Slack—how about solving the problem with, you know, software? Having Indoor Location running in the background for you and your friend, you could know whether to head to the water cooler or to their desk.
Or in an event app, it could help reunite a group of friends, so they can head out for drinks together.
Remember that this technology is entirely opt-in, just like sharing your location with a loved one in Apple’s own “Find My Friends” app.
Accurate analytics - heatmaps & pathing
Once you have background Indoor Location integrated in your app, you’re already providing a great experience to the users who opt into it. And there’s still the cherry to top it all off! You can use the position data to get insights into which areas are more popular than others, what paths the users are taking to get there, and more. Indoor Location in the background has the same accuracy as in the foreground—much more granular than the proximity-based approach.
Just remember that a great user experience and respecting your users’ privacy comes first. There’s not much of an upside if people don’t opt-in, or uninstall your app.
What about the battery?
Indoor Location in the background is powered by the same low-energy beacon technology you already know. We’re using a fusion of packets carefully chosen to make use of the most energy efficient iOS APIs for beacon detection. This tight integration between software and hardware pays off. We’ve run the numbers, and positioning in the background uses only 2% of your iPhone’s battery per hour. An app running for a full work day will not drain your phone any more than 30 minutes of YouTube. And if you use your phone a lot, you probably won’t even notice, as the energy usage is just a fraction of what’s needed to power the display.
Try it now!
To get started, you need one dev kit of Location Beacons with UWB and the Indoor Location app. Thanks to UWB and Estimote Automapping, you’ll have a map of your room and a blue dot inside it in just 5 minutes.
Once you have the location up and running—turn on the background mode, lock your phone, and see how your position changes in Estimote Cloud or on other device running the app. (To turn the background positioning on in the Indoor app, tap on your avatar and flip the appropriate switch.)
If you already have the location configured, all you need to do is to turn on the Background mode in the beacon required for the background mode.
And to learn how to integrate all of that into your own app, head to our Indoor tutorial on the Estimote Developer Portal.
If you have any thoughts, ideas to share, or questions to ask, drop us a line at contact@estimote.com or ping us on Twitter.