Since the rise of the smartphone location tracking has become ubiquitous and is an increasingly controversial and misunderstood technology. This talk will discuss the latest approaches in location tracking across the major mobile platforms (iOS, Android and Windows Phone) and indoor location solutions such as Apple's iBeacon. It will offer practical tips on balancing accuracy with battery life, handling user privacy preferences and avoiding being creepy.
About Richard:
Richard is a software developer with eleven years experience at Multimap, BBC, Streetlife, Microsoft, and now Axon Active AG. Richard's expertise is in building large-scale web platforms, geo services and, most recently, mobile apps. He is based in Edinburgh, where he is most often to be found in cafés escaping the Scottish weather, and is passionate about well-designed products and services of all forms.
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
Accuracy
Speed
Power
consumption
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
Sensor
Caveats
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
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
- IMPROVING POWER CONSUMPTION
• 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
- IMPROVING POWER CONSUMPTION
iOS desiredAccuracy
Power usage
Highest power sensor
kCLLocationAccuracyBestForNavigation
High
GPS+
kCLLocationAccuracyBest
High
GPS
kCLLocationAccuracyNearestTenMeters
High
GPS
Medium (urban)
High (rural)
WiFi (urban)
GPS (rural)
kCLLocationAccuracyKilometer
Low
Cell
kCLLocationAccuracyThreeKilometers
Low
Cell
kCLLocationAccuracyHundredMeters
16. S TA N D A R D L O C AT I O N S E R V I C E S
- IMPROVING POWER CONSUMPTION
Accuracy
Power usage
Highest power sensor
used
Building-level
High
GPS
Block-level
Medium
WiFi
PRIORITY_LOW_POWER
City-level
Low
Cell
PRIORITY_NO_POWER
Varies
None
Varies
Android priorities
PRIORITY_HIGH_ACCURACY
PRIORITY_BALANCED_POWER
_ACCURACY
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. GEOFENCES
!
• 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)
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. AN ASIDE: APPLE M7 & SIMILAR
• 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. TOOLS
• 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. BLUETOOTH BEACONS
• “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