In the last three weeks we’ve had two DevMynd clients and a firm that we advise run into major problems. When I say “ran into” I should probably say “blindsided by”. All three of these applications make heavy use of external services or networks – two utilize Facebook for authentication, invites, and cross-posting, the other pulls data from Craigslist. In all three cases, the features the apps had been accessing were changed, discontinued, or rate-limited in new ways; completely breaking the apps.
Last week, Facebook announced that you can no longer post to a friend’s wall programmatically. This is obviously a problem for applications that share data with others or invite users via Facebook. In the case of Craigslist, they’ve never been particularly open, but if you flew under the radar you could generally get by with scraping data. A few weeks ago though, Craigslist suddenly started blocking requests from any Amazon AWS based server. This means that applications hosted on Heroku, Engine Yard Cloud, EC2, or Joyent are out of luck – and that’s a lot of apps. Twitter famously changed their policies regarding third-party apps recently and a whole class of Twitter clients were impacted.
We come to rely on services like Facebook and Craigslist. As product owners, accessing the data and social graphs of these services is incredibly alluring. Be wary though of tying your business model or value proposition too tightly to services you don’t control. If you do, the fallout from such changes can be devastating.
If you absolutely must launch a product that takes advantage of an API from a third-party (especially Facebook or Twitter) it is helpful to plan for its eventual demise. Consider developing a strategy that will allow you to deprecate the use of an external service over time. It’s also helpful to have a second way to accomplish a given activity within your system. If you’re posting invites to Facebook users, consider also supporting invites via email or via direct message on Twitter. Regardless of how you approach the problem, don’t be caught off guard.
DevMynd is chicago custom software development company with practice areas in digital strategy, human-centered design, UI/UX, and web application and custom mobile development.