SlideShare a Scribd company logo
1 of 33
Download to read offline
R I C H A R D K E E N
(Enemy of the) State of
Mobile Location Tracking
20,000 points over 232 days
15,000 miles travelled
at an average of 2.6 mph
M E T H O D S O F L O C AT I O N T R A C K I N G
• On-device sensors (GPS etc.)
• Network provider tracking
• Indoor Wi-Fi scanning
• “Smart” rubbish bins…
W H Y T R A C K D E V I C E L O C AT I O N
• Safety & security
• Logistics
• Friend finders
• Fitness
• Journaling/quantified self
• Anticipatory computing
H O W I S A L O C AT I O N D E T E R M I N E D
Sensor Accuracy Speed
Power
consumption
Caveats
GPS ~40m
Slow
(3 seconds+)
High
Rarely works
indoors
WiFi triangulation ~70m Fast Medium
Rarely works in
rural areas
Cell triangulation
Cell ID
200m-1km Fast Low
R E Q U E S T I N G A S I N G L E L O C AT I O N
• Even single location updates come as an
asynchronous stream – not a single final value
• Initial location is often cached and stale
• The user may be moving around as you request their
location!
A N AT O M Y O F A L O C AT I O N
• latitude
• longitude
• altitude
• accuracy (horizontal and vertical)
• speed
• bearing
• timestamp
T R A C K I N G C H A L L E N G E S
• Power consumption
• Multitasking/background processing support
• Privacy settings (global & per-app)
• Device reboots
• Airplane mode, Wi-Fi disabled, cellular disabled
• Testing
S TA N D A R D L O C AT I O N S E R V I C E S
• Delivers a constant stream of locations over time
• Supports background multitasking (limited on
Windows Phone)
• Power hungry with default settings
• Tracking won’t survive device reboots*
• Consider power impact of your callback code as well
S TA N D A R D L O C AT I O N S E R V I C E S
- I M P R O V I N G P O W E R C O N S U M P T I O N
• On iOS & Windows Phone, manage power usage
through location manager settings:
• desired accuracy level
• distance or time threshold between notifications –
 helps to reduce processing overhead
• iPhone 5+ & Google Nexus 5 support deferred
updates & sensor batching
S TA N D A R D L O C AT I O N S E R V I C E S
- I M P R O V I N G P O W E R C O N S U M P T I O N
iOS desiredAccuracy Power usage Highest power sensor
kCLLocationAccuracyBestForNavigation High GPS+
kCLLocationAccuracyBest High GPS
kCLLocationAccuracyNearestTenMeters High GPS
kCLLocationAccuracyHundredMeters
Medium (urban)
High (rural)
WiFi (urban)
GPS (rural)
kCLLocationAccuracyKilometer Low Cell
kCLLocationAccuracyThreeKilometers Low Cell
Android priorities Accuracy Power usage
Highest power sensor
used
PRIORITY_HIGH_ACCURACY Building-level High GPS
PRIORITY_BALANCED_POWER	
  
