Apple iBeacon Is Broken – Even for Apple

Even Apple isn’t immune to flaws in its iBeacon technology – and while its deployment in Apple stores is a great demo of the technology, it seems that even Apple still needs to work out kinks in how you design beacon-based experiences.

We’ve documented these issues previously and point to our post about the kinds of problems you can expect when deploying the technology.

Beacons and APIs Oh My!

But first, a refresher. Bluetooth LE is a low energy standard used to build chips and devices that send a small packet of data to the world around them. Based on a phone or device receiving these signals, you can then calculate your proximity to the beacon.

I walk in a store, my phone “picks up” the signal from a nearby beacon, and calculates (based on signal strength and some other data) how far you are from, say, the potato chip display.

That’s all fine – except that your phone needs some software on it to do all those calculations. It’s the software that’s called iBeacon, not the beacons themselves. iBeacon is Apple’s programming interface that allows your phone to listen for and react to beacons.

The Problems with iBeacon

We’ve noted before that if you’re designing an app that reacts to beacons, you’re going to need to figure out some of the limitations of how Apple handles things behind the scenes.

In particular:

  • Detecting a beacon can be fairly quick, but is slow when it comes to calculating leaving a beacon region
  • Your phone will ‘toggle’ between nearby beacons unless you do some coding to prioritize which beacon to listen for
  • Your phone will “glitch” and turn location monitoring off entirely for a brief delay – this will make your phone think that its left the store and then reentered, potentially triggering another welcome message (we use counters and timers to prevent this)

But the most frustrating part of iBeacon is how Apple handles location messages. These are the messages that reach you “through the lock screen”.

The idea is simple enough: you enter a store and you get a lock screen message welcoming you. Or you go to the chip aisle and you get a lock screen message telling you that chips are on sale.

But these messages can be unreliable. You have no way to calculate how much delay there will be between entering a ‘region’ or beacon proximity and the message being “pushed”. One time, you enter a store and you get an immediate message. The next time the message is delayed 3 minutes.

Or…you enter a store, there’s a delay, and then you get 3 successive messages because your app has actually calculated entry and exit 3 times because of problems with region detection. You need to do some ‘hacks’ to account for this, and to clear the queue of duplicate messages.

Apple Eats Its Own Applesauce

Apple’s use of beacons in its stores, and iBeacon on its users phones, is the first large-scale demonstration of the technology.

iDownloadBlog took iBeacon for a test drive in a nearby Apple store and found what we’ve also discovered: that lock screen messages should never be tied to precise location, except in the most general sense (“It’s great to see you today!” rather than “Welcome to our store!”)

“I walked to the accessories section of the store, and yes, I received a fourth welcome notification. I guess Apple really wants me to feel welcome. It’s nice but it’s not what I’m looking for. Still no notification about the various cases I’m checking out….

Walking across the store to see other products for sale, I finally get a relevant notification explaining me that I can read product reviews and complete a purchase right from my iPhone. Launching the app takes me to the bar code scanner. I proceeded to scan a couple items. The app was very fast at showing more details about the products. A big colorful button also made it clear I could have purchased the items from the app.

Apple Insider found the same issues with notifications feeling “out of synch” with the actual in-store experience:

“When walking around the store, we found that at the moment only one push notification was provided: “Shopping for accessories? Read product reviews and make you purchase right from your iPhone.” This same message popped up regardless of what part of the store we were in.

The lock screen notification invites users to “slide to get started.” The message left us with the impression that we would be taken to view details about accessories, but instead we were provided with the Apple Store app’s EasyPay functionality, which lets users scan and pay for an item on their phone without talking to a store employee.”

And finally, analyst Brian Marshall also tested out iBeacons:

Annoyingly, iBeacon repeated the same iPhone upgrade eligibility notification again after several minutes of continued browsing. When shopping for accessories, a notification enabled us to scan a barcode, automatically pay with our iTunes account and walk out the door with accessories up to $200 with no customer support/intervention required. In our view, this was one of the most compelling features. At the iPad and Mac stations, no notifications were offered on these products but we again received notifications requesting an iPhone upgrade eligibility check.

Apple Needs to Tweak the Experience, Not Deploy a Bunch of Beacons

I suppose the good news is that our frustrations with the limits of beacons aren’t because of some kind of misreading of the code or documentation.

If Apple can get it wrong, you should feel some small measure of relief that it’s not just you.

Apple can make some simple tweaks to refining their iBeacon experiences:

  • Don’t rely on lock screen messages except in the most general way
  • Lock screen messages shouldn’t “feel” like they’re tied to a specific location – the delays may mean that your customer is in the restroom when you push them a “We hope you enjoy your stay” message
  • Use counters and timers to reduce redundant messages
  • Set the beacon signals and proximity detection to match the user experience
  • Use visual queues in the environment itself to signal changes of location to the user
  • Use visual queues in the app to indicate state changes (transitions and animations, or rank ordering content)

We don’t actually believe that iBeacon is broken. In part, we believe that some of the ‘heavy lifting’ that iBeacon needs to do will be carried by an iWatch or wearable device.

While we think that CLLocation and local notices are effectively useless for precision location messaging, we can live with it by designing experiences around it.

But what we DO believe is that deploying Bluetooth LE experiences isn’t easy – it takes careful design and planning, an awareness of proximity technology, and an understanding of the pros and cons of how Apple has designed its API.

In these early days, Apple needs to lead by example. And while its eating its own applesauce, it should tweak its experience to create an iBeacon experience that “wows” instead of confuses.

Join Our Mailing List: Once-a-Week

Join our weekly mailing list for ‘BEEKn unplugged’ – I rant a little each Friday and share stuff that doesn’t make it on the site. Be the Beacon!

3 thoughts on “Apple iBeacon Is Broken – Even for Apple

  1. Thanks for that great article & updating the site regularly..
    Wanna see a tutorial out there about the “(we use counters and timers to prevent this)” please post something when you have time,really appreciate it..


  2. does Micro Location Search to the inch in Brick and Mortar. Give it a test drive at Sometime people want a product now and Google/Bing haven’t delivered. If you want it now–Aisle iQ.


  3. it’s now September of 2014, nine months since the article was posted. Does anyone know if Apple has improved the user experience since launch?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s