A summary of publicly available knowledge regarding native GPS support on commonly used iOS and Android devices, brought to you by the Engineering Team at Snap Send Solve.
An ideal Snap Send Solve report is quantified by a few elements: clear photos, adequate incident information and an accurate location to where the incident occurred. These properties are ideal and necessary in order to let authorities action reports as quickly as possible.
Occasionally we receive inquiries that relate to the accuracy of Location Services when the Snap Send Solve app automatically determines the user's location. This happens at one or both of the following instances in the reporting flow:
Snap Send Solve requires this location to be as accurate as possible to ensure that the report is sent to the correct authority, and that the receiving authority can accurately locate the incident to action the report in an efficient manner. If the location is inaccurate, the report could be sent to the incorrect authority, or the authority in question may not be able to locate the reported incident.
Snap Send Solve is a native mobile application. To ensure a consistent experience across the apps you use on your device of preference, most apps you use on a day-to-day basis will typically use the standard native components the operating system vendor supplies. This means that the user experience stays mostly consistent across all apps on the device; from taking a photo, to sharing content with friends, to more complex subjects like GPS and geolocation.
At Snap Send Solve we use native frameworks to provide data pertaining to the user's location.
In iOS we use Apple's MapKit[1] to render maps, and the Core Location framework[2] to provide accurate geolocation information when it's needed in the reporting interface.
These are identical technologies to those used in Apple's own Maps app. Address lookup and reverse geocoding (turning GPS coordinates into a nearby property address) are also done using the Core Location framework. Snap Send Solve themselves do not provide additional implementation around the services provided, which means updates provided by Apple are typically available automatically.
Our Android offering also provides similar implementation details around the same features as iOS. Android uses Google Maps to provide map information, and the Google Location Services API[3] for address lookup, reverse geocoding and determining a user's location for a report.
These frameworks use a combination of technologies to determine your location to a reasonable degree of accuracy. GPS, cellular data, Wi-Fi and Bluetooth are used to give a more refined location than GPS alone, and are amalgamated under the name Location Services.[4]
The combination of technologies allows Google and Apple to provide very accurate, real-time location information - commonly to within about 10 metres - to app developers like Snap Send Solve to provide the best possible experience without having to independently maintain those services ourselves. It allows us to give users Enterprise-level location services at no additional cost to the user.
Location accuracy can vary depending on availability of certain location services. An independent study conducted at the University of Georgia found that "the overall average horizontal position error of the iPhone 6 is in the 7-13m range"[5]. The study also showed that in cases where only GPS was available (no Wi-Fi, mobile data or Bluetooth available) during peak traffic the location read-out could be as far out as 90 metres.
Contributing factors to poor location accuracy is usually the result of a combination of factors, including (ordered by importance):
In cases where the Location Services position is less accurate than desired, Snap Send Solve allows users to improve their reporting location in a number of ways:
Geolocation using Location Services is typically sufficient for determining the place where the incident was reported. However if contributing factors (mentioned in the Complications section above) produce a location readout that's less accurate than desired we allow for manual intervention by the user.
Snap Send Solve uses native technologies provided by Google and Apple in the app for their respective devices to provide accurate, real-time location information to the user. This experience is intended to behave in a similar fashion to the native Maps offering on those devices.
Due to the amalgamation of technologies to provide location information to mobile devices, a number of environmental factors could lead to less accurate readings. Research suggests that, on average, location information is typically accurate to within 10 metres of the reported location.
Snap Send Solve provides some quality-of-life features to help users verify their location and make any corrections to them before sending the report to the designated authority. We also advise that users ensure that Location Services, WiFi (no connection to a hotspot is necessary) and Bluetooth are all enabled when available to ensure the most accurate reading possible.
[1] MapKit documentation - Apple Developer; https://developer.apple.com/documentation/mapkit
[2] CoreLocation documentation - Apple Developer; https://developer.apple.com/documentation/corelocation
[3] Location Services documentation - Google Developer; https://developer.android.com/training/location/request-updates
[4] "How does GPS work on my phone?" - J. Hildenbrand, AndroidCentral; August 2018; https://www.androidcentral.com/how-does-gps-work-my-phone
[5] "Smartphone GPS accuracy study in an urban environment" - Merry, Bettinger, University of Georgia; July 2019; https://doi.org/10.1371/journal.pone.0219890
[6] "About privacy and Location Services in iOS and iPadOS" - Apple Support; https://support.apple.com/en-au/HT203033
We'll be in touch to share more about Snap Send Solve and learn how we can help your organisation.