Welcome!

Mobile IoT Authors: Rostyslav Demush, Mauro Carniel, Pat Romanski, Elizabeth White, Liz McMillan

Related Topics: Mobile IoT, Agile Computing, Wearables, @ThingsExpo

Mobile IoT: Article

iBeacon Protocol, #API and the #InternetOfThings | @ThingsExpo #IoT #BigData

How Beacons and the iBeacon Protocol Fit With the API and the Internet of Things

How Beacons and the iBeacon Protocol Fit With the API and the Internet of Things

By Jennifer Riggins

Forbes called 2015, the Year of the Mobile Beacon.  AdWeek talks about how beacons are already influencing the way we networkget drunkvacationshop, and even how we buy sausage. Ten experts at Marketing Land predicted that this year the whole world of mobile marketing will become acutely location-aware. Plus, if Google, Apple, and Facebook are betting on it, shouldn't you? We'll dive in and learn how beacons interact with APIs, how the different beacon protocols work, and what makes for a quality beacon experience. But First:

[session] Internet of Things and ‘The Physical Web'
[blog] Beacon, Oh Beacon, Wherefore Art Thou Beacon?

Beacon API Use

What are Mobile Beacons?

Beacons are small, often inconspicuous pieces of hardware that allow indoor communication and enable customized mobile marketing, all via low-energy Bluetooth or BLE.

So, are beacons a part of the Internet of Things? Some people have argued no, but I think it's apparent that beacons are IoT because, literally speaking, they are things that connect to the star of it all-the smartphone-with the end objective of an improved experience. That's the essence and value of IoT, right?

Sort of.

Dana Blouin, a PhD student researching power-constrained center-node networks and general IoT thought leader, beautifully calls beaconing "user experience plus user interaction."

User Experience Plus User Interaction

"We don't work with the beacon directly. It's very passively there but it's giving us a very active experience," Dana said. "It's a proximity center, worked over BLE, with push notification, but we're not actually directly interacting with the beacon, the beacon is interacting with our mobile device. Some app is driving that user experience. The beacon is the context for that. The beacon is there to gain more insight into what we're doing." This is an apparent trend throughout the Internet of Things-machines talking to machines and acting upon that interaction, humans aside.

Blouin gives the example that, if you are in the shaving aisle, you could receive a push notification for 20 percent off Gillette razors if you buy This Item in Aisle Y. "You're collecting data from X to give to Y." Talking about how brands can collaborate, he says it's all about using a beacon to understand "what each other is getting and you want the other to know."

But, if we look at beacons as a part of the Internet of Things, it can be easy to look at it as another security and privacy complication in the already complicated seven-layer stack. It's important to look at it as another opportunity for testing and quality assurance.

Beacons and APIs work together?

We talked to Oscar Guillen Mateu, big data platform engineer, and Ivan Gonzalez Gutierrez, mobile developer, about their experience with beacons at MOCA Platform, a big data analytics platform that combines insights from open data, BLE beacons, GPS, WiFi, user settings, and user behavior via Android and iOS software development kits (SDKs).

In the case of MOCA, we have things like ‘Oh, I'm next to a beacon, that means I'm in this place.' If you're in this place that means the application knows that you're in this store and this store has offers and discounts for beverages. It asks the server, ‘What are the discounts?' The server responds back: ‘Coca-Cola is ten percent off'."

Guillen went on to describe the process of how the two application programming interfaces or APIs interact. The SDK searches for any beacons in the area. The beacon notifies the smartphone, then the mobile API sends information about where you are along with analytics for future machine learning, and, in return, it asks if there is information to share. The end user then receives a push notification.

On the other side of the cloud layer, the console API is found on the MOCA Platform website. The store owner is able to ask questions like:

  • How many users have been in the store today?
  • How many people with this profile have been here?

"Imagine that you're the store owner, every time a user interacts with a beacon, this user is here," Guillen said. This locational information combines with other data to uncover behavioral patterns that can be turned into highly segmented marketing campaigns.

Assuring beacon-based APIs are efficient in the face of stress and limited power

