iBeacons for Everyone, From iOS to Android

4,322 views
3,981 views

Published on

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

iBeacons are taking the world by storm allowing developers to leverage Bluetooth Low Energy to give their apps location support that can work just about anywhere including indoors. This give you the ability to enable any number of scenarios based upon device proximity that were never before possible. From retail stores to even sports including the Super Bowl and MLB, you will soon be finding iBeacons just about everywhere. Introduced as a core feature of iOS 7 iBeacon support has now found it's way to Android. You will learn what an iBeacon is, how they work, how you would want to use them, and how to get started making apps in both Android and iOS. All demonstrations will be coded in C#, but will be applicable to any iOS or Android developer in any language.

Published in: Technology
2 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total views
4,322
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
164
Comments
2
Likes
4
Embeds 0
No embeds

No notes for slide
  • Nokia in 2006 called Wibree (merged in 2010 with core standard)
    Talk about interference of 2.4GHz Band
    GATT (Generic Attribute Profile)
    -> Specification for sending and receiving short pieces of data known as attributes.
  • Talk about interference of 2.4GHz Band
    GATT (Generic Attribute Profile)
    ->
  • Talk about interference of 2.4GHz Band
    GATT (Generic Attribute Profile)
    ->The GATT protocol provides a number of commands for the client to discover information about the server.
    Discover UUIDs for all primary services
    Find a service with a given UUID
    Find secondary services for a given primary service
    Discover all characteristics for a given service
    Find characteristics matching a given UUID
    Read all descriptors for a particular characteristic
  • Talk about interference of 2.4GHz Band
    GATT (Generic Attribute Profile)
    ->The GATT protocol provides a number of commands for the client to discover information about the server.
    Discover UUIDs for all primary services
    Find a service with a given UUID
    Find secondary services for a given primary service
    Discover all characteristics for a given service
    Find characteristics matching a given UUID
    Read all descriptors for a particular characteristic
  • Nokia has something…. And maybe will release it?
  • Let’s look at Xamarin and VS 2013 to build modern apps on
    iOS, Android, and Windows
    Let’s start with something familiar
  • UI build natively per platform, leveraging C#
    C# + XAML
    C# + XML
    C# + XIB
    One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
  • Let’s look at Xamarin and VS 2013 to build modern apps on
    iOS, Android, and Windows
    Let’s start with something familiar
  • Reboot device and your app still works!
    Swipe close will still work
  • Let’s look at Xamarin and VS 2013 to build modern apps on
    iOS, Android, and Windows
    Let’s start with something familiar
  • iBeacons for Everyone, From iOS to Android

    1. 1. iBeacons for Everyone, from iOS to Android! James Montemagno Developer Evangelist, Xamarin @JamesMontemagno www.Xamarin.com
    2. 2. 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.
    3. 3. 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
    4. 4. “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
    5. 5. How does Bluetooth LE Work? • GATT (Generic Attribute Profile) • UUIDs! • Flow: --------------Attributes --------------
    6. 6. 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
    7. 7. What can be an iBeacon? • Your iOS 7.0 Device • iPhone 4S, iPad 3rd Gen+, iPad Mini, iPod Touch 5th Gen+
    8. 8. What can be an iBeacon? • Cute Little Devices You Buy • More on this later
    9. 9. What can be an iBeacon? • NOT your Android device!
    10. 10. 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 
    11. 11. What can you do with iBeacons?
    12. 12. In the House
    13. 13. In Stadiums
    14. 14. In Stores
    15. 15. Apple Store http://appleinsider.com/articles/13/12/06/first-look-using-ibeacon-location-awareness-at-an-apple-store
    16. 16. What else??? • Museums • Scavenger Hunts • Athletics • Restaurants • About a gazillion other things!
    17. 17. 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
    18. 18. 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
    19. 19. iOS Demo
    20. 20. What is Xamarin? Unique Approach • Native User Interface • Native Performance • Shared code across platforms • C# & .NET Framework • Full API Coverage
    21. 21. iOS Demo
    22. 22. 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…
    23. 23. 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
    24. 24. Components/SDKs to the Rescue Estimote SDK Radius Networks iBeacon Service
    25. 25. Android Demo
    26. 26. 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
    27. 27. Stalk Me: •Twitter: • @JamesMontemagno •Blog: • www.MotzCod.es •GitHub: • /JamesMontemagno •Email: • James.Montemagno@Xamarin.com

    ×