Last week we gave a talk at the Bitspiration conference in wonderful Krakow wrapping up some of our experiences building context-aware apps for iOS. Here are the slides as well as a mind map. A video recording might also be coming up soon. Look out.
Summary and Slides
iBeacons are the best way to connect your apps to the real world by adding micro-location based context triggers. While commercial environments already started embracing different iBeacon scenarios, areas that are even closer to our hearts still leave a lot to explore: Home and Productivity.
In this presentation you will see how to identify meaningful iBeacon based app use cases, get first hand insights on common implementation and UI challenges and learn about the special considerations facing a casual market.
Mind Map of Talk
Introducing a shared iBeacon identifier scheme for common personal use cases.
We were looking for a solution to enable auto-detect and automatic naming support for iBeacons on iOS that works across different apps and beacon vendors and found … nothing. So we came up with our own solution: Open Beacon Credentials, a simple structured set of shared iBeacon credentials enabling one tap linking processes and covering the most common areas of personal iBeacon use.
Open iBeacon Credentials are meant to be used in isolated home environments and personal contexts. They are especially useful for apps that allow users to link their own iBeacons. Open Beacon Credentials provide a clear guidance on how to configure your iBeacon to make this connection work well.
We would love to see this scheme being adapted by other apps or even iBeacon vendors, too.
After setting up your iBeacon according to our UUID, Major/Minor ID scheme as a user you get the following features.
- Auto-Detection for iBeacons across different vendors and across different apps. No more exposure of UUIDs, Major/Minor IDs. This feature is based on using a shared UUID.
- Auto-Naming allows the assignment of a preset name to your iBeacons. No more need to enter a beacon name/location manually. This is based on using specific Major ID and Minor ID combinations following our scheme.
To setup your iBeacon using Open Beacon Credentials, all you need to do is to change its UUID to AA6062F0-98CA-4211-8EC4-193EB73CEBE6 and update its Major/Minor ID according to its placement.
Here’s an example: An iBeacon placed at the fridge in your kitchen should have the Major ID 104 (Place ‣ Home ‣ Kitchen) and the Minor ID 201 (Object ‣ Appliance ‣ Fridge).
You can combine objects and rooms to your liking. You can also use your own IDs outside of the defined scope. In these cases auto-naming will fall back to more generic range based names. Just keep in mind to use the same UUID for all your iBeacons.
In general Major IDs are grouped by places like “Home” and “Work” broken down to rooms. Minor IDs are grouped by object types like “Furniture”, “Appliance”, “Electronics”, “Wearables”, etc. broken down to specific objects.
If you need help updating your iBeacon credentials, check out our wiki with a list of configuration guides covering common vendors.
The upcoming updates of our apps will include full Open Beacon Credentials support. It will become our recommended way to use iBeacons with our apps. Note: We will retain support for a set of other known vendors and apply the same auto-naming rules to those. The release notes of our upcoming updates will include more details on this.
You should be aware that using a shared identifier implies the possibility of getting unwanted notifications caused by other people’s personal iBeacons using the same credentials. We are aware of this but in fact we also see this as an opportunity to extend context-awareness to areas outside of your own beacon deployments. In the end it’s all about the apps sticking to the conventions and reacting in meaningful and responsible ways.
If you have any ideas or questions (also critical ones) on this, please don’t hesitate and get in touch.
Support note With the upcoming updates of our iBeacon apps Launch Here and Travel Radar we will remove the option to manually add and edit iBeacon credentials (UUIDs, Major ID, Minor ID). This is not our choice. We do this to keep the apps in the App Store.
We’ll do our best to come up with other options to add your iBeacons – better options.
With our latest update of Launch Here we already added basic auto-detection working with some iBeacons. We will improve on this and extend support to more iBeacon vendors. If your iBeacon doesn’t get recognized please let us know by sharing its UUID with us here. That would help us (and you) a lot. Here are the iBeacon we currently support for auto-detection. Please note that a general scanning of all iBeacons around is not possible on iOS. We rely on your input to cover all commonly used iBeacons.
In addition we will create a new unique set of IDs for use with your iBeacons. Besides auto-detection this will unlock another feature you will love – predefined beacon names. More details on this will follow in a separate announcement.
This change will likely lead to loosing support for some iBeacons which are not in our list of known vendors – especially for those that do not support setting a custom UUID. As most iBeacons still come as dev kits, you will most likely be able to do the necessary update. If not, please let us know.
To clarify, we have full understanding for this newly enforced policy. iBeacon credentials really aren’t something that should be exposed to casual users. But to be honest with you we would have liked to keep the manual entry around just in case you need it. Unfortunately this is not an option.
We are convinced that going forward as harsh as this step may appear now will lead to a much better user experience. It will open up casual iBeacon applications to more people, especially those who are less tech savvy.
The app updates bringing this change are not ready to ship quite yet. But this is a significant change, so we wanted to give you this notice upfront. If you have any questions or additional ideas, please let us know. We always appreciate your feedback a lot.
We understand that this update will be a bumpy one for some users. We are very sorry for that.