Apple’s iBeacon technology is popping up everywhere, but mostly in the retail as you’re well aware of. We believe iBeacon will find a firm foothold in the future of location-based startups including those that aren’t necessarily connected to retail. But how does iBeacon work exactly?

Here are six things to learn about iBeacon and beacons, should you decide to use this technology in your own product.

1. Why is iBeacon better than other location systems?

Traditional location tracking systems can’t provide the same effectiveness as iBeacon. They either can’t work inside buildings (GPS) or work rather inaccurately (network-based location). iBeacon, on the other hand, doesn’t only provide accurate information on an object’s location inside buildings. It also doesn’t consume much energy.

The indoor location tracking system uses Bluetooth to communicate a smartphone with a beacon, a small device attached to a particular place.

Does iBeacon work with Android? Today there is already support for iBeacon technology on both iOS and Android platforms, which means that beacons are not limited to Apple’s standard.

2. What do you need to make iBeacon work?

To make the iBeacon technology work you need three things: an app, a user who will download the app, and a beacon itself.

  • An app

NOTE: You can’t send direct messages from beacons to people’s smartphones. You need an app to handle all that.

This is actually an obstacle for retailers. Willing to incorporate iBeacon technology, they won’t be able to do it without having to invest in the iBeacon-based app development.

For shopping apps, though, the opportunity is more striking than ever. iBeacon technology are used to track user orders when they use various on-demand delivery platforms. Shopkick’s customer rewards app shopBeacon which uses iBeacon in combination with Shopkick’s proprietary ultrasound technology, earned $1 billion in sales for its retail partners in 2014.

I bet this sounds like a great incentive!

  • A user

NOTE: Don’t forget to ask your app users if they agree to share their location and receive some messages from you.

One study found out that the majority of consumers agree to share their location data in exchange for a discount, or a digital offer, or anything else valuable for a user.

  • A beacon

An average beacon is able to cover an area of about 30 meters in the line of sight. When an iPhone or an Android device gets in the range of several beacons, it can measure transmission power of every one of them and based on this data, determine the distance to each beacon and its own location. This means, that when a user gets into location you specified (e.g. one of the store’s departments), you can enable communication between a user’s device and a beacon.

That’s pretty much it! The general idea of beacons is pretty simple.

But before you get too excited, you need to know that all the complexity is hidden in the app’s code. That’s why you need a good developer in addition to beacons, users, and an app.

3. When can a beacon trigger location-based actions?

  • Once a user enters / leaves a beacon range. It’s the simplest case, since everything you have to do is monitor a beacon’s signal. For example, an app that shows special offers when a user is near a given store. To be able to do the same you only need one beacon.
  • Once a user is inside a region (near a shoes department of your store, for example). In this case, you need to determine a user’s location properly. Therefore, you will need more beacons, and sometimes even triangulation, which helps to determine a user’s location more accurately based on beacons’ signal levels. For example, an app that shows department-specific offers or provides a user with directions to your store in the mall.

4. Where does an app go about sourcing information on a beacon?

Since beacons use different ids, an app needs to know these ids. What is more, if you use triangulation, the app should also know some additional data related to a beacon’s location (e.g. a distance to a beacon). Let’s look at these two parameters separately.

  • Beacon ids

A beacon is continuously broadcasting Bluetooth messages which contain the beacon id. We usually imagine that every signal has a unique id but it’s not correct. In fact, each beacon has three ids:

  1. UUID (16 bytes) is used to mark a group of beacons belonging to a given enterprise. All beacons of our company, for example, would have the same UUID.
  2. Major (2 bytes) is used to specify a group of beacons located in a given place. For example, all beacons located in a store would have the same UUID and Major.
  3. Minor (2 bytes) is used to specify a department inside a store and to differentiate beacons with the same UUID and Major ids.

Usually all three are configurable, so you can change them if needed. Of course, if you don’t need such flexibility, you can use a UUID as a unique identifier.

  • Beacon location

One way to get access to a beacons’ location information is to fix it in the app. However, it’s not the best solution, because you won’t be able to easily modify data. After all, a beacon can break or get replaced. That’s why iBeacon-based applications need a backend solution.

Some beacon vendors have their own admin panels which allow to handle changes. Their software lets you modify beacon ids, track their location, and provides other tools for managing your beacon network. If your vendor doesn’t sell such software, you can always use Parse platform with its BaaS solution. It should be enough for a basic number of users.

A distance to a beacon is calculated using a parameter called RSSI (Received Signal Strength Indicator). It’s calculated by a client’s Bluetooth receiver based on a beacon transmission power. However, sometimes RSSI may be unstable even if you’re standing still and not moving. This may happen, for instance, if someone or something gets between a phone and a beacon causing Bluetooth signal power to bounce.

You need more than three beacons per region for a more accurate indoor navigation. You also need to mathematically process the data associated with distance to calculate the average value received from a number of beacons. Now I am touching quite a difficult topic. It deserves a separate article, so let’s not go deeper here.

5. How much energy do beacons consume?

Beacons are standalone devices, which means they are powered by batteries. How long will a beacon work until its battery becomes non-functional? Well, beacons use Bluetooth Low Energy (BLE) standard with a limited signal power, so their batteries can last for quite a long time. Roughly, you can expect that an average beacon will work for at least one year before it needs battery replacement. A battery life may vary depending on the type of a beacon. ShopBeacon’s BLE presence solution, for instance, claims to have a battery life of about five years.

If you don’t want to replace batteries, though, you can use a certain type of beacons that can be charged from a USB port or other sources.

6. Where can I buy beacons?

There is a huge number of different beacon vendors selling all sorts of beacons from very cheap to rather expensive ones. Some of them include Kontakt.io and Sensoro. At the first glance, all beacons differ from one another. But in fact, the main underlying logic is always the same, no matter which vendor you bought them from. All beacons are broadcasting their ids using Bluetooth.

The only difference can be in additional software that some vendors offer, such as programs for beacon fleet management which come in one pack with beacons. As we already mentioned, with this software you’ll be able to adjust a beacon transmition power, change its ids and so on. You may as well modify settings for each beacon by yourself using Bluetooth, but it’s not very convenient if you’ve got several hundreds of beacons to manage.

You can also find beacons with additional sensors, such as temperature and motion. They’re much more expensive, though, and not really necessary.

7. How secure is the iBeacon protocol?

It’s important to remember that the iBeacon protocol doesn’t offer any security at all. Basically, anyone can scan your beacon ids. If you know a UUID, Major, and Minor ids, you can either clone this beacon (assign its parameters to any other beacon) or emulate it with the help of a smartphone. There aren’t many phones that can actually emulate beacons but we’ll probably see more of them in the future.

You’d better not use beacons for exchanging any sensitive data. Let’s picture a hypothetical situation. Say, we use a beacon as a key to the gates. While someone from the authorized staff comes in/out scanning his or her beacon, an offender is waiting outside. If you remember, a beacon range is about 30 meters on the average, which means an offender can easily create a beacon key which will be identical to the real one, and open the door without any difficulty.

Where can you get beacon ids from? It’s quite simple! There are a few ready-to-use apps that can allow this — iBeacon Scanner or iBeacon Detector, for example. These apps show information about all beacons in the range of a phone.

Even though beacons are not the best solution for security-critical apps, there is a huge potential for iBeacon technology yet to explore.