際際滷

際際滷Share a Scribd company logo
MOBILE DEVELOPMENT IN THE AGE OF INTERNET OF 
THINGS 
Janusz Chudzynski 
Florida Northwest IT Pro Camp 
November 2014
ABOUT Me 
Janusz Chudzynski 
 Research Associate at University of West Florida 
 Coauthor of two eBooks related to iOS programming 
 Developer of mobile applications for iOS, Android and Blackberry 
 Taught multiple editions of iOS programming course at UWF
Outline 
 Introduction 
 Mobile Development 
 Internet of Things 
 WatchKit Demo 
 iBeacons
History
Why mobile development? 
 it pays well 
 its a future 
 its more interesting than building regular 
applications
Internet of Things 
Internet of things or IoT is a network of 
connected computing devices. Complexity of 
devices varies from simple sensors, to advanced 
computing devices with UI and high processing 
capabilities.
Scale of IoT 
2014 
1.4 billions mobile device 
1.5 billion computers 
2020 
8 billions connected devices 
20 - 700 billion IoT devices! 
Source: Rethinking the Internet of Things
IoT Components 
Sensors Layer 
Processing & Analytics Layer 
Input/Output - Presentation Layer 
End User
Platforms Comparison 
Platform OS Native Programming 
Language 
Apple iOS Objective-C 
Swift 
Blackberry Blackberry OS Cascades Qt/C++ 
WebWorks HTML5 
Native SDK C/C++ 
Adobe AIR ActionScript 
Android Runtime Java 
Google Android Java 
Microsoft Windows Phone C# 
Samsung Tizen JavaScript, CSS, HTML5
IoT Mobile Frameworks 
Android iOS Windows 
Android Wear 
Android Auto 
Android TV 
iOS 8 
 Handoff 
 Continuity 
 HealthKit 
 HomeKit 
iBeacon 
WatchKit 
Windows Developer 
Program for IoT.
WatchKit 
 Framework designed to create apps for iWatch 
 Introduced two days ago 
 Currently requires presence of an iPhone to run 
third-party apps. Fully native applications will be 
available next year. 
 Watchkit Apps can be divided into three groups 
 Apps - applications with full UI 
 Notifications 
 Glances - supplemental way for the user to view 
important information from your app
IOS TOOLS AND DEMO
iBeacon 
iBeacon is a name of technology that is enabling new location awareness 
possibilities for estimation of proximity to a beacon [1] . 
Leveraging Bluetooth Low Energy (BLE), a device with iBeacon technology can 
be used to establish a region around an object. This allows an iOS device to 
determine when it has entered or left the region, along with an estimated 
proximity.
user-iBeacon-data 
1 
2 3 
1. User enters the beacons region 
2. App recognizes it and starts 
approximating its distance from/to 
the beacon 
3. app identifies iBeacon, its 
proximity and displays data 
related to it
iBeacon Use Cases 
Retail 
Contextualized deals: 
based on time, location, client 
Monitoring Shopping Behavior 
storing and analyzing data about customers behavior 
Indoor Mapping 
Education 
Contextual learning can be used in libraries, art museums, scavenger 
hunts, student orientation 
Healthcare 
Identifying location of patient, doctor. 
Home Automation 
Detecting users location 
Social/Dating 
Detecting users with the same 
preferences nearby 
Hospitality 
Automated check in
Proximity and range 
Apple Identifies four different proximities defined as CLProximity 
enumeration type 
enum CLProximity : Int { 
case Unknown 
case Immediate 
case Near 
case Far 
} 
Unknown - Location unknown, out of range 
Immediate - immediate vicinity most likely right next to the beacon (few 
inches) 
Near - relatively close to beacon (few meters) 
Far - relatively close to beacon (more than 10 meters) 
Standard beacons have an approximate range of 70 meters. Long range 
beacons can reach up to 450 meters.
iBeacon Advertisement 
Each iBeacon device transmits advertisement 
with the following fields, that help to identify 
location of the beacon: 
Field Size Description 
UUID 16 bytes Most generic, can be used for iBeacons 
used by app 
Major 2 bytes Specifies iBeacon subregion 
Minor 2 bytes Further subdivision 
Store 
Location 
Pensacola Chicago 
UUID D9B9EC1F-3925-43D0-80A9- 
1E39D4CEA95C 
Major 1 2 
Minor- 
Patients 
1 - 100000 1-100000 
Minor 
Equipment 
100000-200000 100000-200000
Little Bit of Programming 
//Register regions and start monitoring for them 
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc]initWithProximityUUID:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D" 
major:1 minor:2 identifier:@"beacon id"]; 
beaconRegion.notifyOnEntry=YES; 
beaconRegion.notifyOnExit=YES; 
beaconRegion.notifyEntryStateOnDisplay=YES; 
[self.locationManager startMonitoringForRegion:beaconRegion]; 
//Delegate Methods: 
- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{} 
//gets called when user entered the region 
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{ 
if([region isKindOfClass:[CLBeaconRegion class]]){[self.locationManager startRangingBeaconsInRegion:(CLBeaconRegion *) 
region];}} 
//gets called when the system determines proximity to the beacons 
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{} 
//gets called when user left the region 
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{} 
You can download my iBeacon manager from Github: 
https://github.com/appzzman/OpenSource/
Supported Hardware 
Any device capable of connecting with BLE is capable of interacting with the 
iBeacons 
Apple: 
 iPad Mini or later 
 iPhone 4s or later 
 iPod Touch 4th generation or later 
 iPad 3rd generation or later 
 Mac Book Air, Mac Book Pro, Mac Pro with BLE 
