Watch out when you build on the work of others

The soon-to-be-shuttered Google Reader service raises a critical issue. What happens when an essential part of your application is dependent on someone else's service?

It's not unique to Google Reader. Look at all the applications that utilize Facebook as their login mechanism, Paypal as their payment gateway, Foursquare for their location information.

If you step back far enough you can view building a program on top of any desktop platform (Windows, Chrome, Apple, and etc) as being wholly-dependent on the platform owner's whims.

Every developer should take a deep look at their features that are dependent on other services. Following that, consider the viability of the service--while it may be a big company like Google providing the service, if it's a little-used service or something way outside the core product area, there is a chance that the company will kill it, such as in Reader.

Also, aside from a service that is shuttered, there could be other changes to it. For example, while Facebook likely wouldn't turn off the ability to log in to your site using a Facebook account, it might start charging for that service one day.

It's worthwhile to think about a mitigation plan. Of course it's not always possible (you're never going to duplicate Foursquare's location database), but as your product grows you should consider spending development resources on weaning yourself from external dependencies.