iBeacon is the Apple Trademark for an indoor positioning system that Apple Inc. calls "a new class of low-powered, low-cost transmitters that can notify nearby iOS 7 devices of their presence. "The technology enables an iOS device or other hardware to send push notifications to iOS devices in close proximity. Android operating system devices can receive iBeacon advertisements but cannot emit iBeacon advertisements.
The iBeacon works on Bluetooth Low Energy (BLE), also known as Bluetooth Smart. BLE can also be found on Bluetooth 4.0 devices that support dual mode. One potential application is a location-aware, context-aware, pervasive small wireless sensor beacon that could pinpoint users' location in a store: iBeacons could send notifications of items nearby that are on sale or items customers may be looking for, and it could enable payments at the point of sale (POS) where customers don’t need to remove their wallets or cards to make payments. It could be a possible Near Field Communication (NFC) competitor.
It uses Bluetooth low energy Proximity sensing to transmit a Universally unique identifier picked up by a compatible app or operating system that can be turned into a physical location or trigger an action on the device such as a Check-in on social media or a push notification.
Various vendors have made hardware iBeacons that come in a variety of form factors. This includes small coin cell and AA powered devices, USB sticks, and software versions using Bluetooth 4.0 capable USB dongles.
It is important to understand almost all of the logic behind an iBeacon deployment is through the supporting application on the devices (e.g. iBeacon aware apps on the cellphones). The only role of the iBeacon is to advertise to the phones of its own existence at the physical location. Contrary to common misunderstanding, iBeacon do not actively push out notifications (other than the iBeacon advertisement frames) nor does iBeacon actively track nearby users. The application on the supporting devices must handle all the logic after seeing nearby iBeacons. Client devices however can sometimes connect to the iBeacons to retrieve values from iBeacon's GATT service. Values of interest include battery level or manufacturer specific data.
Region monitoring is limited to 20 regions and can function in the background (of the listening device) and has different delegates to notify listening app (and user) of entry/exit in the region - even if app is in the background or phone is locked. Region monitoring also allows for a small window in which iOS gives a closed app an opportunity to react to the entry of a region.
Ranging works only in the foreground but will return (to the listening device) an array (unlimited) of all iBeacons found along with their properties (UUID, etc.)
An iOS device receiving an iBeacon transmission can approximate the distance from the iBeacon. The distance (between transmitting iBeacon and receiving device) is categorised into 3 distinct ranges:
•Immediate: Within a few centimetres
•Near: Within a couple of metres
•Far: Greater than 10 metres away
An iBeacon broadcast has the ability to approximate when a user has entered, exited, or lingered in region. Depending on a customer's proximity to a beacon, they are able to receive different levels of interaction at each of these 3 ranges.
The maximum range of an iBeacon transmission will depend on the location and placement, obstructions in the environment and where the device is being stored (e.g. in a leather handbag or with a thick case).
The frequency of the iBeacon transmission depends on the configuration of the iBeacon and can be altered using device specific methods. Both the rate and the transmit power have an effect on the iBeacon battery life. iBeacons come with predefined settings and several of them can be changed by the developer. Amongst others the rate and the transmit power can be changed as well as the Major and Minor values. The Major and Minor values are settings which can be used if you want to connect to specific iBeacons or if you want to work with more than one iBeacon at the same time. Typically, multiple iBeacon deployment at a venue will share the same UUID, and use the major and minor pairs to segment and distinguish subspaces within the venue. You can for example set the Major values of all the iBeacons in a specific store to the same value and use the Minor value to identify a specific iBeacon within the store.
iBeacon technology is still in its infancy, early adopters of this technology should be aware of software quirks running on the current handsets. One well reported software quirk exist on the latest Android system whereby the system's bluetooth stack crash when presented with many iBeacons.