13
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

Clicking on the real world with iBeacon and eddystone

Embed Size (px)

Citation preview

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

Buying coffee is not as easy as it could be…

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

iOS iBeacon Hands-On Coding Demo

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