What are Beacons?
BLE restricts the size of the message beacons can send so usually they just send out a static message advertising a unique identifier.
Beacons are devices that sit broadcast a BlueTooth Low Energy (BLE) signal.
The message is usually broadcast at between 1-10 times a second and the beacon hardware tend to be small battery powered devices.
A nearby smart device can choose to scan for these, see them and then decide to perform an action based on the beacon ID.
Beacons are passive – they have a fixed message and communication is one way.
They do not deliver data, only provide a trigger.
Flavours There are a number of different beacon
specifications – e.g.,
iBeaconthe original beacon specification from Apple.
Its main advantage is the built in iOS API that allows background notifications.
EddystoneOpen beacon platform project from
Google, including the Physical Web & working with Proximity
and Nearby APIs
AltBeaconOpen beacon platform from
Radius Networks
So why would I use one?Instead of using location, we can use proximity.
The beacon can move (e.g, buses, trains, taxis, people, dragons).
Lower power, 1-10m accuracy (including vertical).
They work indoors and outdoors.
UID static unique ID
URL compressed URL, usable by the client
TLM telemetry data sent alongside UID/URLEID
time varying security protocol for UID/TLM
Usually, when people talk about Eddystone, they mean Eddystone URL aka
The concept behind this is to extend existing web sites, allowing beacons to broadcast URLS to devices around them.
There is no need to develop a specific app.
URL Beacon
Beacon advertises a URL
Physical Web App or Chrome sees BLE signal
Android – scans when prompted or device unlockediOS – scans on Today View refresh
Google Physical Web Server
Google Servers check & filters out unsafe & ranks
(Chrome)
App displays URLs and Metadata in order
of nearness, quality & non-personalised relevance
Android – silent notification
Google Physical Web: how it works?
1
2
34
The aim is to get Frictionless web page discovery – no more QR codes or typing in addresses.
Eg, I can send a link to the Library website for users as they visit.
Physical objects will lead you to relevant information if you are close to them.
Getting it to Work – Chrome on Android• Inbuilt for Chrome 49 onwards• Switch on Bluetooth and location
• You may automatically receive a notification if beacon devices are nearby
Enable Physical Web in Chrome Settings-> Privacy → Physical Web
Getting it to Work – Chrome on iOS• Switch on Bluetooth• Install Chrome• Enable the Chrome Widget in the Today View
• Refresh the Today page
Getting your URL advertised
Eddystone URL devices are configured through the Physical Web App.
You are restricted with the length of the URL, so more than likely you will need to shorten the URL.
Using a shortener like tiny.cc or hosting your own shortener allows you to change the redirect without
reprogramming the beacon.
Not all URLS are treated the same!
Chrome Physcial Web Chrome Physical Web
Meta Data fetch
Site Summary Description Yes No Yes Yes
Local Site http://mycomputer.local No Yes No No
Unsecure site http://gcell.com Yes Yes No Yes
Secure site https://twitter.com Yes Yes Yes Yes
Fake Site https://madeupname.wal No Yes No Yes
To increase security Google Chrome on Android restricts the URLs it shows. However this is not uniform across
OS and apps! This is also set to change.
ANDROIDiOS
Misconceptions about Physical WebYou don't need an app!
Actually you do, it just happens to be one that already exists.
Notifications just appear! No – you need to set up Physical web on your phone either through
Chrome. Sometimes you'll get notifications on android but in general, you have to purposely search to see the URLs.
You can advertise anything! No – sites need to be https and are monitored by Google
servers.
iBeacon Physical Web
Product Shipping Apple Product, APIs and functionality in iOS
Project, but with built in support in Chrome 49+
Source Specification is public, controlled by Apple
Open source, Apache 2.0 licence
Hardware BLE Beacon, specification by Apple, must be certified to manufacture
BLE Beacons, some WiFi support starting to emerge
Beacon payload
Proximity UUID, Major and Minor Numbers
URL Formatted to Physical Web Spec
Alerts/ Background
IOS allows background notifications Within Chrome automatic scan for a few seconds every device unlock/Today View refresh. Silent Notifications in Android.
Physical Web & iBeacon?
UID static unique ID
TLMtelemetry data paired
alongside UID
EID time varying security protocol for UID/TLM
Nearby NotificationsNearby Notifications is part of the Google Nearby API, allowing device interactions based on proximity. This allows interaction with beacons outside of Chrome.
You can associate an app & website with a BLE beacon. You can then integrate the functionality into your app or send messages to devices via Google Play.
Android users near the beacon will receive a notification that leads to:
A trigger to the user to install a white listed app – message pushed through Google Play.
A trigger an app intent to launch the pre-installed app and get it to perform an action (or go to a web fallback URL).
Open a Mobile Web site
Proximity Beacon APIGoogle Proximity Beacon API is a cloud service that allows management of beacons using a REST API.
You can associate a Latitude, Longitude and Floor number with your UID/EID beacon, and also monitor data sent via TLM.
Android users near the beacon can then receive a notification through Nearby Messages API.
Data is associated to your beacon as attachments Data can be updated remotely You can also Open a mobile website
This can also be managed through the Google Beacon Dashboard and Beacon Tools App.Integrating this into your app automatically deals with beacon scanning in both fore and background.
Beacon Dashboard & Beacon Tools
Manage online through Google Beacons Dashboard
Search for & register beacons using Beacon Tools App
Find out how to integrate in your app using Google Code labs: https://codelabs.developers.google.com/codelabs/hello-beacons/index.html#0
Use Nearby API to automatically scan
& receive messages in your app
1
2
3
Comparing URL and UID
UIDUtilise with native app and/or
Google Beacon Proximity and Nearby APIs to deliver attachments & trigger actions to develop responsive, sophisticated
experiences.Use TLM to provide remote telemetric
data on your hardware fleetAdd EID to secure the beacon ID
and TLM data.
URLSend a secure Web URL that can be
opened directly in Chrome'Walk up and use'
Makes opening web pages smoother.Works with Chrome and Physical Web Apps on iOS and Android.
Used with AppIntegrate Nearby & Proximity API Chrome or Physical Web
ChallengesCreativityPlenty of creative ideas, but need to focus on genuinely improving experience & enhancing an existing app. You need to give users a reason to download and switch on Bluetooth!
Infa-structureThe standards are still evolving & there are still some compatibility issues.
Beacon lifetime is improving (e.g., 5-8 years lifetime), hardware cost is decreasing & experience in installing is becoming more widespread.
DataBe really clear to the user what the beacons are doing and why. Make sure you are clear about what data
is being collected and what is being done with it.
Future Developments
WiFi direct and mDNS for users with Bluetooth off, and to allow larger scale and private Physical Web networks.
FatBeacon – enables you to connect to the beacon so it can send an embedded html to your device (10kB).
https://github.com/google/physical-web/releases
Sharing on Physical Web App–turn your phone or device into a URL Beacon.
Eddystone-GATT allows open development of BLE ecosystem.
More uniform experience – https required across iOS and Android Chrome extensions.
Other browsers are supporting the physical web as well (Firefox OS and a dev build for Opera for Android).
Developing Beacon experiences
Focus on the experience
Don't rely on the notifications or delivered content – you can't always guarantee it; instead think about making relevant content more easily available to users when they want it.
Remember that iBeacon/E-UID beacon doesn't always need to trigger something for the user – passive monitoring can drive better experiences.
Many notifications are irritating and drive people to their screens rather than to the environment they are in; be very tailored and select in what you deliver.
Security and EID
Eddystone EID periodically changes the 8bit ID on the UID beacon to restrict access to authorised users
8 bit AES-encrypted ID is changed psuedo-randomly with a pre-configured period of between 1s to 9 hours.
Applications may want to limit who can use their beacon infastructure, or stop others spoofing (copying in another location) or piggybacking (using your beacon to send their message)
Id is generated on the beacon using a key and timer, and key is exchanged with Proximity API during configuration (either shared or exchanged).
When a beacon is seen the current EID is sent to the Proximity API and it determines if the app is authorised to see the beacon details; if so it serves a Nearby message.
Useful Links(if only there was a way for this presentation to automatically get your smart device to open these relevant links....)
Overview of Eddystone:https://www.linkedin.com/pulse/sharing-urls-easily-public-david-pugh?trk=mp-reader-card
Google Documentation and Guides
Google Beacon Ecosystem
https://developers.google.com/beacons/
Eddystone & Physical Web GitHub – good to see the specs and catch the discussion on latest experiments. Start at the Physcial Web Repo!
https://github.com/google/eddystone
https://github.com/google/physical-web
Find out how to integrate Nearby Notification in your app and use the
Dashboard and Beacon Tool app , see Google Code labs: https://codelabs.developers.google.com/codelabs/hello-beacons/index.html#0
Top Related