_ACCURACY Block-level Medium WiFi
PRIORITY_LOW_POWER City-level Low Cell
PRIORITY_NO_POWER Varies None Varies
S TA N D A R D L O C AT I O N S E R V I C E S
- I M P R O V I N G P O W E R C O N S U M P T I O N
S I G N I F I C A N T C H A N G E N O T I F I C AT I O N S
• Only available on iOS
• Low power overhead, relies on cell tower transitions
• On average notification triggered after a movement of
around 500m and more than 5 minutes
• Survives reboots of the device
• Very useful in hybrid strategies
G E O F E N C E S
• Geofence is a region defined by a co-ordinate and
radius (in this context)
• Can request background notification of entry or exit of
the region (& dwelling on Android)
A
B
E X I T A
E N T E R B
G E O F E N C E L I M I TAT I O N S
• Often quite a lag, doesn’t always trigger
• Not available on Windows Phone
• iOS supports up to 20 per app, Android up to 100
• Survives reboots on iOS, not on Android
H Y B R I D S T R AT E G I E S
Your app will have unique tracking needs; the default
strategies are rarely the most appropriate
Find the ideal balance of quality, power use, granularity
and frequency for your app
A N A S I D E : A P P L E M 7 & S I M I L A R
• iPhone 5S shipped with Apple M7 “motion co-
processor”
• Does not relate to location data
• Google Nexus 5 and Moto X ship with “hardware
sensor batching” – equivalent functionality
• Currently provides step counting & activity detection
T O O L S
• Profiling tools allow you to monitor use of GPS over
time
• For iOS use Instruments, untethered capture
supported via iPhone settings
• For Android use Qualcomm Trepn plugin for Eclipse
B L U E T O O T H B E A C O N S
• “iBeacon” – Apple specification for Bluetooth 4
location beacons
• Indoor high-accuracy location triggers
• Indoor positioning
• Opt-in via install of app tied to iBeacon namespace
T H A N K S !
@richardkeen
richard.keen@gmail.com
iOS reference: http://bit.ly/19O9PZS
Android reference: http://bit.ly/18mMnSX
Windows Phone reference: http://bit.ly/1aJu6y8

More Related Content

What's hot

Sensor-driven indoor localization with android #bcs2
Sensor-driven indoor localization with android #bcs2Sensor-driven indoor localization with android #bcs2
Sensor-driven indoor localization with android #bcs2Stephan Linzner
 
Nervousnet Platform : Build your own Sensor data collection platform - Open S...
Nervousnet Platform : Build your own Sensor data collection platform - Open S...Nervousnet Platform : Build your own Sensor data collection platform - Open S...
Nervousnet Platform : Build your own Sensor data collection platform - Open S...Prasad Pulikal
 
SwarmPulse - mapping the world together (Build your own Smart City Service) -...
SwarmPulse - mapping the world together (Build your own Smart City Service) -...SwarmPulse - mapping the world together (Build your own Smart City Service) -...
SwarmPulse - mapping the world together (Build your own Smart City Service) -...Prasad Pulikal
 
Controlling electrical appliances using human gestures
Controlling electrical appliances using human gesturesControlling electrical appliances using human gestures
Controlling electrical appliances using human gesturesrajaganapathy28091100
 
IOT based air quality and monitoring by using arduino
IOT based air quality and monitoring by using arduinoIOT based air quality and monitoring by using arduino
IOT based air quality and monitoring by using arduinoGopikrishnateja Goli
 
Track 4 session 3 - st dev con 2016 - pedestrian dead reckoning
Track 4   session 3 - st dev con 2016 - pedestrian dead reckoningTrack 4   session 3 - st dev con 2016 - pedestrian dead reckoning
Track 4 session 3 - st dev con 2016 - pedestrian dead reckoningST_World
 

What's hot (11)

Sensor-driven indoor localization with android #bcs2
Sensor-driven indoor localization with android #bcs2Sensor-driven indoor localization with android #bcs2
Sensor-driven indoor localization with android #bcs2
 
Nervousnet Platform : Build your own Sensor data collection platform - Open S...
Nervousnet Platform : Build your own Sensor data collection platform - Open S...Nervousnet Platform : Build your own Sensor data collection platform - Open S...
Nervousnet Platform : Build your own Sensor data collection platform - Open S...
 
A_Seyedolhosseini_Tir_95_1
A_Seyedolhosseini_Tir_95_1A_Seyedolhosseini_Tir_95_1
A_Seyedolhosseini_Tir_95_1
 
Home automation using blynk
Home automation using blynkHome automation using blynk
Home automation using blynk
 
Robotic 11-26-14
Robotic 11-26-14Robotic 11-26-14
Robotic 11-26-14
 
Light-Up Skateboard
Light-Up SkateboardLight-Up Skateboard
Light-Up Skateboard
 