Android 
 Google Nexus 4,5,7,10 
 Samsung Galaxy 
iBeacon is in almost 200 Million devices around us
Where to get the iBeacon Hardware ? 
 Estimote 
 Gimbail 
 Kontakt.io 
and... 
Apple! Each device with BLE can serve as a 
iBeacon
Q&A 
?
CONTACT 
Email: jan@appzman.com 
LinkedIn: https://www.linkedin.com/in/chudzynski 
Twitter: @appzzman
Best Places to Learn 
 Stanford iOS Programming Course on iTunes 
U 
 Resources at developer.apple.com 
 Coursera and other MOOCs 
 Tutorials from Ray Wenderlich 
 Android Development site http://developer. 
android.com/
References and resources 
1. https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf 
2. http://en.wikipedia.org/wiki/Bluetooth_low_energy 
3. http://developer.apple.com 
4. http://www.cdc.gov/handhygiene/Guidelines.html 
5. http://www.healthit.gov/policy-researchers-implementers/safer/guide/sg006 
6. http://www.forbes.com/sites/anthonykosner/2013/12/15/the-internet-of-ithings-apples-ibeacon- 
is-already-in-almost-200-million-iphones-and-ipads/ 
7. http://www.slideshare.net/TheMarketingDistillery/iot-presentation 
8. http://postscapes.com/what-exactly-is-the-internet-of-things-infographic 
9. http://venturebeat.com/2014/06/11/the-6-challenges-of-building-an-ibeacon-app/ 
10. http://www.bizjournals.com/atlanta/blog/atlantech/2014/09/at-t-says-it-plans-to-serve-10- 
million-connected.html 
11. http://postscapes.com/internet-of-things-resources/ 
12. http://electronicdesign.com/embedded/understanding-protocols-behind-internet-things
Ad

Recommended

Intro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low Energy
Kurt McIntire
I locate security for lost or misplaced devices PPT
I locate security for lost or misplaced devices PPT
Bhadra Gowdra
Getting started-with-i beacon
Getting started-with-i beacon
wlasoi lasoi
Finger reader
Finger reader
yamini rayalu
Smart DoorBell - Make your door smart with Raspberry Pi!
Smart DoorBell - Make your door smart with Raspberry Pi!
Mattia Brunetti
Smart doorbell - Using Raspberry pi
Smart doorbell - Using Raspberry pi
Aabid Ansar
iBeacon Workshop by Reque.st
iBeacon Workshop by Reque.st
1request
Eye Ring ppt
Eye Ring ppt
Chodi DurgaRao
Internet of things, and rise of ibeacons
Internet of things, and rise of ibeacons
Janusz Chudzynski
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)
davidepiccardi
Developing context aware applications with iBeacons technology
Developing context aware applications with iBeacons technology
Suresh Balla
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
David Helms
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
Rilwan Kujenya
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
jake henry
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
Gigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeacons
Alex Rup辿rez
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Commit University
Demystifying iBeacons
Demystifying iBeacons
Fred Brunel
Beacons
Beacons
Rahul Dhabhai
14 569
14 569
Chaitanya Ram
Rococo Software Q3 2010
Rococo Software Q3 2010
Sean O'Sullivan
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
Mateusz Klimczak
IoT
IoT
Ananth Kumar
Mobile app development
Mobile app development
ManekTech
Swift Development
Swift Development
ManekTech
iPhone App Development
iPhone App Development
ManekTech

