Showing all posts tagged context-aware:

Google's Eddystone-Updating the Physical Web

Much ado has been made about the Apple iBeacon over the past couple of years with market analysts predicting a rise from $4B to $44B in iBeacon influenced sales. Outside of retail, some interesting use cases have cropped up and have been tested, however mainstream adoption for other verticals isn't there yet. Enter Apple's archrival Google with their Eddystone, an open-source, cross-platform low energy bluetooth (BLE) beacon. The open nature of the Google Eddystone and its ability to broadcast a URL offers some new and interesting use cases, especially since it no longer requires a mobile app. The requirement for a mobile app is the single largest hurdle to adoption of any beacon strategy as it requires end-users to opt in to using a company's solution in a major way. The upfront cost of a mobile app and often lack of understanding around mobile app strategy scares some companies away from attempting this and impedes the overall growth of the solution. Every conversation that I have had around iBeacon solutions to-date involves customer education around what is and is not possible and the level of effort required to make some things work.

What is Different?
Designed to be cross-platform, Google's Eddystone supports the Nearby API and is available on GitHub under Apache 2.0 license.

The Infobubble
Anyone interested in creating awareness of who they are, what they are doing, or empowering a device to do the same in a given location now has the ability to advertise to passersby. This has many implications from brand awareness to interacting with a specific device. Most importantly this can happen on the smallest of scales, increasing the chance for adoption and interaction since there is no dependency on a mobile app. Check out the Physical Web Cookbook for many newer ideas.

Multiple Frame Types
Google Eddystone supports multiple frame types enabling users to interact in a variety of ways. These frames are designated in the Service Data field associated with the Service UUID by using the high order four bits of the first octet. Github provides all this information in much more depth.

Frame Type
High-Order 4 Bits
Low-Order 4 Bits
(Reserved for Future Use)
Byte Value
Unique Identifier (UID)
Uniform Resource Locator (URL)
Telemetry Data (TLM)

Universally Unique Identifier (UUID)
If this sounds familiar, it is because it is the same type of identifier that iBeacons use. Google implemented the same 128-bit value that enables applications and specific use cases using major and minor numbers. This form of interaction is tied to a specific app and as such is limited to users who have that specific app installed.

The implementation of URL broadcast is meant to address the issues in which users aren't so interested in installing an app and caters to a "one-time use" scenario. This powerful option can provide a user with information through a standard web browser, ensuring that all users have access to this data. Effectively this URL broadcast could replace every instance of a QR code with the added benefit of not actually having to take a picture of the QR code, this data can just be available over the air.

Ephemeral Identifiers (EIDs)
A secured identifier that only permits authorized access. A 10-byte namespace is used to ensure uniqueness across multiple Eddystone implementations. Security is achieved using a truncated hash of a fully qualified domain name (FQDN) or an elided version 4 UUID which involves removing some information from the UUID.

Telemetry Data
Diagnostic data enabling an organization to better manage their beacon infrastructure. This includes battery life and other critical info. It is important to know that this type of information must be paired with either EID or URL since it does not contain a beacon ID. Telemetry data may include battery voltage, beacon temperature, advertising PDU count, and uptime.

Eddystone Ecosystem

Nearby API

Proximity Beacon API
The Proximity Beacon API is a new interface enabling users to manage their beacons via the cloud and use a REST interface. This enables monitoring of the telemetry data previously mentioned as well as reconfiguration of the beacons.

BKON Eddystone
I opted for the BKON Eddystones to try, there are a few options out there, but I liked the approach and packaging that I saw on the BKON site and acquired them through Amazon (2 for $60). AAA batteries were included and already installed. Also included a screwdriver and 3M dual-sided sticky tape. One thing I am not a fan of is the lack of screw type mounts as seen on the Aruba beacons. I'm not convinced the 3M sticky tape will hold up as long as a battery will, especially for beacons in tougher climates--outdoors, fridge/freezer, high humidity, etc. That being said though, the overall packaging and included items are great!

Setting up with was painless, simple field with beacon ID (located on side of beacon), valid email address and contact info. BKON sends a validation email to confirm.

Browsing...and a surprise
As of right now a specific browser is needed to browse the Physical Web. The screenshot to the right is from BKON's own "BeaconPages" available for IOS. Alternatively, you can install "Physical Web" available on both IOS and Android. I found it interesting that this Physical Web app picked up my HP printer via Bluetooth and let me view the configuration page. Interestingly, the Bluetooth radio is configured as "off" on the HP printer. I could pull my MAC and IP addresses, subnet mask, gateway, DNS info and host names via the Physical Web browser. I would have to log in to the printer to change any settings, but I was still surprised at how much information was readily available. Perhaps the next blog post will be on security.....

Building a Contextually Aware Network: Geolocation (Part 2 of 4)


Geolocation is defined as the process of physically locating or the actual location of an object on Earth. In defining contextually aware networks, it is no longer enough to know whether someone is on-net or off-net. Where they are "off network" is important as well and can offer additional insights and opportunities for engagement.

Geolocation Technical Details

Geolocation primarily leverages a Smartphone's built in Global Positioning System (GPS) and uses the installed application and either Wi-Fi or cellular backhaul to report current location for users that have opted in to this offering. This enables the operator of a contextually aware application to engage with the customer outside the "four walls" of the organization. At this macro scale, location is typically measured in meters however results vary wildly depending on the type of location being deployed.

Assisted GPS (A-GPS)