SwarmPulse - mapping the world together (Build your own Smart City Service) -...
SwarmPulse - mapping the world together (Build your own Smart City Service) -...SwarmPulse - mapping the world together (Build your own Smart City Service) -...
SwarmPulse - mapping the world together (Build your own Smart City Service) -...
 
Controlling electrical appliances using human gestures
Controlling electrical appliances using human gesturesControlling electrical appliances using human gestures
Controlling electrical appliances using human gestures
 
IOT based air quality and monitoring by using arduino
IOT based air quality and monitoring by using arduinoIOT based air quality and monitoring by using arduino
IOT based air quality and monitoring by using arduino
 
Track 4 session 3 - st dev con 2016 - pedestrian dead reckoning
Track 4   session 3 - st dev con 2016 - pedestrian dead reckoningTrack 4   session 3 - st dev con 2016 - pedestrian dead reckoning
Track 4 session 3 - st dev con 2016 - pedestrian dead reckoning
 
AndroidAppPPT
AndroidAppPPTAndroidAppPPT
AndroidAppPPT
 

Similar to (Enemy of the) State of Mobile Location Tracking

Enemy of the) State of Mobile Location Tracking by @richardkeen
Enemy of the) State of Mobile Location Tracking by @richardkeenEnemy of the) State of Mobile Location Tracking by @richardkeen
Enemy of the) State of Mobile Location Tracking by @richardkeenSyncNorwich
 
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介ShinsukeAiki1
 
Internet of Things (IoT): Micro-location and Smart Buildings
Internet of Things (IoT): Micro-location and Smart BuildingsInternet of Things (IoT): Micro-location and Smart Buildings
Internet of Things (IoT): Micro-location and Smart BuildingsFaheem Zafari
 
Indoor navigation system
Indoor navigation systemIndoor navigation system
Indoor navigation systemOmkar Paranjape
 
PLNOG15: Find the location of your superhero with 802.11 - Sebastian Pasternacki
PLNOG15: Find the location of your superhero with 802.11 - Sebastian PasternackiPLNOG15: Find the location of your superhero with 802.11 - Sebastian Pasternacki
PLNOG15: Find the location of your superhero with 802.11 - Sebastian PasternackiPROIDEA
 
RSS and Sensor Fusion Algorithms for Indoor Location Systems on Smartphones
RSS and Sensor Fusion Algorithms for Indoor Location Systems on SmartphonesRSS and Sensor Fusion Algorithms for Indoor Location Systems on Smartphones
RSS and Sensor Fusion Algorithms for Indoor Location Systems on SmartphonesUOC Universitat Oberta de Catalunya
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containersbenaam
 
Indoor Mapping & Tracking
Indoor Mapping & TrackingIndoor Mapping & Tracking
Indoor Mapping & TrackingVimala Siravi
 
IoT BASED SMART HOME USING ARDUINO
IoT BASED SMART HOME USING ARDUINOIoT BASED SMART HOME USING ARDUINO
IoT BASED SMART HOME USING ARDUINOAYSHA S KABEER
 
Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning SystemsProjectENhANCE
 
Near field communication
Near field communicationNear field communication
Near field communicationdivyasolanki101
 
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptx
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptxARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptx
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptxravikumar89386
 
Internal and external positioning in mobile and web applications
Internal and external positioning in mobile and web applicationsInternal and external positioning in mobile and web applications
Internal and external positioning in mobile and web applicationsDejan Radic
 
weather monitoiring system.pptx
weather monitoiring system.pptxweather monitoiring system.pptx
weather monitoiring system.pptxPranayBathini1
 

Similar to (Enemy of the) State of Mobile Location Tracking (20)

Enemy of the) State of Mobile Location Tracking by @richardkeen
Enemy of the) State of Mobile Location Tracking by @richardkeenEnemy of the) State of Mobile Location Tracking by @richardkeen
Enemy of the) State of Mobile Location Tracking by @richardkeen
 
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介
ハイブリッドLoRa-BLEモジュールとTTN対応キャリアグレードLoRaWANゲートウェイの紹介
 
