Clicking on the real world with iBeacon and Eddystone
Jim Bennett Mobile Application Developer at EROAD in New Zealand http://eroad.com @JimBobBennett http://JimBobBennett.io
Question during the talk? Tweet them to @JimBobBennett
We click on apps all the time…
Our phone has become an extension of our physical selves
But to interact with the real world we have to find the virtual representation of the world on our phones
…but can we ‘click’ on the real world?
Can our phone intuitively show a link to the app for the coffee shop we are in?
Can the act of walking into a coffee shop ‘click’ the buy button on their app?
Can sitting down in the coffee shop send the app our seat location?
Yes - using bluetooth beacons
Bluetooth Low Energy Beacons transmit an Id to any device that is listening
Apple created iBeacon - focus on proximity/indoor location and notifications to installed apps
Google created the Physical Web using Eddystone beacons and iBeacon - focus on attaching URLs or messages to physical locations and interacting with them on demand
iBeacon on iOSTransmits an Id (128bit GUID), major and minor version (16bit int), transmission power indicator
iOS apps can monitor for an Id/version even when terminated, and be woken up
Once awake the app can range all found beacons to get distance based off transmission power
Lock screen icons when in range of beacons
Built into the Core Location iOS APIs and needs user location permissions
Any app can monitor or range any iBeacon id’s
Google’s open source beacon standard and part of the Physical Web - attaching URLs or messages to physical objects
Eddystone UID transmits a 10 byte namespace and 6 byte instance
Eddystone EID is like UID but with a rotating, secure ID
Eddystone URL transmits a compressed URL
All formats also include a TLM packet for telemetry (e.g. remaining battery life)
Google have published a configuration GATT service
Eddystone
Eddystone UID/EIDBeacons are registered using the Proximity API to a project so can’t be shared between different apps
Interact with UID using Nearby Messages API from Google Play Services
Messages can include a latitude, longitude, floor location or Place Id for use with the Places API
Requires internet connection
Passive interaction - will not wake your device up
EID - same as UID except using a secure, rotating ID
Eddystone URL
Compressed URL embedded in the BLE packet
Only 17 ASCII characters available but they have shortcuts for http://, https://, www, .com etc.
Chrome or Google Physical Web app can show these links on Android lock screen or iOS Chrome today widget
No SDK available - just code examples based on raw BLE interactions
Which one to use? Depends!iBeacon for waking your app up and for indoor location
Nearby Messages API helps with crowdsourced location data from Places API
Nearby Messages API works on iOS and Android with Eddystone and iBeacon
Vendor SDK’s are blurring the lines - they support iBeacon like functionality on Android
Newer beacons can broadcast both iBeacon and Eddystone at the same time
Plenty of vendors providing hardware Vendors have proprietary API’s with extra functionality and back end
management systems
Where to get beacons?
Xamarin Component Available!
Questions?
@JimBobBennett [email protected]
http://JimBobBennett.io http://github.com/JimBobBennett
http://slideshare.net/JimBennett10 http://careers.eroad.com