More Related Content

Similar to Mobile development in age of Internet of Things and programming Apple Watch (20)

Internet of things, and rise of ibeacons
Internet of things, and rise of ibeacons
Janusz Chudzynski
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)
davidepiccardi
Developing context aware applications with iBeacons technology
Developing context aware applications with iBeacons technology
Suresh Balla
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
David Helms
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
Rilwan Kujenya
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
jake henry
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
Gigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeacons
Alex Rup辿rez
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Commit University
Demystifying iBeacons
Demystifying iBeacons
Fred Brunel
Beacons
Beacons
Rahul Dhabhai
14 569
14 569
Chaitanya Ram
Rococo Software Q3 2010
Rococo Software Q3 2010
Sean O'Sullivan
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
Mateusz Klimczak
IoT
IoT
Ananth Kumar
Mobile app development
Mobile app development
ManekTech
Swift Development
Swift Development
ManekTech
iPhone App Development
iPhone App Development
ManekTech
Internet of things, and rise of ibeacons
Internet of things, and rise of ibeacons
Janusz Chudzynski
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)
davidepiccardi
Developing context aware applications with iBeacons technology
Developing context aware applications with iBeacons technology
Suresh Balla
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
Building Proximity-Aware Apps with Beacons - MODEV IOT + Wearables 2014
David Helms
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
Rilwan Kujenya
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
Analysing the Potential of BLE to Support Dynamic Broadcasting Scenarios
jake henry
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ANALYSING THE POTENTIAL OF BLE TO SUPPORT DYNAMIC BROADCASTING SCENARIOS
ijasuc
Gigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeacons
Alex Rup辿rez
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Commit University
Demystifying iBeacons
Demystifying iBeacons
Fred Brunel
Rococo Software Q3 2010
Rococo Software Q3 2010
Sean O'Sullivan
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
[CocoaHeads Tricity] Estimote Beacons - world most popular iBeacon implementa...
Mateusz Klimczak
Mobile app development
Mobile app development
ManekTech
Swift Development
Swift Development
ManekTech
iPhone App Development
iPhone App Development
ManekTech