Internet of Things (IoT): Micro-location and Smart Buildings
Internet of Things (IoT): Micro-location and Smart BuildingsInternet of Things (IoT): Micro-location and Smart Buildings
Internet of Things (IoT): Micro-location and Smart Buildings
 
Indoor navigation system
Indoor navigation systemIndoor navigation system
Indoor navigation system
 
Beyond Traditional Mobile Testing
Beyond Traditional Mobile TestingBeyond Traditional Mobile Testing
Beyond Traditional Mobile Testing
 
PLNOG15: Find the location of your superhero with 802.11 - Sebastian Pasternacki
PLNOG15: Find the location of your superhero with 802.11 - Sebastian PasternackiPLNOG15: Find the location of your superhero with 802.11 - Sebastian Pasternacki
PLNOG15: Find the location of your superhero with 802.11 - Sebastian Pasternacki
 
RSS and Sensor Fusion Algorithms for Indoor Location Systems on Smartphones
RSS and Sensor Fusion Algorithms for Indoor Location Systems on SmartphonesRSS and Sensor Fusion Algorithms for Indoor Location Systems on Smartphones
RSS and Sensor Fusion Algorithms for Indoor Location Systems on Smartphones
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containers
 
Indoor Mapping & Tracking
Indoor Mapping & TrackingIndoor Mapping & Tracking
Indoor Mapping & Tracking
 
IoT BASED SMART HOME USING ARDUINO
IoT BASED SMART HOME USING ARDUINOIoT BASED SMART HOME USING ARDUINO
IoT BASED SMART HOME USING ARDUINO
 
Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning Systems
 
Near field communication
Near field communicationNear field communication
Near field communication
 
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptx
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptxARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptx
ARDUINO BASED HAND GESTURE CONTROL OF COMPUTER (3).pptx
 
Potential technogies
Potential technogiesPotential technogies
Potential technogies
 
Internal and external positioning in mobile and web applications
Internal and external positioning in mobile and web applicationsInternal and external positioning in mobile and web applications
Internal and external positioning in mobile and web applications
 
Modern Surveying Equipment Presentation
Modern Surveying Equipment PresentationModern Surveying Equipment Presentation
Modern Surveying Equipment Presentation
 
Secure you
Secure you Secure you
Secure you
 
weather monitoiring system.pptx
weather monitoiring system.pptxweather monitoiring system.pptx
weather monitoiring system.pptx
 
Sensor's inside
Sensor's insideSensor's inside
Sensor's inside
 
Sun SPOTs by Ritter
Sun SPOTs by RitterSun SPOTs by Ritter
Sun SPOTs by Ritter
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

