14 Jan 2016

APIs as a Political Battleground

(Disclosure: I work for Google, but these are my personal views.)

Marco made an interesting point about APIs:

Twitter’s API requires OAuth not only for its alleged security improvements, which are weak, but also to control and limit app developers. If any app could make API calls with HTTPS Basic Auth like the original Twitter API, Twitter would have no reliable way to identify which requests came from which app, so they wouldn’t be able to enforce their restrictions and branding requirements. Any API that requires apps to register with the service and identify themselves with each request is politically unreliable because the service will always have a much bigger stick to wield whenever it’s convenient.

(Emphasis mine)

This is true, and unfortunate. APIs were supposed to be connection points that allows products built by different companies to work together to serve the user. But this ideal has been hijacked by platform owners to serve their own interests rather than those of users. Imagine how it would be if the electricity company controlled what appliances you could use rather than just being a neutral, apolitical, technical specification for connections.

When companies play these games, not only do they hurt their users and developers, it makes everyone else cautious and hesitant to build on top of others APIs, even if that would have been the best result for the user. Continuing the electricity analogy, imagine if manufacturers were hesitant to build such a diverse set of appliances and gadgets because they don’t know if the electricity company will pull the plug on them [1].

Such short-sighted actions by companies have consequences far beyond their immediate product, users and developers. They damage trust in the ecosystem at large, resulting in many itches not being scratched, many great products not being built, many companies not being started or funded, and many user needs going unfulfilled because each service becomes a silo onto itself rather than apps working together to solve users’ problems. This is sad.

[1] Pun Intended.

No comments:

Post a Comment