Helping People Understand APIs Through Real World Examples
27 Apr 2013
I'm always looking for easy, dead simple approaches to explaining APIs to people. Having real world examples, that folks can relate with, go along way in helping people wrap their heads around the very abstract concepts that are APIs.
While going for a walk today I was thinking back when I use to build technology for my parents trucking company, when one of the fuel expenses was for Commercial Fueling Network (CFN), which is a self-service commercial fueling station.
Whether your a long haul trucker or local contractor, you can use CFN to get at an essential resource for your business, whatever the application. Any business can apply and join CFN, get a "key" to access fuel resources in a self-service way.
APIs are the same approach to selling any "virtual" online resource, as CFN is to selling a "physical" fuel resource. CFN doesn't just put free gas alongside the road for anyone to take. They have a portal where you know to go to get your resources, providing you with a key to access the fuel resources you need. CFN then bills you for the usage of their resource. You can be sure CFN has extensive data on how much fuel they sell and who it was sold to.
With virtual resources, whether you are a iPhone developer or website developer you can use APIs to get at essential resources you will need for your business, whatever the type of applications you are developing. Any developer can apply to use an API, and get a "key" to access the resources in a self-service way.
The best part about the online approach is you can turn ANYTHING into a resource. Your resource can be data in a database, specialized code you've developed or interact with anything in the physical world.
This example works well for helping people to understand how APIs work, by using a real world example they may have experience with. The best thing is, you can continue evolving this example by talking about the payment APIs used to process credit cards while fueling or the usage of APIs to interface with accounting or other administrative systems for businesses who use CFN.
I'm adding this to my list of white papers and see if I can create a more polished version of it.