Wed May 15 2013, 12:12pm

By Aaron Parecki




Here’s why we’re excited about the new Android Location APIs

The ArcGIS Geotrigger Service leverages the latest Android and iPhone technology, when these services improve, our technology improves. Our goal is to make the best cross-platform location services for developers, leveraging the best capabilities of the native location services available for existing consumer devices.

On the iPhone, we’ve leveraged the native geofencing APIs to offer improved battery life compared to using the GPS directly. On Android, there have been minimal location services available from the SDK, essentially limited to turning the raw GPS device on or off.

Three new location APIs were announced today at Google I/O. This is great news for anyone building location-based applications. We’ve been eager for Google to improve the Android location services.

Fused Location Provider

The Fused Location Provider utilizes all of the communication sensors in the phone including wifi, GPS, and cell network, while using only 1% of the battery that previous APIs used.

This is a new service that will greatly improve any application that uses location services. We will improve the ArcGIS Geotrigger SDK for Android significantly by taking advantage of the new Location Provider. Expect to see much better battery life on the Android Geotrigger SDK in the future!


The new Google Geofencing APIs allow apps to respond to the user entering or exiting a configured geofence. The API allows each app to define 100 geofences simultaneously.

This is great news for the ArcGIS Geotrigger SDK, since we will be able to leverage this service to provide better battery life and performance in the SDK. Previously we were limited to turning on and off the GPS device. Now we will be able to use the geofencing API in combination with our optimization algorithms to better provide our Geotrigger service.

Activity Recognition

The new Activity Recognition API uses machine learning classifiers to determine whether the user is walking, cycling or driving. Apps will be able to adjust their behavior depending on the user’s mode of transport. This is done in a very battery efficient way, no GPS is required.

We will leverage this new API to make further improvements to managing the native location services, and it should open up possibilities for some interesting new apps to be built.

The ArcGIS Geotrigger Service

The ArcGIS Geotrigger Service allows developers to easily manage Geotrigger rules with a simple cloud-based API, while also supporting geofences defined as polygons. You can configure an essentially unlimited number of Geotrigger rules in the API, and only the nearby ones will be synced to the phone, making it easy to handle the limitations of the native APIs.

Many of the battery life issues people experience are due to poor implementations of using the Apple and Android location services. It’s easy for a developer to leave the GPS on all the time, but that drains battery quickly. The Geotrigger SDK efficiently manages the native location services and optimizes the server communication required to send location data, saving battery life wherever possible.

The improvements to the Android location APIs are fantastic news and will result in improved Geotrigger services and a better experience for developers!

Aaron Parecki
CTO, Esri R&D Center, Portland

Amber Case
Director, Esri R&D Center, Portland