API, Application Programming interface are a set of agreements or
contracts between a program or a library and any other programmer that
wishes to use them. For example, the iPhone API allows programmers to
easily make use of the iPhones GPS, touchscreen and motion detection.
The programmer is usually assured that this contract will keep working
with the current version of the iPhone which will be supported for the
next few years.
I would argue that much of Twitters success is the combination of
missing features along with very open API. Third party vendors helped
make the platform useful quickly while developing what they believe to
be complementary business plans. The problems start when
"complementary" is ill-defined. The trouble usually does not stem from
the software API changing or being discontinued, although that happens
too. Lately, what breaks are the business APIs.
First let us take a look at Facebook. Let us ignore the implicit
contract with the users. What about the contract with facebook
application developers? Zynga invested a lot in bringing highly
addictive games to the facebook platform. Needless to say both
companies benefited. However, facebook is now going to change the business API requiring application developers to use the Facebook Credits and pay a 30% Facebook tax. Facebook and Zynga did eventually reach an agreement.
The reason Twitter could grow at such an amazing rate is that third
party developers provided all the missing functionality, turning
Twitter from a very limited social blogging platform to an empire. But
then the business API changes. Some of the functionality provided by
third party applications is made redundant by the expansion of services
offered by the company. Examples include search and native clients. The most recent change bans third party application developers from in-stream advertisement, which may foil some business plans.
The reason the precise definition of business API is needed is
exactly due to the investment needed by third parties. Investment a
platform company relies on. Similarly to developing the software
architecture around the software API a platform company needs to
develop the business plan around the business API. Unless they know
that the API will not change for the next X years it may not be worth
it to invest the time in the platform.
So, I argue that to bootstrap an empire based on minimalistic
functionality and an open API, a business API makes sense for all sides.