It’s time for smartphone users to give up the fear of smartphone tracking in favor of letting mobile apps use location for relevancy. The challenge with using location to improve context in mobile apps is engineering a balance of power consumption, accuracy, and coverage. Android has unique advantages in giving app developers the tools for power conservation course and fine-grained control over location, including improvements to both indoor and outdoor accuracy.
A practical example of why a smartphone user would want an app to know his or her location is Llama, which lets the user set up location-based profiles that turn off loud or inappropriate ringtones at work or prevents work-related messaging and social notifications from buzzing in your bedroom. Similarly, task-list maker Any.do can recognize when users are in a mall and remind them buy specific items.
In addition to being suspicious of smartphone tracking, users are wary of the battery drain of GPS. But contextual use of location does not drain battery life as much as turn-by-turn GPS based directions do. For example, an app that searches for the theaters showing a particular movie can use the very low-power cellular position to list the theaters based on distance. Cellular location is not as accurate as GPS or Wi-Fi location methods, but when searching for movie theaters, it’s good enough.
Most Android smartphones have built-in accelerometers, gyroscopes, compasses and barometers. These sensors can determine movement in three dimensions, direction, speed and even mode of travel (walking, biking or driving). These lower-power sensors can be used to enhance the accuracy of location-based apps while reducing power consumption. An example of zero-power-consumption location is where, after the user’s location is determined, the sensors indicate that the he or she has not moved since then. There would be no reason to incur the power consumption expense of GPS and/or Wi-Fi to determine location when the last known position could be used.
Google recently released Fused Location Services, which simplifies development of location-aware contextual apps while increasing accuracy and reducing power consumption. In creating its Fused Location Provider, Google combined GPS, Wi-Fi, Cellular and sensor-based location determination methods.
GPS is very accurate, but it consumers the most battery power. While WiFi is less accurate, it is less power hungry. GPS works well outside but, as Google’s Jaikumar Ganesh said at Google I/O, it “drops dead at the door” when the smartphone user enters a building. The opposite is true when using Wi-Fi location positioning. But sensors can smooth out accuracy and algorithmically determine when to spend the power budget on GPS and Wi-Fi. Moving from GPS to Wi-Fi in an indoor transition becomes more accurate, with the direction and speed served by the sensors.
Because the location services are fused with algorithms developed by the Android team, the developer can use a straightforward application programming interface (API) based on the priority of an app’s required degree of accuracy.
With Fused Location Provider, an app does not have to be running all the time. The location process can wake up the app when a location event of interest occurs. For instance, an application that turns on the lights at home would not run if the smartphone user was away in another city, but would reactivate when the user returned home.
Android apps can have up to 100 geofences. A geofence is a virtual boundary around a physical area in which an application can recognize when the smartphone enters or leaves. The earlier example of being reminded of a shopping list when entering a mall is a geofence. Another example is the Llama profile changes when a geofence of the bedroom or office is crossed.
The famed computer scientist Alan Kay once said “Context is worth 80 IQ points.” In the context of the relevancy of computer apps and location, users should allow smartphones to add IQ points by coping with the mundane and creating efficiency.