The term Application Programming Interface or API is used in abundance throughout the world of IT. It can mean a myriad different things. An API can be the collection of functions for achieving a given task, or the means by which you can access some data or information. It can be the way you alter and manipulate an operating system, or a piece of hardware. Its an umbrella term. APIs take many forms, I think it's best to view them as pieces of a larger puzzle.
Over the weekend I was speaking with two friends who are both involve with the pharmaceutical industry, one a chemist, the other a chemical and process engineer. I learnt from our conversation that in pharmaceuticals the main focus of research and production also involves APIs, or Active Pharmaceutical Ingredients. They share similar core traits to the APIs I work with.
Their kind of API has been carefully crafted in a laboratory to work with the body's natural chemical makeup to improve or cure an affliction, as non-pervasively as possible. So, when a doctor prescribed something for your sore back, you can believe with a large amount certainty that it'll help, and not have any strange side effects.
Both must fit together with pre-existing elements, complementing one another with the least amount of friction possible.
Apple announced thousands of new APIs for its different products and technologies at it's World Wide Developer Conference last week . It's a developer's job to take these APIs, and fit them together in creative and novel ways, to form an application, just like pieces of a puzzle.
I've learnt over the course of the last few weeks, sometimes the pieces do not always fit flush together, and the right one may never fall in front of you. But that's the real challenge, learning to adapt the pieces you do have, to fit the way you want, or need them to. It's a constant learning curve, but there's no better feeling when the pieces start falling into place.