(Enemy of the) State of Mobile Location Tracking

  • 1. R I C H A R D K E E N (Enemy of the) State of Mobile Location Tracking
  • 2.
  • 3. 20,000 points over 232 days 15,000 miles travelled at an average of 2.6 mph
  • 4.
  • 5. M E T H O D S O F L O C AT I O N T R A C K I N G • On-device sensors (GPS etc.) • Network provider tracking • Indoor Wi-Fi scanning • “Smart” rubbish bins…
  • 6.
  • 7. W H Y T R A C K D E V I C E L O C AT I O N • Safety & security • Logistics • Friend finders • Fitness • Journaling/quantified self • Anticipatory computing
  • 8. H O W I S A L O C AT I O N D E T E R M I N E D Sensor Accuracy Speed Power consumption Caveats GPS ~40m Slow (3 seconds+) High Rarely works indoors WiFi triangulation ~70m Fast Medium Rarely works in rural areas Cell triangulation Cell ID 200m-1km Fast Low
  • 9. R E Q U E S T I N G A S I N G L E L O C AT I O N • Even single location updates come as an asynchronous stream – not a single final value • Initial location is often cached and stale • The user may be moving around as you request their location!
  • 10. A N AT O M Y O F A L O C AT I O N • latitude • longitude • altitude • accuracy (horizontal and vertical) • speed • bearing • timestamp
  • 11.
  • 12. T R A C K I N G C H A L L E N G E S • Power consumption • Multitasking/background processing support • Privacy settings (global & per-app) • Device reboots • Airplane mode, Wi-Fi disabled, cellular disabled • Testing
  • 13. S TA N D A R D L O C AT I O N S E R V I C E S • Delivers a constant stream of locations over time • Supports background multitasking (limited on Windows Phone) • Power hungry with default settings • Tracking won’t survive device reboots* • Consider power impact of your callback code as well
  • 14. S TA N D A R D L O C AT I O N S E R V I C E S - I M P R O V I N G P O W E R C O N S U M P T I O N • On iOS & Windows Phone, manage power usage through location manager settings: • desired accuracy level • distance or time threshold between notifications –  helps to reduce processing overhead • iPhone 5+ & Google Nexus 5 support deferred updates & sensor batching
  • 15. S TA N D A R D L O C AT I O N S E R V I C E S - I M P R O V I N G P O W E R C O N S U M P T I O N iOS desiredAccuracy Power usage Highest power sensor kCLLocationAccuracyBestForNavigation High GPS+ kCLLocationAccuracyBest High GPS kCLLocationAccuracyNearestTenMeters High GPS kCLLocationAccuracyHundredMeters Medium (urban) High (rural) WiFi (urban) GPS (rural) kCLLocationAccuracyKilometer Low Cell kCLLocationAccuracyThreeKilometers Low Cell
  • 16. Android priorities Accuracy Power usage Highest power sensor used PRIORITY_HIGH_ACCURACY Building-level High GPS PRIORITY_BALANCED_POWER   _ACCURACY Block-level Medium WiFi PRIORITY_LOW_POWER City-level Low Cell PRIORITY_NO_POWER Varies None Varies S TA N D A R D L O C AT I O N S E R V I C E S - I M P R O V I N G P O W E R C O N S U M P T I O N
  • 17.
  • 18. S I G N I F I C A N T C H A N G E N O T I F I C AT I O N S • Only available on iOS • Low power overhead, relies on cell tower transitions • On average notification triggered after a movement of around 500m and more than 5 minutes • Survives reboots of the device • Very useful in hybrid strategies
  • 19.
  • 20.
  • 21. G E O F E N C E S • Geofence is a region defined by a co-ordinate and radius (in this context) • Can request background notification of entry or exit of the region (& dwelling on Android)
  • 22. A B
  • 23.
  • 24. E X I T A
  • 25. E N T E R B
  • 26. G E O F E N C E L I M I TAT I O N S • Often quite a lag, doesn’t always trigger • Not available on Windows Phone • iOS supports up to 20 per app, Android up to 100 • Survives reboots on iOS, not on Android
  • 27. H Y B R I D S T R AT E G I E S Your app will have unique tracking needs; the default strategies are rarely the most appropriate Find the ideal balance of quality, power use, granularity and frequency for your app
  • 28. A N A S I D E : A P P L E M 7 & S I M I L A R • iPhone 5S shipped with Apple M7 “motion co- processor” • Does not relate to location data • Google Nexus 5 and Moto X ship with “hardware sensor batching” – equivalent functionality • Currently provides step counting & activity detection
  • 29. T O O L S • Profiling tools allow you to monitor use of GPS over time • For iOS use Instruments, untethered capture supported via iPhone settings • For Android use Qualcomm Trepn plugin for Eclipse
  • 30.
  • 31.
  • 32. B L U E T O O T H B E A C O N S • “iBeacon” – Apple specification for Bluetooth 4 location beacons • Indoor high-accuracy location triggers • Indoor positioning • Opt-in via install of app tied to iBeacon namespace
  • 33. T H A N K S ! @richardkeen richard.keen@gmail.com iOS reference: http://bit.ly/19O9PZS Android reference: http://bit.ly/18mMnSX Windows Phone reference: http://bit.ly/1aJu6y8