iOS 7.1: Will Apple Fix iBeacon?

ibeacon-is-broken

Apple’s iBeacon is broken.

Not in a serious show-stopping way. But there are enough little glitches and problems to make developers think they’re going slightly crazy as they play around with their Estimote or other beacons.

But hope is on the horizon: we’re only a few beta releases away from the launch of iOS 7.1. And with it, maybe we’ll all be able to more easily build experiences around Bluetooth LE.

The dot.1 release is usually when Apple gets beyond immediate bug fixes and irons out the major kinks in its new operating system, launches new features (iOS in the car being a potentially major one) and tweaks the user experience.

But will Apple also fix problems with its iBeacon framework? Will it also launch its iBeacon specification? We’ll soon find out.

Bluetooth LE and iBeacon: The Muddled Mess of Language

As a refresher, iOS 7 saw the launch of iBeacon: the protocols and software that allow phones and tablets to scan for and receive Bluetooth Low Energy (LE) signals (and to act as beacons themselves).

Apple makes things a little vague and confusing and has managed to own and trademark the term iBeacon without being absolutely clear on what it actually refers to.

A beacon can be a device that transmits any kind of signal (audio, say) but which has generally become a blanket term for devices that transmit a Bluetooth LE signal.

iBeacon (at least according to its trademark filing) refers to the protocols that Apple has published to allow these beacons to be recognized by Apple devices, the general set of software and services that support it, and the devices themselves.

So at least when it comes to Apple, there are several components to the iBeacon “stack”:

  • The specifications for the beacon itself, something which Apple has not yet published. These specifications may include things like how device makers need to transmit specific tags and information in their broadcast; how private mode should be handled; and whether the devices can use some of their ‘sub-channels’ to communicate other data.
  • The hardware capabilities of iPhones and iPads and the software that drives the chips to make it all happen.
  • The software capabilities and APIs that developers can use to create apps that respond to beacons.

Don’t Blame Everything on Apple

If you’ve been working with beacons you’ll have encountered frustrations. What’s important is to understand where the problems are coming from – not always an easy task.

It’s also one of the reasons why we’re finding more and more companies waking up to the fact that iBeacon requires reliable hardware, software, UX and engineering talent to create flawless user experiences.

So errors or glitches in your iBeacon app aren’t always the fault of Apple:

  • Not all beacons are created equal, for example. Different beacons use different chipsets. Some of those chipsets and Bluetooth LE modules are, frankly, better than others.
  • The beacons themselves are engineered by developers who also make decisions about things like signal strength and battery life. So, one beacon may give you a less reliable signal but more battery life – a trade-off decided in the engineering process for the actual device.
  • There is ‘firmware’ in each beacon – and while the differences might seem negligible for simple BLE transmission, it gets more complicated when you need to figure out how to update a device ‘over the air’.
  • How the beacons are placed in a physical environment can have a big impact. Being a low energy radio transmission, BLE can be impacted by metal shelves or other physical characteristics of the environment.
  • Competing signals can impact outcomes: a coffee shop with 100 people on their laptops and cell phones will produce a different result than the same store in the early morning when there’s one or two people reading the paper.

What’s On Your iBeacon Fix List?

Once you’ve considered all the above, you’ll still run into frustrations – and they can be directly attributed to Apple devices and iOS 7. Here’s a quick “fix list” of our own:

  • Address issue where Bluetooth monitoring turns off: Every now and then you get very brief millisecond-long moments when beacon scanning gets turned off. It makes your app believe you’ve left the region of beacons entirely, even thought it’s a very brief ‘blip’. What’s actually happening is that Bluetooth is turned OFF for a very brief moment and then turned back on again.
  • Fix Delay in Local Notification (or make it predictable): It can take 20 seconds or 2 minutes for you to receive a ‘push’ message when you enter a region. This either needs to be fixed or made more predictable.
  • Fix Region Toggling: Your app won’t be able to decide whether it’s Near or Far from a beacon. Or will toggle between two different beacons when it absolutely shouldn’t (one beacon is at the other end of the room, the other beacon is right next to you). Apple needs to fix the algorithm for determining beacon proximity to help us all avoid this rapid toggling. (Yes, you can work around it, but it’s still a ‘hack’)
  • Create Better Background State Predictability: We understand Apple wants to conserve battery on a user’s phone. But this creates a massive variability in  how long it takes for an app in background mode to ‘detect’ a beacon. A greater degree of user choice or predictability would go a very long way.
  • Allow devices to permanently broadcast: If I have an iPad cash register and I want it to BE a beacon, its broadcasting of a beacon should NEVER be interrupted – especially if the iPad is plugged in.

But that’s just our top-of-mind fix list. What’s on yours? What do you think Apple should make a priority in iOS 7.1 related to iBeacon? Drop your thoughts in the comments below.

Give Us A Follow

Join our weekly e-mail list for more on iBeacons. Check out our Twitter list to follow the best beacon tweets. Check out our BEEKn Google page and just generally stay in touch!

9 Responses to “iOS 7.1: Will Apple Fix iBeacon?”

  1. hernando

    Hi Doug

    There is a new Video in the apple developer website regarding Ibeacon and ranging. Nothing new that we didn’t know , but the apple evangelist explain how it works and limitations of BLE Hardware.

    Very Interesting Video , is one of the Tech Talk video for Dec 2013.

    Hernando

    Reply
  2. I am looking to see if and when apple provides security and authentication in their iBeacon profile and APIs. Mobile apps need to trust that a UUID can’t be spoofed.

    Reply
  3. Eduardo Paulo

    Great article! I was stymied until I found your post. Yes, specifications of the beacon itself will be essential… Most important for me would be specification on Tx Power (of current iPhone model), or even (estimated) RSSI @ 1 meter. As you noted in this article, chipsets and their settings do vary (My own tests using Radius Network’s ScanBeacon on different iPads/iPhones seem to place Tx around the neighborhood of -56db… Is this a constant? Per SW release? Per Chipset? Such information greatly affects how calibration is to be designed. I’d love this information to come definitively from Apple). I hope, that when future iPhone models are released, reliable beacon Tx Power setting is made available to developers as they plan their release cycles.

    Reply
  4. Eduardo Paulo

    Oh I saw that you posted an article (February 25th) on iBeacon Specs! Thanks! Will look at it now! You’re a valuable resource! Hopefully everything in my earlier post is answered.

    Reply
  5. Glad we could help! Having said that, the Apple spec isn’t public. But there’s definitely some stuff in it that will make detecting beacons easier. The TX isn’t a constant across beacons and I’m unsure if the Apple spec is specific about it….but have some other insights coming soon, stay tuned!

    Reply

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>