Download - iBeacons for Everyone, From iOS to Android

Transcript
Page 1: iBeacons for Everyone, From iOS to Android

iBeacons for Everyone, from iOS to Android!

James MontemagnoDeveloper Evangelist, Xamarin@JamesMontemagno

www.Xamarin.com

Page 2: iBeacons for Everyone, From iOS to Android

What is an iBeacon?

• Apple calls it:• “A new class of low-powered, low-cost

transmitters that can notify iOS 7 devices of their presence.”

• What does this mean?• Devices that can notify apps of exact

device proximity and location awareness that was never possible before.

Page 3: iBeacons for Everyone, From iOS to Android

How do iBeacons Work?• Bluetooth 4.0 LE! (SMART)

• Low energy• Long battery life• 2.4Ghz Band

• Regions• Enter/Exit regions for notifications

• Ranging• Immediate, Near, Far

Page 4: iBeacons for Everyone, From iOS to Android

“Fun” Bluetooth Specs

Spec Classic Bluetooth Bluetooth LE

Distance/Range (theoretical)

100 m (330ft) 50 m (160ft)

OTA Data 1-3 Mbit/s 1 Mbit/s

Application throughput

.7-2.1 Mbit/s .27 Mbit/s

Security 56/128-bit 128-bit AES

Peak current Consumption

<30 mA <15 mA

Power Consumption 1 mW .01 – .5 mW

Latency 100ms 6ms

Voice YES NO

Page 5: iBeacons for Everyone, From iOS to Android

How does Bluetooth LE Work?• GATT (Generic Attribute Profile)

• UUIDs!• Flow:

--------------Attributes --------------

Page 6: iBeacons for Everyone, From iOS to Android

What do we care about? (BLE vs iBeacon)• UUIDs

• Unique Identifier that each iBeacon has• Example: B9407F30-F5F8-466E-AFF9-25556B57FE6D

• Regions• Major & Minor• Unique region code that iBeacons can be

programmed to have.• Example: 2755, 1

Page 7: iBeacons for Everyone, From iOS to Android

What can be an iBeacon?

• Your iOS 7.0 Device• iPhone 4S, iPad 3rd Gen+, iPad

Mini, iPod Touch 5th Gen+

Page 8: iBeacons for Everyone, From iOS to Android

What can be an iBeacon?

• Cute Little Devices You Buy• More on this later

Page 9: iBeacons for Everyone, From iOS to Android

What can be an iBeacon?

• NOT your Android device!

Page 10: iBeacons for Everyone, From iOS to Android

What can find iBeacons?

• Your iOS 7.0 Device• iPhone 4S, iPad 3rd Gen+, iPad Mini, iPod Touch

5th Gen+

• Your Android Device• Well some of them… maybe… Android 4.3+• Nexus 5/4/7/10, HTC One & Max, Moto

G/X/RAZR/Ultra/Maxx/Mini, S4, Sony Xperia

• Nothing on Windows Phone or Windows 8 yet

Page 11: iBeacons for Everyone, From iOS to Android

What can you do with iBeacons?

Page 12: iBeacons for Everyone, From iOS to Android

In the House

Page 13: iBeacons for Everyone, From iOS to Android

In Stadiums

Page 14: iBeacons for Everyone, From iOS to Android

In Stores

Page 15: iBeacons for Everyone, From iOS to Android

Apple Store

http://appleinsider.com/articles/13/12/06/first-look-using-ibeacon-location-awareness-at-an-apple-store

Page 16: iBeacons for Everyone, From iOS to Android

What else???

• Museums• Scavenger Hunts• Athletics• Restaurants• About a gazillion other things!

Page 17: iBeacons for Everyone, From iOS to Android

Why should I care?

• Differentiates your app• Clients will start to demand it• So many uses untapped for context aware

apps• Because they are cool• Because you should

• Or maybe not• If you want to

Page 18: iBeacons for Everyone, From iOS to Android

Where to get iBeacons?

• Your iOS 7.0 Device• iPhone 4S, iPad 3rd Gen+, iPad Mini, iPod Touch 5th Gen+

• Estimote • 3 for $100, development kits• Battery Powered (2+ years, watch battery)• Super cute

• Radius Networks• $19 - $30 per beacon• USB powered

Page 19: iBeacons for Everyone, From iOS to Android

iOS Demo

Page 20: iBeacons for Everyone, From iOS to Android

What is Xamarin?Unique Approach

•Native User Interface•Native Performance•Shared code across

platforms•C# & .NET Framework•Full API Coverage

Page 21: iBeacons for Everyone, From iOS to Android

iOS Demo

Page 22: iBeacons for Everyone, From iOS to Android

How iOS 7.1 Changed Everything!

• Background Notifications!• Wait? It couldn’t do this???• Location Permissions (opt-out)

• Harder • Better• Faster• Stronger

• Aka bug fixes…

Page 23: iBeacons for Everyone, From iOS to Android

State of Android iBeacons

• Is it built in?• Kind of, not really…• Samsung vs HTC vs Google• Android 4.3 Changes the Game

• Kind of a development hot mess…• Crippling Bug (Bluetooth has stopped working)

• Sometimes…?• Different Implementations

Page 24: iBeacons for Everyone, From iOS to Android

Components/SDKs to the Rescue

Estimote SDK

Radius Networks iBeacon Service

Page 25: iBeacons for Everyone, From iOS to Android

Android Demo

Page 26: iBeacons for Everyone, From iOS to Android

Resources•Code: https://github.com/jamesmontemagno/iBeaconsEverywhere

•Xamarin.com •Estimote.com•Android Bluetooth Docs:• http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

•iOS Beacons Docs: https://developer.apple.com/library/ios/documentation/

userexperience/conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html

• Or search for “Region Monitoring and iBeacon”

•Cool Raspberry-Pi project:• http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html

Page 27: iBeacons for Everyone, From iOS to Android

Stalk Me:•Twitter: • @JamesMontemagno•Blog: • www.MotzCod.es•GitHub:• /JamesMontemagno•Email:• [email protected]