kevin hoyt, "business of beacons"
TRANSCRIPT
The Business of Beacons
Kevin Hoyt@krhoyt
IBM
Beacon OverviewWhat they are and how they work.
2014
2013 Bluetooth 4.1
Bluetooth 4.2
2010 Bluetooth 4.0
2009 Bluetooth 3.0
2007 Bluetooth 2.1
2004 Bluetooth 2.0
2002 Bluetooth 1.2 Signal strength indicator, speed up to 721 kbit/sec
Transfer rates up to 3 Mbit/sec
Improved pairing experience, reduced power consumption
High-speed (24 Mbit/sec), alternative transport (802.11)
Low power profile (coin battery), simple device discovery
Fast data advertising, dual mode topology (802.11n)
IoT emphasis, support for IPv6 connectivity
ServiceHeart Rate Service
CharacteristicHeart Rate Measurement
CharacteristicBody Sensor Location
Generic Attribute Profile
DemonstrationI’m in shape … round is a shape.
UUID
(16 bytes)
Brand
Major
(2 bytes)
Store
Minor
(2 bytes)
Shelf
● Coin cell battery● Under 3 inches long● Built-in protoboard● Arduino compatible
Light Blue Bean
● Coin cell battery● 1.6in x 1.1in x 0.2in● Key fob form factor● 2 - 3 weeks battery
Gimbal Series 10
● Coin cell battery● 1.9in x 2.6in x 0.5in● 9 different sensors● Range of 150 feet
TI SensorTag
Android 4.3
(Jelly Bean)
iPhone 4S
(iOS 5)
Windows Phone 8
(Lumia Black)
● iPad (3rd)● iPad Mini● iPod Touch (5th)● Mavericks (10.9)
● Galaxy S3● Galaxy Note 3● HTC One● Nexus 5
● Lumia 525● Lumia 1320● Surface● Windows 8
DemonstrationAll the world’s a stage … this one is Revolution Hall.
LogisticsImproving business processes beyond the customer.
● Tokyo Haneda Airport
● Monitor staff location using smart watches○ Samsung Galaxy Gear 2○ LG G Watch (Android)
● Assign location-dependant tasks
● Notification to opt-in if room is eligible
● Notification again when room is ready (with room number)
● Skip the lobby and head straight to your room*
● Only good for one phone and one room
Venue AnalyticsBrick and mortar stores get A/B testing.
● Analyzing customer flow on the floor
● Customize product placement, highlighting and pairing
● 600% new application users
● 400% more time spent in application
LocalizationEnjoying your vacation, one language at a time.
DemonstrationComo se dice “Watson” in Espanol?
PathfindingThe hardest part of any journey … is inside without GPS.
ebf3e0
ebf3e0
ebf3e0
30
25
20
15
10
30
25
20
15
10
30
25
20
15
Beacon 1
Beacon 2
Beacon 3
Table ServiceOrder food, and pay your bill, with your phone.
DemonstrationSome Pizza Shooters, Shrimp Poppers, or Extreme Fajitas?
Beacons in the WildHow not to fail at deploying beacons.
More Than a GimmickMobile provides a wealth of data, not an alternative channel.
Measure and RefineTesting plans that improve program performance over time.
Thoroughly Evaluate InfrastructureTest number of beacons, placement, interaction.
Integrate with Existing SystemsDo not give me a coupon for something I just bought.
Have a Contingency PlanDo not rely on Bluetooth being on or present.
Provide Real BenefitBeacon notifications are the equivalent of spam.
The Business of Beacons
Kevin Hoyt@krhoyt
IBM
AppendixContent that did not make the cut, but you may want.
Generic Attribute Profile (GATT)
● Health care - blood pressure, thermometer, glucose● Sport and fitness profiles - speed, cadence, power, heart rate● Internet connectivity● Generic sensors - environmental sensing● HID connectivity (Human Interface Device)● Proximity sensing - find me (electronic leash), range● Alert and time profiles - Incoming notifications, time from other devices● Battery - State and level information
Profile
Generic Attribute Profile (GATT)
Service
Characteristic
Value
Descriptor
Descriptor
Descriptor
Service
Characteristic
Value
Descriptor
Descriptor
Descriptor
Service
Characteristic
Value
Descriptor
Descriptor
Descriptor
// Beacons are part of CoreLocationimport CoreLocationimport UIKit // Implement controller as location delegate// Alternatively implement in AppDelegate depending on needsclass ViewController: UIViewController, CLLocationManagerDelegate { // Track region and location manager var beaconRegion: CLBeaconRegion! var locationManager: CLLocationManager!
}
// Setup location managerlocationManager = CLLocationManager()locationManager.delegate = self // Check authorizationlocationManager.requestWhenInUseAuthorization() // All beacons for brandlet uuid = NSUUID(UUIDString: BRAND_UUID)beaconRegion = CLBeaconRegion( proximityUUID: uuid!, identifier: BRAND_IDENTIFIER)beaconRegion.notifyOnEntry = truebeaconRegion.notifyOnExit = true // SubscribelocationManager.startMonitoringForRegion(beaconRegion)locationManager.startRangingBeaconsInRegion(beaconRegion)
// Beacon with matching UUID is in rangefunc locationManager( manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) { // Found beacons if beacons.count > 0 {
for beacon in beacons { if beacon.proximity == CLProximity.Immediate { labelTable.text = beacon.minor.stringValue }
} }
}
Why Beacons Deployments FailBenefit - Notifications are the equivalent of spam
Reliance - Have a contingency plan for when Bluetooth is off
Isolation - Do not give me a coupon for something I just bought
Integration - Point of sale, inventory, loyalty, campaign, analytics
Infrastructure - Number of beacons, placement, interaction
Metrics - Testing plans that improve program performance over time
Commit - Mobile provides a wealth of data, not an alternative channel