Guillen says that "You have to be efficient enough that you are able to have millions of phones sending data at the same time. You cannot be stuck processing that data. You have to have a process that's crunching data at its own pace. You are storing all the information, [and] you have to have all the preferences because the users have to have all that information right from the start to prioritize to some tasks and others."

He recommends using a stress simulator to generate a lot of fake users accessing the server at the same time, to see how far you go and to understand your limits. When you hit that limit, ask "Is that good enough? What happens if we add more servers, does it scale correctly? Maybe we have to think of another way to process that information perhaps horizontally." He says that it is always their target to have things as horizontally scalable as possible-one million users for one server, two million users for two servers, and so on.

MOCA had this when they provided the official app and beacons to more than 43,000 users at the 2015 Mobile World Congress. Gonzalez describes something that happened there: "You see four beacons. We send the information to our back-end to create a heat map-our server did crash but we had backups, so the architecture worked because they maintained the service."

But you not only have to make sure that your server doesn't crash, you have to make sure you aren't draining the phones either.

Your Software Impacts The Battery Life of Every Device It Runs On

The clients who have applications on users' phones need to make sure that the app doesn't use up too much energy, as the end users will simply uninstall the app that's draining all their battery. "It is very important that, when in range of beacons, we should perform efficient scannings, otherwise we will kill device the battery. iOS performs this scanning without our intervention, but in Android we have the control over the scanning frequencies," Gonzalez said.

Guillen recommends to have it pull once every 30 seconds or minute, or based on some specific data that arises during testing, and then tweaking once it's out in the wild.

He also suggests other ways that you can achieve the same level of data while preserving battery life. "Besides GPS, the mobile has other mechanisms to give you information about your location. Just by having the phone on, it can triangulate using the communication towers [for an] approximate position." You can also set frequency of information pulls based on short-term movement patterns. "Because you're moving very fast, I'll ask more frequently, but, if you are staying in one place," he'll instead ask infrequently over longer intervals.

The MOCA Platform includes a heat map to help determine the best times to pull based on movement. Guillen says that "for privacy and battery you [sometimes] can't follow an entire place-in an airplane, it moves fast, but if you're in a cafe for an hour, you can just send the data once."

Also, after the first pull to see if there are any messages to send back, a good way to save precious battery is that the mobile phone can store the info and then it'll group it into a package, only sending once more, perhaps when the phone is charging at home on WiFi.

This all makes it essential that you are testing any beacon-related program on multiple devices over multiple periods of time, preferably at multiple locations.

How can you assure beacons are efficient?

Like with everything IoT, it's important not only to test the viability and efficiency of your apps and APIs, but also the viability and efficiency of those "things." In this case, beacons can be quite finicky and imprecise things with the radio frequency being easily interrupted.

"In the SDK for this particular problem is reliability, determining whether you are close to the beacon or not. The signals have a lot of characteristics but are not stable. We have found a way to try to stabilize the signal so we can have reliable measurements from the beacon," Gonzalez said.

Not only do you need to test on different devices, but with different obstacles and obstructions that could make things worse.

"There's the reliability of the beacon itself because these things are quite sensitive," Guillen said fiddling with a beacon. "If you have walls in the middle, maybe the reach is shorter than you want. If you want to have a radius of 30 meters, how much power do you have to give it?" He recommends to ask multiple beacons to triangulate a more accurate position to get an average of distances.

You also need to test the reliability of the geolocation data, creating a balance between battery preservation, movement and precision.

"If you use multiple beacons to calculate location, you can be more precise about which part of your store your user is at, such as aisles, queues or sections if they are small. Also, you can't be asking for the user's position every five seconds, or you end up draining half of the phone's battery. The reliability of measuring the distance of the beacon, determining if you are in some of the regions-I think this has been one of the most challenging parts of the SDKs because it's a hand-off between reliability and efficiency."

For this he says that the first thing developers using the MOCA Platform will test is the reliability of the SDK detecting beacons. You can read more about mobile testing strategies here.

How can you assure security and privacy with the openness of beacons?

The list of the IDs of beacons and approximation of distance are tied to the beacon protocols, but, so far, the majority of beacons are with fully open RF, which means multiple parties could be drawing information from the same beacon.

