Reading The CloudApp Story, I read a comment on the interview which said the following:
‘Building an API might be ‘useful’ but it’s really a question of whether you have the time or resources to do it. Building on practical features often just seems more important.’
Whilst I do understand where he’s coming from, what he said is something I wholeheartedly disagree with. Of course practical features should be the main part of your application, but rather than adding features it is, in my opinion, often more valuable to take the time to develop an API, with a few obvious caveats*.
There’s one group of people who will benefit from having an API available: your users. Without your users you wouldn’t have a popular application and you certainly wouldn’t be able to monetize it, so you should give something back. Providing your users with an API to play around with allows them to dig deeper into your application, exploring it further than ever possible.
These explorations and the results of these explorations will give them the opportunity to expand the application in ways you may not have thought possible, creating features for users that people love, use and grow to need, creating a community of people who love and organically recommend your app — what more could you ask for?
An ideal example of a great app that wouldn’t be available were it not for a API is TweetBot, an application that appeared out of nowhere but has quickly grown to become one of the most popular Twitter clients available, regardless of the official Twitter application. This isn’t because the official Twitter app is bad, it’s because the developers of TweetBot have a completely different set of standards and ideas and they’ve spent time creating something completely different to what we’ve seen before.
In conclusion, I think it’s an absolute top priority for any relevant application to have an API available and it’s amazing that startups like CloudApp are taking the time to develop one. Giving users a reason to explore, extend and build a community around your app would be a daft opportunity to miss.
* I’m writing this about an application like CloudApp, if you’ve created an app which will not benefit from an API or of your app has no features then you’re the caveat.