With a project I was involved in last year, I had a unique chance to work with many Web startups and their APIs ecosystem. An API (or Application Programming Interface) is a set of rules that software engineers create to facilitate the interaction between systems. Most of the time, Web startups use it to provide other businesses and developers some access to their features and data (see Twitter’s API or Facebook’s OpenGraph protocol).
For many Web startups, building and maintaining an open API is a great way to develop relationships with customers, developers, partners and investors. Here is why.
- It’s good for business development.
Other startups are looking for features that could boost their value proposition without investing money and developer time in what is not mission-critical. An open API is the ideal opportunity to team up with partners operating in the same field. It can lead to interesting partnerships.
- It will create a developer ecosystem around your product.
Such an ecosystem can really boost the quality of your product. Software engineers working all day with your API will find issues with it. They will find bugs you never tough they could exist. They will also come up with recommendations. This is gold, and all for free.
- Investors are going to want one.
Simply because your partnerships and ecosystems will bring more value to your product and your business. Facebook wouldn’t be The Facebook without it’s OpenGraph protocol now.
Aside from business and strategic goals, “thinking API” improves the application’s design. In fact, a good API is:
- Easy to learn, to use and to memorize.
Your partners should be delighted to save time and energy with your API. It will make their life easier solving complex issues and delivering more value to their customers while focusing on their mission-critical features.
- Hard to misuse.
Software engineering is just like product engineering. Mistake-proof design can save you and your developers’ ecosystem lots of time. Well-built APIs need little or no documentation to get started. The Yellow API (providing business data in Canada) is a good example of such an API.
- Is powerful enough to do what is has to do (no more, no less).
Jack of all trades, master of none. Do one thing and do it well.
- Is appropriate for the audience.
Your API is unlikely to have the same specifications and usage if you target small businesses owners or if you target specialized IT departments. Always keep in mind what your audience wants and what is their level of knowledge. A very secure but hard to implement authentication system might be too complex to use for beginners while some experienced users might expect such a level of complexity and security enabled by default.
On the other hand, poorly designed APIs can be very dangerous. The fact is that once it’s out, it’s very hard to change it. The ecosystem will rely on it’s design and maintaining useless or resource-intensive features can be costly. You don’t want to end up sacrificing scarce developer energies on stuff that is not creating value in the end. You have only one chance to do it right.
There is no need to say, if some feature can be re-used with an existing API, it should not be recreated. Maintaining many parallel features or a too-fat API can take your focus away from core-business features and prevent you from creating added value.
An API is a powerful technological asset but it can also be a great marketing tool. A well built API will definitely bring visibility to your business.