Sign In

Communications of the ACM

BLOG@CACM

Better GPS Software Through User Feedback


Ruben Ortega

I obsessively use GPS (Global Positioning System) technologies for my personal navigation (Google Maps on my cell phone, Google Latitude, In-car navigation), and health tracking (a Garmin Forerunner 305 watch for running, and a Garmin Edge 305 for biking). As an aficionado and avid user, I appreciate the utility and the compact form factors, but they all seem to lack the human behavior feedback loop that would make them brilliant from merely useful. As I have argued that search engines have become smarter by mining human feedback loops.  The same type of observation of both individual and aggregate human behavior could also be applied to navigation software. 

A way to exploit individual human behavior would be to simply detect the difference when I am running around a running track vs running through my neighborhood. My running loops are fairly repetitive and can be easily mapped to well-known running loops or running tracks. By correlating my runs and mapping them to known running tracks, or simply detecting whether I have just completed a 1/4 mile loop that looks like a running track oval, the software on the device should easily predict I will likely complete another oval. This one simple change would allow me to analyze my "laps" versus having to pre-configure all the settings on the device.
 
A way to exploit aggregate human behaviors emerged while I was driving down an interstate. I was looking for a coffee shop, but I didn't want to waste too much time getting the coffee.  In this situation the software should understand that my search for "Starbucks" should be ahead of me and on the same side of the highway so I could get on and off the interstate easily. Confirmation that a navigation suggestion was good is simply to watch the user and see which "Starbucks" I went to after the suggestion was made. By observing my behavior and the aggregate of other users of the system, you could easily determine that people are unwilling to backtrack or even cross the highway, despite finding another coffee shop that is closer by distance but less convenient to my direction of travel.  The aggregate behavior could be exploited to learn that searches for "coffee" or "Starbucks" rely heavily on convenience to navigate. The aggregate behavior would also indicate that the tolerance for backtracking will increase if I am searching for "hospital", "fire station", or "auto mechanic". 
 
These are just two examples of where mining human behavior and creating simple feedback loops would turn good suggestions to great suggestions. As with search engines, the initial steps will be to take individual human behaviors and opinions to make navigation recommendations. Once those individual patterns are captured and analyzed, creating aggregate analysis will lead to more relevant and accurate navigation results.

Comments


Greg Linden

Hey, Ruben, yep, that is fun stuff! There's some pretty cool work in that direction at Microsoft Research. Here are a couple examples:

http://research.microsoft.com/apps/pubs/?id=79440
http://www.technewsworld.com/story/62541.html


Displaying 1 comment

Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device
ACM DL Logo