APIs do matter
It used to be enough to have that killer idea for an online property to be sucessful. This is still true but it is just as important if not more important to have a developer's API. A trend I've been noticing is web apps launching without plans for a dev API. In the sea of the Twitter-killer wannabes, whether or not I sign up for a new service is determined by several things:
- Are my friends on it?
- Is it a solution to a problem I have ?
- Does it have an API?
Number 1 will almost always win out in absence of numbers 2 and 3. But if a service is cool, but none of my friends are on it and it doesn't have an API, it will give me pause. [In reality, I usually sign up anyway to reserve my name in case the sitch changes but that's beside the point.]
Developers have an itch to tinker and mashup things. Operating your service as a silo is like giving me a tapeworm. The parasite is getting nourished by the nutrients coming by but isn't giving anything back to the host. A service with a proper API upgrades that situation to that of a symbiotic one. Like the clown fish and sea anemones. By letting me access my data outside your sandbox, I'm more likely to use it more and give your more accurate data. My use of it will act as a catalyst for others to use it. Totally win-win.
APIs don't come without potential disadvantages. An API that is not properly tuned or architected will expose flaws in your infrastructure. But on the other hand, the API will encourage different ways of interacting with your application and increase users. I often wonder if Twitter would have been as big if it launched and maintained no API cutting off the likes of Twirl, Twitteriffic, and the dozens of other desktop clients and mobile clients. Even a read-only API in anticipation of a full one, like Disqus has, is better than nothing.