When geolocation tries too hard

Disclaimer: Some of the information in this post is speculation from my part on how the Foursquare system works. I’d be happy to include any necessary corrections.

I’ve been a somewhat avid user of the two competing location check-in services Gowalla and Foursquare for quite some time. They’re similar enough for me to be able to pretty much use them both in the same way.

Until last week, while on vacation in Protaras, Cyprus. When I was visiting different establishments in Protaras town and couldn’t find them in one or either of the services, I – as usual – added them myself. Oddly enough, Foursquare kept telling me after I had added some of the places that I was too far from them to be able to check in (or, get the points and badges for the check-ins at least).

Being of an investigative mind, I started thinking about what could be the cause, and came upon the following explanation. In their effort to curb cheating, Foursquare matches my geo coordinates to street addresses, and then does a reverse lookup on the address they got and match it back to my coordinates when I try to check in.

That system likely works well where the service they use to match coordinates to street addresses is of high enough granularity, but causes the problem I experienced in areas less detailed. In Protaras, the main street is a mile or so long and all locations are matched to “Protaras Main St”. The reverse geo lookup for that main street results in coordinates placed in the middle of its full length – and thus whenever you’re at an establishment at the beginning or end of the street, Foursquare’s cheat detection system kicks in.

This, then, becomes somewhat funny when you’re the one that just created the venue seconds before – as my recent tweet on the subject tried to capture:

While this specific example has a simple solution – anyone who just created a venue at a certain geographic location is likely at that certain geographic location no matter what the street address reverse lookup says – the point I’m trying to make is that while our automated systems keep getting smarter there are instances where we’re sometimes trying too hard. When we do, if there’s no possibility for the user of the system to correct the automation we cause frustration. Since we’re increasingly relying on crowd sourcing in mapping the world around us there’s very little room for frustrated users.

When context awareness and expert systems work, we seldomly notice them. When they fail, the result is often worse compared to not having tried at all.

It looks like you’re writing a letter. Would you like help?

Read more

Android one finger zoom tutorial – Part 4

Welcome to the fourth and final part of the Android tutorial on how to make your own zoom control like the one used in Sony Ericsson X10 Mini in the Camera and Album applications. Click here to go to the prevoius part of this tutorial. As usual the source code is included, see below. Don’t forgett to download ‘Sony Ericsson Tutorials’ from Android market to see demos of this and other tutorials in action.

Read more