This is a revamp of a post originally drafted in June 2011. The Foursquare universe has changed a lot since then, as have smartphones in general, but it was worth partially rewriting as a window into how things used to be.
For a number of months after getting my first Android phone (the LG Optimus V), I spent a lot of time thinking about ways to check in on Foursquare without an internet connection. At the time, I used the phone on Wi-Fi only, for Internet things. I didn’t start on a service plan, because I had an older prepaid phone with a lot of accumulated airtime that I wanted to sell first.
Note: In this article, “Foursquare” and “Swarm” mean basically the same thing—the app from Foursquare-the-company that features check-ins. I’m temporarily ignoring the recommendation engine, because it’s irrelevant to this idea.
Foursquare could be frustrating to play under such conditions. It expected to be always connected, like most Android apps (of the time) tied to an online service, and wouldn’t work at all without Internet access. The modern replacement doesn’t take kindly to being offline, either.
Back in 2011, when I was still living under such conditions of limited network access, I thought up some ideas that Foursquare’s engineers might use as a basis for enabling greater use of the app.
The Internet connection’s primary use during the check-in process, then as now, is to retrieve the list of venues, and then submit the user’s choice (with annotations1). But ultimately, the app needs to know what’s nearby, so the user can choose a venue and “check in”.
The thing is, all that’s really needed to look up nearby venues is the device’s location, which Foursquare retrieves on each launch.
Back in 2011, I solved the problem somewhat by installing a developer tool to provide “mock locations” to the OS, so I could check into venues I’d visited earlier in the day when I had a connection. Needless to say I never, say, spoofed my location onto another continent. The entire purpose was to maintain as complete a history as possible for my own future use—and I’ve enjoyed the historical data surfacing after checking into a location I’d not been to for years.
But I hated dealing with the mock location app. Setting my location was cumbersome, and the check-in timestamps were wrong, of course. Why couldn’t Foursquare integrate this?
My idea was that, if no connection was available, Foursquare could offer an option to “check in later”, a button or menu option that would store the device’s GPS coordinates and a timestamp. The user could call up these delayed check-ins and select a venue for each one at a later time, when the network became available again.
The only casualty of this system would be the real-time notification feature that lets the user know that friends are nearby, and lets friends know where the user is—not the biggest of deals, since being offline precludes sending or receiving such notifications anyway.
The beauty of this concept is that the device knows where it was when the check-in was logged, precluding the need for any location-mocking apps and preserving the original time of check-in.
Expanded Use Cases
The ability to check in without a connection to Foursquare’s servers could also come in handy when those servers are down. It hasn’t happened for quite a while now, but in the early days of Foursquare it wasn’t unheard of for a maintenance window or server overload to take the servers down and prevent checking in at all.
This method could also help level the playing field between users of Wi-Fi–only devices and users with cellular data connections—or help users with limited cellular data plans conserve bandwidth for the essentials. Tablet or limited-data users could queue a check-in anywhere they go, and then complete their check-ins when they have a Wi-Fi connection, for example.
Fast-Forward to the Future
It would have been nice to have offline check-ins over this past summer. I traveled through some places that had almost no cell signal, and checking in was an absolute pain. Checking in was only possible in some places because I’d planned ahead and enabled SMS check-ins, and those are hard to do because they rely so much on ZIP codes.
What’s interesting is that Foursquare implemented GPS history–based belated check-ins back in September of this year. Though it doesn’t appear to allow actively choosing to check in retroactively—the setting is buried in notifications, and merely places “suggestions” in your history—I’m tickled that Foursquare is starting to support this sort of thing now that I have an unlimited data plan.
- Swarm check-ins can have a text comment, photos, a “sticker” badge attached to the user’s avatar, and tagged friends who may be checked into the venue with the user at the same time. [↩]