Scaling API-first – The story of a global engineering organization
Beacosystem Talk @ MongoDB User Group Dublin @sos100
1. Sean O Sullivan twitter: @sos100
A Tour of the Beacosystem
Background, trends and what’s next in
Proximity and Beacon technology
2. Me
You
Techie, Comp. Sci.
SW Developer
Rococo/Dial2Do
IONA
CTO @ Effective Software
LocalSocial/mySay
Interested in Proximity / Beacons?
Startups
3. Java / Bluetooth
JSR82 Tools /
Implementations
Proximity Platform
(WiFi, Bluetooth)
LocalSocial
2000
to 2007
2008
2009
Proximity Interest
Some Proximity product track record at scale
Set the standard
400M phones
World’s 1st
4. Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
5. Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
7. The Near and the Now
WiFi
Bluetooth
NFC Tag
QR Codes
Bluetooth Smart
iBeacon
Technology
Proximity
8. The Near and the Now
WiFi
Bluetooth
NFC Tag
QR Codes
Bluetooth Smart
iBeacon
User is Nearby
User Taps
User Scans
SignalsTechnology
User in-store
Proximity
User dwells
User left
9. The Near and the Now
WiFi
Bluetooth
NFC Tag
QR Codes
Bluetooth Smart
iBeacon
Unlock
Collect
Display
Reward
RAOK*
Signals TriggersTechnology
RAOK = Random Act of Kindness
Proximity
Log
User is Nearby
User Taps
User Scans
User in-store
User dwells
User left
10. The Near and the Now
WiFi
Bluetooth
NFC Tag
QR Codes
Bluetooth Smart
iBeacon
Unlock
Collect
Display
Reward
RAOK*
Signals TriggersTechnology
RAOK = Random Act of Kindness
Proximity
Log
User is Nearby
User Taps
User Scans
User in-store
User dwells
User left
Analytics
Insight
Top Visitors
Busy hours
Busy Areas
Dead Areas
Dwell times
11. Signals
The Near and the Now
WiFi
Bluetooth
NFC Tag
QR Codes
TriggersTechnology
Analytics
Insight
Top Visitors
Busy hours
Busy Areas
RAOK = Random Act of Kindness
Proximity
User is Nearby
User Taps
User Scans
User in-store
User dwells
User left
Dead Areas
Dwell times
Unlock
Collect
Display
Reward
RAOK*
Log
Bluetooth Smart
iBeacon
Bluetooth Smart aka Bluetooth Low
Energy : ideal for proximity use cases
12. 12
Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
13.
14. 14
BLE (Bluetooth Smart)
Sensors on right hand side
HRMs, Smart Home, Connected Locks, Watches, etc. etc.
Devices that can talk to or “see” sensors on left hand side
Branding is “Bluetooth Smart” and “Smart Ready”
15. 15
Proximity and BLE
Proximity Beacon on Right Hand Side
Something unique available to device on Left to identify the Beacon
Devices that can “see” sensors on left hand side
Beacons kept (mostly) simple
“I’m Here”
Some Unique Information
I
see
you!
16. 16
Place Beacons
at specific
areas within
retail spaces
Customer with Device
detects Beacon - can
trigger a greeting, an
award, an offer, digital
product information -
and so on…
Beacons used to “mark” physical areas for data
collection and engagement (notify, reward, context, etc.)
Beacons in use
17. 17
Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
18. Bluetooth - BLE in particular, used for location and services
Ever wondered about this?
Appeared since
iOS7
Has been here
“forever”
21. Ranging
Controls
Some Zone
Beacon set to
“red” range
Beacon set to
“orange” range
(and so on, red
is “tightest”,
green is
“widest”)
User
path
User only “trips” proximity with the beacon if it crosses within the range threshold for that specific
beacon. Gives users fine grained control over how they layout Beacons around a given Zone.
1
2
3
4
5
Y
R
R
R
R
G G
O
O
O Y G
22. 22
Bluetooth Low Energy Device Battery powered, USB, mains powered, solar powered, passive powered
Repeatedly transmits a message in an agreed way (it advertises itself)
All iOS and all new Android devices can “see” this message
Range : 10M / 30 feet
23. iBeacon ecosystem
Apple knows how to build a value network
Background
Notifications
(iOS)
Proximity APIs
(iOS)
iBeacon
Support in all
mobile devices
Certified
iBeacon
Hardware
Programme
Exemplar usage
in Apple Stores
All iOS devices
can act as an
iBeacon
Developers can
quickly build in to
apps
Place based push
notification of value
to retailers and
venue owners
Large market for
proximity powered
experiences,
including on Watch
Supports p2p
experiences, and
next generation
POS and hospitality
Wide range of
hardware
available
Showcase
what’s
possible
34. Data. Data. And Data.
Same as eCommerce: where, how long, who
came back, what engaged, etc.
35. Data
Location
User
1
2
3
4
5
Y
R
R
R
G G
O
O
Row location_id duration created_at name
4168 2954 1015 2014-07-10 11:37:00 1. Solutions
3445 2953 1015 2014-07-10 11:37:00 2. Servers
2462 2952 1015 2014-07-10 11:37:00 3. Storage
5224 2955 1015 2014-07-10 11:37:00 4. Innovation
985 2950 1015 2014-07-10 11:37:00 5. Client Computing Devices
6119 2963 1015 2014-07-10 11:37:00 6. Retail
36. 36
MongoDB was introduced to store and serve denormalized
location data instead of building a tree of data out of the SQL
result on every call (which is how we started!).
DEFAULT_LOCATION_DURATION = 1.minute
LOCATION_VISIT_MIN_INTERVAL = 45.minutes
SHOPZONE_VISIT_MIN_INTERVAL = 121.seconds
• Any new visit to a beacon attached to a location or zone, creates a OwnerVisit
record with a duration of DEFAULT_LOCATION_DURATION
• A given visit to a location is aggregated with the previous visit if the previous
visit was done less than LOCATION_VISIT_MIN_INTERVAL ago
• A given visit to a zone is aggregated with the previous visit if the previous visit
was done less than SHOPZONE_VISIT_MIN_INTERVAL ago
• Visit to a zone triggers a visit for its parent location
Visits, Dwell Times, Paths
50. 50
Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
53. Proximity approaches compared
iBeacon vs Physical Web
53
Product
Source
Hardware
Shipping Apple product, APIs and
functionality baked in to iOS, many
hardware manufacturers
Beacon
Payload
iBeacon Physical Web
Right now a Project, no in-built
support in Android or elsewhere
Alerts /
Background
Specification is public, controlled by
Apple
Open Source project, Apache 2.0
Licence
Bluetooth Low Energy Beacons,
Specification by Apple, must be
certified to manufacture iBeacon
Bluetooth Low Energy Beacons,
Specification by Google, anyone
can manufacture
ProximityUUID, Major and Minor
code
URL formatted according to
URIBeacon Specification
iOS allows background notifications
No proactive alerts, and no
background scanning
55. 55
UriBeacon
advertises a
URL
Physical Web App
sees UriBeacons
nearby, displays
them in order of
nearness
UriBeacons transmit URLs, App interprets URL…
Google Physical Web : how it works
Site / Content
Interactive Web
Deep link to App
Controls over
connected device
URL can lead
to…
1
2
3
4
56. Story so far
Google Proximity Timeline
56
2013 2013 2014 2015
BLE
Hardware in various
Android devices, no official
APIs, some manufacturer
APIs == confusion
JellyBean
First real BLE support
in 4.3 - scanning,
GATT etc.
Physical Web
September 2014:
Physical web
appeared as a project,
with URIBeacon spec.
Eddystone
July : Eddystone
announced - major
evolution in approach
to proximity
Proximity and
Nearby APIs
Proximity APIs released;
Nearby and Place APIs
now Beacon-aware
iOS Today
Widget
For Chrome on iOS -
now hunts for Beacons
nearby when tapped
58. Google’s open standard for Beacons
Eddystone™
‣ Protocol Specification
‣ Defines the message format for messages
transmitted by Beacons
‣ Designed to work on Android and iOS
‣ Frames used to define use cases
• Three initial types: URL, UID, TLM
‣ Extensible
• Eddystone-EID
58
59. Used to broadcast a URL
URL Frame : Eddystone-URL
‣ Goal: get a URL to receiver
‣ Compressed to fit in advertisement packet
restrictions of Bluetooth Smart
‣ Described as “backbone of the Physical Web”
‣ This now does what URIBeacon used to do
59
60. Used to broadcast a unique ID
UID Frame : Eddystone-UID
‣ Contains an opaque, unique 16-byte Beacon ID
composed of
• 10-byte namespace ID
• 6-byte instance ID
‣ You decide how you might use the UIDs
• e.g. namespace == customer, instance == individual beacon
• handy for filtering (I’m only looking for Brown Thomas
Beacons, so filter on namespace 495464)
‣ You can (kinda) think of the UID use case as being
the “iBeacon” use case 60
61. Used to pass on Device information
Telemetry Frame : Eddystone-TLM
‣ Battery voltage
‣ Temperature
‣ Light
‣ Packets / activity
‣ Uptime
‣ (etc.)
61
62. Security and “protect my network”
Eddystone-EID
‣ Eddystone-EID : A time-varying beacon frame
that can be resolved to a stable identifier by a
linked resolver, such as Proximity Beacon API
• Prevent other parties from using their beacons.
• Preserve user privacy in scenarios involving wearables or
other equipment carried by the user.
• Lease their beacon network to other parties in a way
that allows a provable 'off switch' for access.
• Provide a strong signal that a user is at a particular
place, that is not easily spoofed
62
64. Cloud based store for Beacon information
Proximity API
‣ REST API - core is the Beacon Resource
• beaconName, AdvertisedID, Status, Expected stability, Latitude
and longitude coordinates, Indoor floor level, Google Places API
Place ID, Freeform text
‣ Status
• Active, Decommissioned, Inactive
‣ Stability
• Stable. portable, mobile, roving
‣ Beacon Methods
• Activate, Deactivate, Decommission, Get, List, Register, Update
64
65. Cloud based store for Beacon information
Proximity API
‣ beaconName
• Has the format "beacons/N!beaconId" where the
beaconId is the base16 ID broadcast by the beacon and
N is a code for the beacon's type. Possible values are 3
for Eddystone, 1 for iBeacon, or 5 for AltBeacon
‣ AdvertisedID
• Enum (EDDYSTONE, IBEACON, ALTBEACON)
• Id (String) - the UUID being broadcast by the Beacon
65
66. Google proximity ecosystem
Getting wired-in to wider ecosystem
Proximity
Beacon API
Eddystone
Hardware
Nearby Message
API
Places API
Chrome iOS
Widget
More flexible and
extensible than
iBeacon ==
developer friendly
Cloud based
management for
Beacons and
metadata
Eddystone proving
attractive to many
Beacon
manufacturers
On iOS, the
Today Chrome
widget now
scans for
Beacons
Subscribe to
messages
attached to
Beacons
Can register
PlaceID with
Beacons -
acts as signal
to Places API
68. 68
Proxbook is a service provided by UnacastProxbook is a service provided by Unacast
BEACON STANDARDS
Google Eddystone catching up to Apples iBeacon
POPULARITY OF DIFFERENT BEACON STANDARDS
% of total Proxbook members supporting a beacon standard
Q4 2015 Q1 2016Q3 2015Q2 2015 Q2 2016 Q3 201
49%
55%
45%
5%
25%
38%
96%
90%
96% 93% 90% 89%
The most recent beacon protocol to launch is Eddystone by
Google. By using Eddystone you can trigger both URL’s in
browsers on smartphones as well as notifications in mobile
apps, and it is supported on iOS and Android. More and more
proximity companies are adding Eddystone support into their
product portfolios, and Google is strengthening it’s position in
the beacon standard competition each quarter.
iBeacon is the beacon protocol made by Apple. iBeacon can
trigger notifications within mobile apps and is natively
supported on iOS. Apple has been quiet since the release of
iBeacon in 2013. However, a new Apple device has just passed
through the FCC and it will come with both Bluetooth and
NFC. They also recently removed the headphone jack from the
iPhone 7, putting more emphasis on Bluetooth.
Could this be Apple’s way of forcing the market to adapt to
Bluetooth before releasing the new iBeacon 2.0?
As of Q3 more than half of the
proximity industry is using Google
Eddystone.
70. 70
Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
72. Anywhere from 60M to
300M Beacons deployed
worldwide by 2018.
Currently, 1-2M, excluding
Apple iOS devices.
We are here
73.
74. Pure Play Hardware Companies with standalone Beacons
Marketing Automation Companies using Beacons for indoor, place-based signals
Place / Location Analytics companies using Beacons for indoor & place-based signals
Vertical Solution Provider using Beacons for features (Events, Museums, Enterprise, Real Estate)
Shopper Marketing Platforms using Beacons to trigger engagement, understand context
General Purpose Proximity Platforms offering PaaS to everyone else
Indoor Location Providers using Beacons as part of the Indoor Location arsenal
Hardware Companies with embedded Beacons (Lights, Sockets, Wearables)
Lots of different players in the Beacosystem
Ad Networks / DSPs linking to Beacon networks for re-targeting, offline to online (O2O)
93. 93
Bluetooth, BLE, and Beacons
How the Bluetooth Standard helps power proximity
Apple, iBeacon, and Use Cases
Where iBeacon fits with BLE and who’s using it
Google Physical Web and Eddystone
The Google approach to Proximity
The Beacosystem
A run through the increasingly crowded Beacon / iBeacon “space”
Proximity
The Near and the Now
Issues, Trends and Resources
Step back for a look at some issues, and links for more information
1
2
3
4
5
6
95. In no order…
Issues
Android Consistency
Over Hype Bring on the trough!
Bad Behaviour Just because you can - doesn’t mean you should!
Security Spoofing, Piggybacking
Boring Power, management, control, refresh, firmware,…
1
2
3
4
5
97. Not only about these…
Bluetooth Low Energy Device
Battery powered, mains powered, solar powered, passive powered
Transmits a message in an agreed way
All iOS and all new Android devices can “see” this message
(Standalone Beacons)
Range: 10M / 30 feet on average
98. Embedded use of Beacons will likely drive the real long term volume in deployments
But very much also about these…
Lights Sockets Wearables Locks
102. Embedded Volume beacon shipments match standalone volume by end 2015
Successful deployments outside retail: events, gigs, conferences, real estate, tourism
Enterprise use cases start to emerge: meeting rooms, staff location, building security
Privacy policy becomes a key differentiator for suppliers
Do not track (DNT) equivalent policies become formalised for Beacon use cases
More M&A in the Beacosystem
More options emerge for App-free experiences (Retailers crying out for browser solution)
Many poor consumer experiences launched - mostly in retail context (pestering, spam)
Some expectations for 2015 and beyond
104. 104
9
Facilities Management
Large workplaces present challenges in terms of the efficient
use of available space. The ability to identify free spaces in
real time means less time spent on searching and waiting for
occupied spaces to be free. According to Steelcase, 40% of
employees waste up to 30 minutes a day on looking for space
to collaborate. Beacons help meeting spaces to be allocated
more efficiently.
Beacons enable:
Utility
management
Navigation and
ononboarding
Space
optimalization
113. Proxbook Report
Proxbook is a service provided by UnacastProxbook is a service provided by Unacast 2
3
4
5
6
8
9
10
11
12-20
21
22
23
25-33
Proximity adopters in airports and transportation
Proxbook executive summary
A message from the CEO & Co-founder
What is proximity marketing?
Proximity solutions in airports
For Proximity Solution Providers it’s all about the numbers
Introduction to proximity marketing at airports
Who is leveraging proximity?
Airport use cases
Proximity technology in transportation
Introduction to proximity marketing in transportation
How can proximity solutions help?
Transportation use cases
Proximity industry status
Proximity Solution Provider index
Innovation in hardware
Bluetooth adoption and the way forward
Proximity sensors deployed globally
Beacon standards
Proximity products and services
Proximity software and technologies
Industry verticals
Proximity Solution Providers per country
Proximity Solution Provider categories
Methodology
About Unacast
34
35
38
39
41
42
43
44
45
46
47
49
50
TABLE OF CONTENTS
114. Google Resources
Beacon overview https://developers.google.com/beacons/
Proximity Beacon API
https://developers.google.com/beacons/
proximity/guides
Beacon Platform Demo
App
https://github.com/google/beacon-platform/
tree/master/samples/ios
Nearby API https://developers.google.com/nearby/
Physical Web https://github.com/google/physical-web
Eddystone https://github.com/google/eddystone
115. Google Resources
Ephemeral Identifiers:
Mitigating Tracking & Spoofing Threats to BLE Beacons
Avinatan Hassidim, Yossi Matias, Moti Yung, and Alon Ziv
Google Inc.
April 14, 2016
Abstract
Bluetooth Low Energy (BLE) beacons broadcast their presence in order to enable proximity-based
applications by observer devices. This results in a privacy and security exposure: broadcast devices
are typically susceptible to tracking and spoofing based on the IDs used by the beacons.
We introduce a scheme consisting of cloud-based Ephemeral Identifiers (EID) which allows only
authorized parties to properly identify the beacons broadcast; it mitigates the basic tracking and
security threats while keeping high utility. We outline a formal model of privacy which is obtained
with our scheme, present its implementation within the Eddystone BLE format, and discuss possible
extensions.
1 Introduction
Beacons based on the Bluetooth Smart (BLE) standard have recently been gaining acceptance as preferred
enablers for proximity-sensitive experiences (see, e.g., [13]). Such beacons use BLE in a broadcast mode,
repeatedly sending static “advertisement” packets, and thus requiring very little power (for protocol
processing or for radio operation). This has the advantage that they can achieve long lifetimes while
keeping to a small device size. Particularly interesting use-cases for such beacons include proximity
beacons, used to enable location-based services, and object-tracking beacons, which enable tracking of
portable physical objects.
The broadcast-only mode of BLE presents some security challenges. While the Bluetooth Specifica-
tion [4] contains some security mechanisms, these are mostly aimed at protecting the data flow when paired
devices are already connected [16]. When a device is operating in the broadcaster mode, the only security
116. Blog
Apps
Platform
O Reilly Series
Presentations
Consult / Training
LocalSocial App in
Google Play and
iTunes
blog.mylocalsocial.com
mylocalsocial.com seminars@mylocalsocial.com
http://radar.oreilly.com/tag/
beacon-series
http://www.slideshare.net/
sos100/
117. More information
Don Dodge StreetFight BEEKN
Works @ Google, Developer
Advocate, Google Ventures,
Investor
Covers nearly everything that
moves involving HyperLocal
Ads, Publishing, indoor
advertising, etc.
Great Blog - also active twitter
@dusanwriter
“Be the Beacon” :-)
118. More information
ABI PLACE / OPUS @Launch
Research on Indoor, Proximity,
Location, iBeacon
Indoor marketing, advertising,
positioning conference
(SF, NY, London)
From @Jason and the
@Launch Team
(Mar, SF)
119. More information
MobisFera TI Radius
http://www.mobisfera.com/
summary-real-cases-close-
real-using-ibeacons/
App, Source, iBeacon-able,
inexpensive, great support
SDK, active on GitHub
120. Sean O Sullivan twitter: @sos100
A Tour of the Beacosystem
Background, trends and what’s next in
Proximity and Beacon technology