What is really CLBeacon.accuracy?

Hi there,

Many resources in the Internet say that CLBeacon.accuracy parameter in distance from a beacon. I have a lot of doubts about that and I wrote about them in the following post in Stack Overflow:

Documentation says it is “one sigma accuracy”, which is statistical term, and it should differ significantly for the same distance and different power levels.

Does Estimote SDK treat it exactly like Apple docs says (as one sigma) or as distance?

SDK 2.x had ESTBeacon.distance parameter which was probably distance measurement but in SDK 3.x we don’t have ESTBeacon and have CLBeacon instead. This makes this question even more interesting to me.

What is really CLBeacon.accuracy?

Hey r00dy, I know it took a while, but that’s a very good point you’re raising.

Without Apple coming forward and making it clear what the accuracy property really is about, we can’t know for sure. That’s why we decided to ditch the “distance” nomenclature in SDK 3.0, and why we’re in general not recommending using Core Location for any distance approximations anymore.

Well, that, plus we envision our Indoor Location technology as a more fitting one when you’re hoping for x and y coordinates, not just proximity. We also plan to port some of our Indoor Location algorithms to the “regular” SDK, to give developers distance estimations and actually be able to call them that with full confidence (:

@heypiotr,

Thanks for your answer! Actually, you just made me sure of what I expected :smile:

I look forward to Indoor Location being mature enough to use it. I would love to have support for complex multi-room buildings and maybe (?) some calibration tools to make measurements accurate.

Multi-room locations are definitely on our roadmap.

What kind of calibration tools do you have in mind? We’d rather see our Indoor Location work accurately out-of-the-box, without requiring users to tweak settings, but if there’s anything you think would make your life easier, please tell us! (:

Let’s say there are 8 rooms and every room has let’s say 6-8 beacons for indoor location. I see two ways of configuring them.

SDK
Place beacons on map in SDK and then place them in exactly the same places physically.

REAL WORLD
First, we place beacons physically. Then, we open some calibration app, we upload our map, and go to our building with this app. And we stand in 4-12 (as few as possible for good accuracy) places (maybe in different positions) for some seconds. During this “standing time” we hit the place were we stand on the map and wait for mobile phone to measure beacon signals. After we travelled through whole building, we have great “reference map” which could be used for location measurement. This approach has many advantages:

  1. Doesn’t demand implementing complicated back-ends for settings beacons up.
  2. Reduces error related to signal interference between neighbouring rooms.
  3. SDK approach doesn’t take into account non-idealities of physical world, like wall/floors material, other objects in the room etc.
  4. The measurement is fully physical (not theoritical) which would lead to greater precision.

I may be wrong, that’s just what I’ve made up. What do you think? Have you considered this kind of approach?