Mobile development in age of Internet of Things and programming Apple Watch

  • 1. MOBILE DEVELOPMENT IN THE AGE OF INTERNET OF THINGS Janusz Chudzynski Florida Northwest IT Pro Camp November 2014
  • 2. ABOUT Me Janusz Chudzynski Research Associate at University of West Florida Coauthor of two eBooks related to iOS programming Developer of mobile applications for iOS, Android and Blackberry Taught multiple editions of iOS programming course at UWF
  • 3. Outline Introduction Mobile Development Internet of Things WatchKit Demo iBeacons
  • 5. Why mobile development? it pays well its a future its more interesting than building regular applications
  • 6. Internet of Things Internet of things or IoT is a network of connected computing devices. Complexity of devices varies from simple sensors, to advanced computing devices with UI and high processing capabilities.
  • 7. Scale of IoT 2014 1.4 billions mobile device 1.5 billion computers 2020 8 billions connected devices 20 - 700 billion IoT devices! Source: Rethinking the Internet of Things
  • 8. IoT Components Sensors Layer Processing & Analytics Layer Input/Output - Presentation Layer End User
  • 9. Platforms Comparison Platform OS Native Programming Language Apple iOS Objective-C Swift Blackberry Blackberry OS Cascades Qt/C++ WebWorks HTML5 Native SDK C/C++ Adobe AIR ActionScript Android Runtime Java Google Android Java Microsoft Windows Phone C# Samsung Tizen JavaScript, CSS, HTML5
  • 10. IoT Mobile Frameworks Android iOS Windows Android Wear Android Auto Android TV iOS 8 Handoff Continuity HealthKit HomeKit iBeacon WatchKit Windows Developer Program for IoT.
  • 11. WatchKit Framework designed to create apps for iWatch Introduced two days ago Currently requires presence of an iPhone to run third-party apps. Fully native applications will be available next year. Watchkit Apps can be divided into three groups Apps - applications with full UI Notifications Glances - supplemental way for the user to view important information from your app
  • 13. iBeacon iBeacon is a name of technology that is enabling new location awareness possibilities for estimation of proximity to a beacon [1] . Leveraging Bluetooth Low Energy (BLE), a device with iBeacon technology can be used to establish a region around an object. This allows an iOS device to determine when it has entered or left the region, along with an estimated proximity.
  • 14. user-iBeacon-data 1 2 3 1. User enters the beacons region 2. App recognizes it and starts approximating its distance from/to the beacon 3. app identifies iBeacon, its proximity and displays data related to it
  • 15. iBeacon Use Cases Retail Contextualized deals: based on time, location, client Monitoring Shopping Behavior storing and analyzing data about customers behavior Indoor Mapping Education Contextual learning can be used in libraries, art museums, scavenger hunts, student orientation Healthcare Identifying location of patient, doctor. Home Automation Detecting users location Social/Dating Detecting users with the same preferences nearby Hospitality Automated check in
  • 16. Proximity and range Apple Identifies four different proximities defined as CLProximity enumeration type enum CLProximity : Int { case Unknown case Immediate case Near case Far } Unknown - Location unknown, out of range Immediate - immediate vicinity most likely right next to the beacon (few inches) Near - relatively close to beacon (few meters) Far - relatively close to beacon (more than 10 meters) Standard beacons have an approximate range of 70 meters. Long range beacons can reach up to 450 meters.
  • 17. iBeacon Advertisement Each iBeacon device transmits advertisement with the following fields, that help to identify location of the beacon: Field Size Description UUID 16 bytes Most generic, can be used for iBeacons used by app Major 2 bytes Specifies iBeacon subregion Minor 2 bytes Further subdivision Store Location Pensacola Chicago UUID D9B9EC1F-3925-43D0-80A9- 1E39D4CEA95C Major 1 2 Minor- Patients 1 - 100000 1-100000 Minor Equipment 100000-200000 100000-200000
  • 18. Little Bit of Programming //Register regions and start monitoring for them CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc]initWithProximityUUID:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D" major:1 minor:2 identifier:@"beacon id"]; beaconRegion.notifyOnEntry=YES; beaconRegion.notifyOnExit=YES; beaconRegion.notifyEntryStateOnDisplay=YES; [self.locationManager startMonitoringForRegion:beaconRegion]; //Delegate Methods: - (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{} //gets called when user entered the region - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{ if([region isKindOfClass:[CLBeaconRegion class]]){[self.locationManager startRangingBeaconsInRegion:(CLBeaconRegion *) region];}} //gets called when the system determines proximity to the beacons -(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{} //gets called when user left the region -(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{} You can download my iBeacon manager from Github: https://github.com/appzzman/OpenSource/
  • 19. Supported Hardware Any device capable of connecting with BLE is capable of interacting with the iBeacons Apple: iPad Mini or later iPhone 4s or later iPod Touch 4th generation or later iPad 3rd generation or later Mac Book Air, Mac Book Pro, Mac Pro with BLE Android Google Nexus 4,5,7,10 Samsung Galaxy iBeacon is in almost 200 Million devices around us
  • 20. Where to get the iBeacon Hardware ? Estimote Gimbail Kontakt.io and... Apple! Each device with BLE can serve as a iBeacon
  • 21. Q&A ?
  • 22. CONTACT Email: jan@appzman.com LinkedIn: https://www.linkedin.com/in/chudzynski Twitter: @appzzman
  • 23. Best Places to Learn Stanford iOS Programming Course on iTunes U Resources at developer.apple.com Coursera and other MOOCs Tutorials from Ray Wenderlich Android Development site http://developer. android.com/
  • 24. References and resources 1. https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf 2. http://en.wikipedia.org/wiki/Bluetooth_low_energy 3. http://developer.apple.com 4. http://www.cdc.gov/handhygiene/Guidelines.html 5. http://www.healthit.gov/policy-researchers-implementers/safer/guide/sg006 6. http://www.forbes.com/sites/anthonykosner/2013/12/15/the-internet-of-ithings-apples-ibeacon- is-already-in-almost-200-million-iphones-and-ipads/ 7. http://www.slideshare.net/TheMarketingDistillery/iot-presentation 8. http://postscapes.com/what-exactly-is-the-internet-of-things-infographic 9. http://venturebeat.com/2014/06/11/the-6-challenges-of-building-an-ibeacon-app/ 10. http://www.bizjournals.com/atlanta/blog/atlantech/2014/09/at-t-says-it-plans-to-serve-10- million-connected.html 11. http://postscapes.com/internet-of-things-resources/ 12. http://electronicdesign.com/embedded/understanding-protocols-behind-internet-things