Foursquare's Android app (and maybe the others) does have a rather annoying tendency, however. To understand why it's annoying you have to understand the use case, but luckily it's really very simple:
- Fire up my GPS and the Foursquare app on my Nexus One
- Check the "Places" page to see if Foursquare lists the place I want to check into. If it doesn't I search for it.
- I tap the place to go to the place page.
- I tap the "Checkin" button and check in.
- I tap the "Home" button on my phone, "minimizing" the app, and flick off the battery-draining GPS.
I don't have their user research in my hands, obviously, but intuitively this doesn't seem like an edge case to me. I use the application until I've achieved my goal, then I jump out and do other things I need to do. Makes sense, right?
The problem with this is how the Foursquare app behaves when I return to the application to check in somewhere else hours later. The application, not entirely unexpectedly, picks up right where it left off, at the same "You Just Checked In" screen. What it won't tell you is it just checked you into that location again. I didn't pick up on this until I noticed my Location Stream in TweetDeck one day showing me having checked into a place that day that I had actually been the day before. I looked at my Foursquare history and found dozens of these double-checked incidents.
This isn't a normal UX issue like most of the stuff I post here. In fact, I can totally see how a lot of people wouldn't really give a damn if the app occasionally checked them in twice (I care because, well, I'm a geek). But it's a UX issue because it exposes the fact that a user's actions cause unintended results for somebody. I mean, how would a place's "Mayor" feel about having been booted over what is essentially a bug? And I'm sure Foursquare did not intend to help accidentally helping some people game the system.