The Narrow World of Platforms and APIs


by Humberto Ayres Peirera (republished from his personal blog)

In our upcoming venture, we at the team of Centroid.it have had the hard task of choosing a "partner platform". Or service relies heavily on venue search, or POI (Point of Interest Search), and naturally we don't think its feasible that we'll build one ourselves. Also, at this point in time where major POI platforms have emerged, asking users of yet another online tool to built the database themselves, the phenomena known as crowd-sourcing, also won't do it.

So we set out to find the best one available that would suit our needs. We looked into:

At the start of our search, december 2010, the main choices were Yelp and Foursquare. Google Hotpot/ Places had a semi-functional API with loads of restrictions and usage limits. Facebook Places didn't really have those many interesting venues and user feedback. Gowalla did have a fully functional API with loads of features (I'll get there in a second), but it just seems (for now) they're number 2 in the social/ badge race. And you don't want to bet in number 2.

That left us with Yelp and Foursquare. We tested and tested, and this is my assessment of the platforms:
  • Yelp has a bigger density of relevant venues by a long distance, but they're only open in a handful of countries worldwide, which clearly isn't enough by any standards. World Wide Web, anyone? Also, they have more complete information per venue too (such as “group-friendly” tags which are veryrelevant to our application) and even reservations through openTable. Finally, their API has much more advanced parameters than any other, like searching within a specific city polygon.
  • Foursquare has less venues but on far more cities (can I risk to say all?) in what is a crowd-sourcing model. Their API is more open and has more social data built into the venues (for friends recommendations, etc). I'd say their APIv2 is just good enough. Most of the stuff they built is for checkins, badges, and the social gaming interaction - and if you want to be a player there, there's a lot to work on.

But, in the end, none is perfect for us; basically they were developed to serve applications close to their very core objectives, which makes each platform deep but very narrow. The absence of data write capabilities beyond basic stuff like checkin-in or writing tips for venues makes it hard for developers to really build anything way different then their main application, which is not the objective of a platform. Maybe they want developers to build extra functionality they will later "copy", clearly a move Apple has played in the past in their OS. Not the best one I'd say. I would love to see lots more useful information on each platform (menus, hours of operations, contacts, etc, etc), especially on foursquare. These could be crowd-sourced through custom-tags, etc. Yelp should focus on expanding the platform and building a better reccomendation engine.

I must say not everyone agrees with me. When I made this point at the Launching Tech Ventures class at HBS about Foursquare, where we had Jeff Bussgang to comment on Foursquare, other students who have had far greater explorations into the start-up world didn't seem to care much. Maybe platforms are supposed to be narrow and deep. Maybe users and developers don't want a one-stop-shop, maybe all they want is to cherry pick functionality here and there: if the service works, they bring it in-house, if it doesn't, burn and restart. One thing I'm certain: When/ if eventually Centroid.it makes it there, we will definitely try to be a better platform host than anyone else, by providing non-restrictive, and wide use beyond our core focus to our service.

(BTW, we chose Foursquare. We want an international footprint and also its good to side with a fast-growing start-up loaded with talent.)