"Security is very important because you don't want your account or your privacy compromised, so you have to be able to give access to your app to all of your users, but the client has to be the only one able to retrieve analytics from his application," Guillen said.

This is where he says OAuth comes in. "You will need it because the information that the mobile retrieves has to be linked to a user in order to be useful. If anyone was able to hack information and send false data about beacons-maybe say that you were in this place and you weren't there-your profile is getting manipulated by someone else. And that's going to affect the client because he won't be able to get good analytics because the data is compromised," he continued.

Gonzalez jumped in to explain: "You can send a new profile with wrong data, but you cannot corrupt someone else's profile as its information is securely managed within the phone and in its way to our servers." He says this is why the user has to use OAuth to log into the app so that his information is just his and not mixed with anyone else. Also, on the client side, they have to be authenticated as well, because they don't want their information to be leaked out to competitors  to breach users and sell their product first."

OAuth and a secure platform to build on is the best way to assure security, privacy and accuracy of information that comes in via beacons.

iBeacon Logo

Is iBeacon the prevailing protocol?

Apple was the first big name to bring beacon to mainstream news with its iBeacon protocol back in 2013. "And after that, a lot of people adopted this protocol because it had a lot of traction," Gonzalez said.

Director of API architecture at the API blog Mike Amundsen says that the iBeacon real estate is in itself a pretty closed system, admitting that "One way to build a platform is to actually dominate the space so no one can get in." But he pointed out that this is limiting, saying that, across the Internet of Things, "Someone has to start thinking about the protocols or the formats, independent of some sort of the product or brand."

Amundsen says that "The challenge is the protocol is really good," but asks if one protocol can really do it all.

Perhaps that's why a year after iBeacon, Radius Networks released another standard called the AltBeacon protocol, which is quite similar to the iBeacon but created for the open source community with the goal of greater interoperability. Gonzalez says that AltBeacon "will still work with iOS but maybe in a different way than iBeacon."

The iBeacon and AltBeacon protocols are just about identifying the beacon itself and its location, but not what the beacon does.

At the start of this year, Google came out with the uriBeacon protocol which is related to URLs.

"Instead of just saying who you are we and where you are, now you can have a beacon directly linked with information to a website. You won't need anything else, read this info from the beacon directly," Gonzalez said.

"The great thing about this solution [uriBeacon] is it's open, it's pragmatic, and it's quite straightforward for a lot of people, but what you lose with this solution is you don't have a lot of flexibility to configure with a console because-imagine you had one thousand beacons in a mall, you would have to go there and program each individual beacon, and the maintenance would be quite high. Other solutions, like the one we're working on, you don't have to even go there."

What should QA keep in mind when testing beacons?

When it comes down to it, some of the things you will test for will be common-sense practices for all quality assurance, while others are tips just for the beacon-based world. Here is a checklist for what to test for the best beacon proximity experience-for your customers and for their end users:

  1. As always, keep developer experience as the priority when testing the API console.
  2. Assure back-end synchronization. Make sure that everything that you've saved in the console is going to your mobile users without any problem.
  3. Check, can it handle the stress?
  4. Battery consumption is an essential factor.
  5. Find the right beacon protocol that works for your needs.
  6. The SDK must prioritize security and privacy, always remembering that the code is actually running on on the mobile devices.
  7. A great proximity experience is about a great user experience. The pleasure comes in the details.

Have you worked with beacons and beacon protocols? Tell us about your experience below!

More Stories By SmartBear Blog

As the leader in software quality tools for the connected world, SmartBear supports more than two million software professionals and over 25,000 organizations in 90 countries that use its products to build and deliver the world’s greatest applications. With today’s applications deploying on mobile, Web, desktop, Internet of Things (IoT) or even embedded computing platforms, the connected nature of these applications through public and private APIs presents a unique set of challenges for developers, testers and operations teams. SmartBear's software quality tools assist with code review, functional and load testing, API readiness as well as performance monitoring of these modern applications.

@ThingsExpo Stories
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things’). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing? IoT is not about the devices, it’s about the data consumed and generated. The devices are tools, mechanisms, conduits. In his session at Internet of Things at Cloud Expo | DXWor...