There’s been a lot of talk lately about a guy who gamed the competitive aspect of Foursquare.  Basically he used the API and some scripts to create a bunch of fake accounts and repetitively check-in all over the place, stealing mayorships from angry players all over.

This is a problem Foursquare faces because of the competitive nature of the platform.  Aside from the pride of being mayor of a place, many venues offer deals for the mayor.  So it’s easy to see why some bad apples out there might screw the system for their own benefit.

Of course that has no effect on the other aspect of the service, which is to update your friends on where you are and to find out where they are.

With an open API there is not a lot Foursquare can do to stop fraud.  Certainly they can implement certain algorithms to stop users from checking in all over the place, and that may be the route they choose.  But cheaters are creative, and they will constantly try to find ways around such algorithms.

I’d propose a different method of fighting cheaters: Only allow check-ins via official Foursquare applications (and possibly approved applications to be featured on the Foursquare website) to count towards mayorships and badges.

Though they don’t do it yet, the official apps could ensure that you are close to the places you are checking in via GPS.  Third party apps could be required to submit an explanation of their location strategy, some source code, and/or a version of the app for Foursquare to test.

It’s obviously not a perfect solution because it won’t be an easy task for Foursquare to approve applications if they become too numerous.  It could also prove confusing for users who don’t get why their application isn’t giving them mayorships/badges.

However, Foursquare faces a tough problem and the faster they can react to it the better.  It would be better to put these restrictions in place early and be able to lift them when good preventative algorithms can be developed than to put them in place later.