Beacon Technology: Everything You Need to Know to Start Coding
Beacons have been around for a long time, but Pokemon Go has given them a new lease of life. Want to get started with beacon technology in your app?
Join the DZone community and get the full member experience.Join For Free
Unless you’ve been living under a rock the last couple of days, it’s been almost impossible to miss the wildly popular release of Pokemon Go mobile application. Central to the application is geo-location, which is used in conjunction with augmented reality to place virtual characters in the real world where they can be sought and captured by game players.
Clearly, users have found this to be fantastically entertaining, hence the incredible popularity of the launch. What this phenomenon really shows is the power of location-based information to provide end users with delightful experiences that increase user engagement, interaction, and brand involvement.
There is tremendous opportunity for all kinds of mobile apps to similarly provide delightful experiences and increase user engagement through careful and thoughtful use of targeted location-based customization. While GPS based geo-location is appropriate for many use cases, another option, especially for indoors situations, is the use of beacons.
When a customer gets close, the beacons can send out a message or collect data. Most are made to be permanent attachments to walls or machines, but some are small enough to be hidden away where no one will notice them. Welcome to beacon world.
How Do Beacons Work?
GPS is great for tracking the progress of your rideshare or orienteering across the wilderness. WiFi is a great way to connect wirelessly. Cell towers have pretty good coverage. None is fine grained enough to reliably pinpoint individual mobile devices inside buildings. That’s where beacons excel. Beacons collect data or send push notifications to devices using BLE, not Bluetooth. The difference is huge because BLE:
- Does not require battery-draining pairing.
- Consumes 50-99 percent less energy than Bluetooth.
- Is around 60-80 percent less expensive than Bluetooth.
- Has an average range of around 70 meters (230 feet) — some can be extended to 450 meters (about a quarter of a mile).
Top Players in the Beacon Market
Some of the most common uses right now are in retail, where beacons deliver targeted content based on proximity, like geo-fenced marketing and individually relevant coupons. Stores also use beacons to better understand their customers and the shopping pathways they take through the store. Some of the biggest of the many beacon manufacturers are:
- Estimote – you can already dig into more than 10,000 SDKs for this popular beacon maker, which is on track to dominate the industry.
- Sensorberg – this company makes mini-beacons with a range on the low end (30 meters) for tight places like retail shops. They specialize in easy integration with existing apps.
- BlueSense – This is one of the new entrants that is showing a great deal of promise with a growing community and tiny beacons that can be used for inventory control.
- RadBeacon – Yes, it lives up to its name by being fully contained within a tiny USB stub. If you want to get a beacon up and running fast, all you have to do is slot it into your laptop and you are in business. An app from Radius comes with it to help you set specifications.
Eddystone vs. iBeacon
Last year, Google introduced an open and multi-platform beacon standard – Eddystone. What makes Eddystone unique is that it offers a way for beacons to deliver a packet of data and a URI so there is no need for an app at all. The data packet can also transport sensor information so it has wider application to the Internet of Things. These developments deserve careful attention, but the dominant standard for beacons right now is the iBeacon.
Does Apple Make an iBeacon?
In many online discussions, you may see people using the term “iBeacons” interchangeably with “beacons,” and this is likely deliberate on Apple’s end. Really, iBeacon is just a set of standards for beacons promoted by Apple for tech that runs on iOS or Android.
A standardized format for an iBeacon ad packet has four parts:
- UUID: The 16-byte ID refers to the company taking ownership of a beacon group. In this example, Coca-Cola has a network of beacons spread out across many retail locations. That way, advertisers can track the beacon group that delivered high-performance coupons or messages.
- Major: All beacons in the network at one store or neighborhood would share this two-byte number.
- Minor: Another two-byte ID number shows where the customer was when they took action.
- Tx Power: Proximity to the beacon is a big deal and the basis for more accurate targeting. Proximity measures the strength of signal and power levels. Once a proximity measure is calibrated and hard coded into the beacon, it uses those configurations to estimate proximity. The three ranges are:
- Immediate – within a few inches
- Near – Within a few feet
- Far – more than 30 feet away
Here is a typical iBeacon packet:
- UUID: 12345678910245 (Coca-Cola)
- Major: 22 (a specific Target store)
- Minor: 2 (the location within the store)
- Tx: user defined
You might be able to extrapolate based on these configurations what is emerging as one of the biggest challenges for beacons going forward.
Too Many Beacons?
On the pro side, beacons give retailers better intelligence on shoppers and manufacturers better data on productivity. Consumers get more relevant discounts when they need them and advertisers get smarter targeting technology
The drawbacks are:
- The infrastructure is too new – Many are waiting for the technology and development community to mature before they invest.
- The hardware can be ugly – Some critics deride the first generation of beacons as “wall warts” that break up the aesthetics of the interior design.
- The entire concept may be too invasive – Everyone who saw “Minority Report” (the movie or the TV show) remembers the intrusive, way-too-personal ads that pop up on thin air, covering the main character’s field of vision in some scenes. Almost 75 percent of those surveyed this year have privacy concerns about beacons. Surprisingly, 60 percent said they would be OK with giving up privacy for relevant discounts.
- The air is getting crowded – We live in a sea of overlapping WiFi coverage, GPS satellite coverage, cellular carriers, near-field communications (NFC) and much more filling up the empty spaces. Next-gen WiFi is even making a play for replacing BLE in beacons. Other, unrelated devices, like wind farms and power grids, also generate fields that interfere with radio frequencies. Electronic noise pollution is emerging as the next battleground, degrading battery life, signal clarity and communications as the number of IoT applications expand logarithmically.
All these problems are being addressed by the industry, but if you can come up with creative solutions to address any of these issues, you would instantly become a very valuable resource.
Getting Started on Coding for Beacons
As always, GitHub is a great place for gathering resources for your first beacon coding experience. Estimote has built up an extensive set of beacon SDKs, as mentioned above, and you can grab them all starting here.
Many iBeacon developers prefer to start with Swift. Take a look at this great step-by-step walkthrough, starting from the Xcode editor. It’s for iOS, and you should be comfortable with Swift, but it’s a good starter project that locks signals within a specified proximity and sends out a message.
If you’ve already gotten started on IoT applications with Arduino, you can try your hand at creative alternatives to standard iBeacon tech. This DIY beacon tutorial covers how you build an iOS/Android compatible app using an Arduino board with a BLE shield.
If you want to get started with Google’s Eddystone platform, there are very simple Android applications for creating a way to broadcast Eddystone-UID BLE packets directly from your phone. To start using Google’s beacon platform, just launch a project in the Google Developer’s Console account. You can start a new project and register your application under that account. First, enable the Google Proximity Beacon API, then build an Android API Key along with your Android OAuth 2.0 client ID. Make sure you build the API key before you enable permissions or you could have trouble connecting to Google services.
Even though beacons and their value are just beginning to be explored across many industries, some analysts are already looking farther afield. Beyond 2020, LTE Direct has the potential to be more powerful than BLE for communications. It can accurately pinpoint signals up to 500 meters away and has limitless scalability because it doesn’t rely on beacon hardware. It operates within existing cellular networks, and the device itself is the beacon. Still, that won’t replace beacons entirely because there are many use cases, such as in exhibits and displays, where a stationary beacon will still be preferable.
There are two sides to the upcoming privacy debates concerning beacons and other proximity-sensing technology. The first is that people want the ability to not be tracked and the other is that companies need to be assured that data collected by beacons can be kept secure. Most enterprise-level security protections are designed to handle devices this far out on the edge of the network. Both are likely to spur industry oversight or regulatory legislation on the state and federal level.
Another likely development is the commoditization of beacons. The manufacturing of beacons may soon be small and cheap enough to allow beacons to be printed on stickers. Any object, electronic or not, can become its own beacon. With the right sensors, it can report on its state, temperature, motion, etc. That, in the end, will be the truest expression of the new beacon world.
Lastly, do forget that as you develop your strategy for incorporating beacons into your overall enterprise applications, you also need to ensure that you have a system in place for monitoring the performance of beacon-enabled applications. AppDynamics offers a complete system for adding beacons and IoT devices as part of your application infrastructure and monitoring the performance to ensure you deliver a delightful and performant end-user experience that increases engagement, interactions, brand attachment, and conversions to drive your key business KPIs.
Published at DZone with permission of Peter Kacandes, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.