API design is a big deal. Today, we are beginning to harness the value of what happens when we apply generally accepted UX practices to API design. This is an attempt to manifest my theory on how to grow your API to fit the needs of future consumers - a theory I am dubbing Organic API
How do I build a good API?
There are plenty of articles out there tackling this question. The truth is, its not about how you build a good API, its about how you grow it. Don’t think of an API as an integration point. Think about it as the core to your product. Make the API work for you.
A good API should be able to act as the engine to your product. If its not good enough for your own consumption, how can it be acceptable for your consumers? You need to feel the pain when your API is difficult to use. If its painful for you to use, you will eventually do something about it.
The Organic Way
This is the core to my theory. As your product grows, so does your API. For example, say you want to add a feature to your UI where you can look up a list of users. You obviously need something that will give you that list of users. So, you create an API method and use it from your UI.
But think about what you just accomplished:
Your existing task at hand An API method future consumers can use to get the same functionality A hardened method used to provide the feature; used by all consumers Now, this is a very simple example to convey the purpose. In practice, the real value to this approach is that your API will naturally evolve based on your consumption of it. Consumers will reap the benefits of your work by leveraging the exact same implementations.