Beacons are small Bluetooth devices that broadcast a unique identifier to nearby smartphones. There are different beacon platforms like iBeacon, Eddystone, and AltBeacon. Eddystone beacons can broadcast URLs that allow smartphones to access web content without an app via Google's Physical Web. The Physical Web works by having beacons broadcast URLs that are picked up by Chrome on Android/iOS, with the URLs then ranked and displayed based on proximity and relevance. Eddystone also supports unique identifiers that can trigger actions like notifications when nearby via the Google Proximity and Nearby APIs. These APIs allow integrating beacons into mobile apps for interactive experiences.
2. 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.
3. Beacons are passive – they have a fixed
message and communication is one way.
They do not deliver data, only provide a trigger.
4. Flavours
There are a number of different beacon
specifications – e.g.,
iBeacon
the original beacon specification from Apple.
Its main advantage is the built in iOS API
that allows background notifications.
iBeacon
the original beacon specification from Apple.
Its main advantage is the built in iOS API
that allows background notifications.
Eddystone
Open beacon platform project from
Google, including the
Physical Web & working with Proximity
and Nearby APIs
Eddystone
Open beacon platform project from
Google, including the
Physical Web & working with Proximity
and Nearby APIs
AltBeacon
Open beacon platform from
Radius Networks
AltBeacon
Open beacon platform from
Radius Networks
5. 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.
6. 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
7. 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.
8. URL Beacon
Beacon advertises
a URL
Physical Web App or
Chrome sees BLE signal
Android – scans when prompted or device unlocked
iOS – 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
9. 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.
10. 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
11. Getting it to Work – Chrome on iOS
• Switch on Bluetooth
• Install Chrome
• Enable the Chrome Widget in the Today View
• Refresh the Today page
12. 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.
13. 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
14. Misconceptions about Physical Web
You 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.
15. 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?
17. Nearby Notifications
Nearby 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
18. Proximity Beacon API
Google 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.
19. 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
20. Comparing URL and UID
UID
Utilise 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 fleet
Add EID to secure the beacon ID
and TLM data.
URL
Send 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 App
Integrate Nearby & Proximity API
Chrome or Physical Web
21. Challenges
Creativity
Plenty 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-structure
The 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.
Data
Be 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.
Data
Be 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.
22. 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).
24. 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.
25. 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.
26. 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