I want to testify that to me, API's have been a bit of a revelation. I use this type of terminology without qualm because across the board we hear words like "evangelist" describing the people whose job it is to spread the word about a particular API. These people, as a rule, do exhibit a quasi-religious zeal and conviction that their product will - if not bring salvation - at least (to quote Silicon Valley) "Make the World a Better Place".
The concept behind having an Application Programming Interface is beautifully simple, yet gives you endless possibilities. In a nutshell, an API opens a door so that your data, and the functionalities of your product, can interact with other datasets and products. It's basically the concept of IDIC (Infinite Diversity in Infinite Combinations for all you non-Trekkies out there) applied to code.
But your API is only ever as good as the developer community that uses it. If it's interesting, reliable and useful, it will attract talented and creative developers, and the results can be truly remarkable. If not, it will probably get buried in a forgotten heap somewhere. This is why our own Developer Outreach at Mendeley, Joyce Stack, hates the term "Evangelist". She is utterly passionate about spreading the word about the API, but that is much more about listening than preaching.
"You need to support developers in the cool things that they are trying to do, and provide them with the right tools to build on top of your API," she says. "One example is our new Developer portal, which we're busy populating with relevant content. For instance, we just released SDKs (Software Development Kits) for Android and Python. They're far from perfect, but what we do is we put the tools out there and then constantly listen and work with people to improve them. There's no such thing as a finished product, technology is all about iterating, and APIs are about iterating collaboratively."
Mashing up different products and concepts to suit the various needs of a diverse userbase is at the heart of what makes APIs attractive to developers, users, and companies of all shapes and sizes. Users get an infinitely greater variety of products than they would otherwise, and developers have access to datasets they could not hope to gather on their own, and can create new things without the time and expense of building them from scratch. But what about big corporations such as Facebook, why are they so keen to allow people to tinker with their platform?
"It's a way of making sure you're answering the customer demand for all sorts of different products without having to develop them all in-house, but that's far from the whole picture," explains Stack. "People are now demanding that the different products they find useful integrate seamlessly with each other, specially when it comes to developing social features, which is a big focus for us at Mendeley, where we're working on ways to turn papers from static objects into living, social entities that incorporate discussions, collaboration tools, and curated recommendations for content and interactions. It's a huge challenge, but it's what our users want and we need to work with the dev community to make it happen"
In fact, when Mendeley was acquired by Science publisher Elsevier in 2013, the fact that the APIs of their products, which included the worlds' largest databases for abstracts and citations (Scopus) and peer-reviewed articles (Science Direct) talked to Mendeley's helped to integrate the tools and improve the overall user experience.
"Researchers spend a lot of time looking through databases and organizing their citations and other materials. One of the things we did was use the APIs to develop features that would allow them to import articles directly from those databases to their Mendeley libraries, saving a lot of unnecessary clicking through, and extra hassle. It's the kind of thing that makes a real difference to the workflow of a scientist and the overall experience of our users," says Stack. "Going forward we want to do a lot more of that, integrating the Mendeley API into more products from Elsevier, other publishers, and any other platforms out there that researchers find useful. It's about making their lives easier at the end of the day."
Even woefully non-technical people such as myself can work with APIs to build things in a dynamic, modular, almost LEGO-like way. Just the other day, I needed to build a spreadsheet to keep track of my Twitter followers, and lo and behold, a helpful post by Sarah Marshall, Social Media Editor for the WSJ, told me how to use Twitter's API and Google Spreadsheets to do this in such a way that it automatically updated itself with how many followers each of them had and other handy info.
Apart from making me ridiculously proud of myself for managing to create this living spreadsheet, that experience brought home the fact that we've only just started to scratch the surface when it comes to exploring the potential of APIs and Open Data. Being able to access, process, mix and match all the data and functionalities available out there will inevitably make for some very interesting developments.
A final revelation came to me today when a Mendeley colleague showed me Zapier, a tool that allows you to manipulate APIs without doing any coding. It supports over 300 web apps, and also opens up some tantalising possibilities around the "Internet of Things". While it is already possible to use it to, say, make a light turn on every time you walk into a certain room, in future you should be able to personalise most of the devices in your home to interact with you in much more intelligent and efficient ways.
Does your company have an API? What are some interesting examples of products that have come from 3rd party developers using these? Let us know in the comments!