Understanding APIs with the help of WhatsApp

Getting to grips with the concept of an “API”, particularly in contrast to a web service, took me quite some time.  I couldn’t figure out what the difference was initially, until I WhatsApped with a friend of mine in New Zealand who is a programming whiz genius-type person. She, succinctly in a text message, informed me that a web service is a type of API, but APIs themselves are not web specific.  She went on to give an example of an API that may exist in conjunction with, say, a kernel in the open-source operating system Linux, which would allow Linux app developers to write desktop applications.  As she said, APIs can be accessed on the same machine, rather than over a network, unlike web services which are almost always accessed over HTTP (K. Graham, personal communication October 26th, 2014). Hooray for WhatsApp allowing my friends back home to explain the intricacies of DITA to me 🙂

I had a quick look to see what kind of APIs exist for WhatsApp. This link explains a couple of ways WhatsApp can be integrated into a various apps: http://www.whatsapp.com/faq/en/iphone/23559013. WhatsApp has a Documentation API which is what allows multimedia created by other apps to be shared on WhatsApp.

One of my difficulties with getting my head around what APIs and web services were is partly because they are so ubiquitous: we use them, or the mashup of data or services they provide, everyday when we read Tweets on the Guardian, or copy/share media or text between applications.

For a bit of embedding practise, as well as a tie in with my WhatsApp revelation here is a talk by Toby Shapshak and the role of the mobile phone in Africa.