Assisted GPS uses a secondary system to increase the accuracy of the GPS satellite reporting. In the case of Smartphones the cellular network is responsible for assisting. This enables the phone to download information about the GPS satellites in order to quickly determine its position and provide updates at an interval frequent enough to be useful for engagement purposes. The newest smartphones are able to use both the US Department of Defense GPS system and the Russian GLONASS system to further increase accuracy. These solutions are limited in scope from an engagement perspective as they require clear visibility to the sky, so they tend to not function in large downtown areas. Recent testing has shown that A-GPS offers approximately an 8 meter accuracy range, which is typically accurate enough for any of the geolocation use cases. IT is important to note that accuracy in dense urban centers may still be challenged at times.


One of the most important aspects of constructing a contextually aware network is the concept of geofencing. A geofence is a virtual construct that overlays a logical "fence" on the world map and allows decisions to be made as a device crosses the geofence or is inside or outside that geofence. A virtually unlimited number of geofences can be constructed, but it is important to know when engaging with the customer is meaningful and wanted. Since the geofence is virtual, no equipment is required at any location defined by a geofence.

How Geofencing Works

Let's assume for a moment that you are headed out on a gambling vacation to "The Vegas Hotel" on the south end of the Las Vegas strip and have installed their mobile concierge app. Upon landing at McCarran airport and taking your phone out of airplane mode, it is able to recognize its GPS coordinates via A-GPS and the concierge app wakes up. Once awake, the app prompts you to meet your hotel shuttle outside baggage claim #2. Once you meet your shuttle and arrive at the hotel, you could also cross a geofence. This hotel side geofence lets the hotel know that you have arrived on their property. A property geofence allows for analytics around when customers are on or off property, insights into the shuttle service travel times, etc.


Geoconquesting is the ability to leverage geolocation and fencing to pursue those who are patronizing a competitor's location. This information may be used for direct customer engagement via their installed application or indirectly by providing information that can tailor how future marketing is done to sway the customer's future decisions as to where they spend their money and/or time. Let's assume that the "Vegas Hotel" highlighted above is running a strategic marketing campaign to capture more business on the south end of the strip. Geofences could be established around competitors properties for analytics purposes to help an organization better understand how much time their customers are spending on property versus at a competing site. Typically this can then be used to entice users to come back to their establishment.

Closing Thoughts

Geofencing is a very powerful component of context aware networking, however the engagements need to be used sparingly as there are many users who feel this type of engagement could be an invasion of privacy if they weren't expecting to receive messages. There are many use cases for the back end analytics enabled by geofencing from location enabled work flow automation for a mobile fleet to targeted interactions with customers to predicting whether or a patient might arrive for a doctors appointment or not and early adopters of this technology have a distinct competitive advantage versus those who do not have the same capabilities.

Quick Links

Part III: Building a Contextually Aware Network: Analytics (TBD-Mid Jan)
Part IV: Building a Contextually Aware Network: The Big Picture (TBD-Late Jan)

An Intro to the Contextually Aware Networking Blog Series

This blog series has been the impetus for me to get back into blogging and sharing my thoughts openly with the world. This topic of contextually aware networks is one that I have been discussing with my inner circle of techie friends for quite some time and it is finally getting to a place where it is relevant for us a technologists and consumers and for our customers. I hope to foster some of the same excitement that I share in those who are new to the space and elicit some good discussion from my colleagues, partners and customers out there. The first three parts will be building blocks for a final post that pulls the it all together.

What is a Contextually Aware Network?

A contextually aware network is one that is capable of delivering the right messages to the appropriate people based upon user defined preferences and do so at the right time and place. To accomplish this the system must be able to determine what is relevant to the user through opt-ins, installed Smartphone applications, etc. It is important to understand that for now, the Smartphone is a required ingredient of this solution as it is something that is personal to each of us. With time it is inevitable that there will be further integration with wearables that may offer further context and interaction.

Contextually Aware Network Scenario

You have booked a vacation at a tropical resort with your favorite people and are headed out to the airport. At the prompting of the hotel you have gone ahead and installed their application on your phone, enabling it to be your personal concierge for your trip. Upon arrival in this city your resort's app on your phone wakes up and pops up a message "Welcome to ______, John/Jane Doe. Please meet your shuttle outside the Terminal 1 baggage claim." After a ride to the hotel, you walk in and are prompted by your phone again "Welcome to Hotel _______. Would you like to use our e-check in?" Upon selecting yes, your phone checks you in based on your ID and credit card information on file with the hotel. The app then prompts you "You are in Room 135, can I get you directions?" Selecting yes here will provide you with turn-by-turn directions to your room from your current location. Your phone also notifies you that hotel management has installed smart locks in all of its rooms and the phone can be your room key if so desired. Upon entering your room, the phone is able to ask if everything meets your standards and allows for immediate delivery of anything that is missing or desired. Throughout the stay, your phone is able to notify you of anything you are interested in such as happy hours, shows, gym hours, etc. Down at the swimming pool, you are able to relax knowing that your valuables and cash are locked up in the hotel room safe and that your app can be used for checking out towels and paying for beverages or cabana rentals. Out on the golf course, you and your friends are able to order snacks and beverages from your Smartphones and have it delivered to you on the next tee. The shopping area notifies you of a free appetizer at dinner with a purchase from one of the stores. Upon checkout your receipt and bill summary can be delivered via app and a link to review your stay may be provided to you.

This blog series will explore how the systems supporting this scenario are built at a very high level and shed some light on some of the key components that make a context aware network tick.

Quick Links

Part III: Building a Contextually Aware Network: Analytics (TBD)
Part IV: Building a Contextually Aware Network: The Big Picture (TBD)