Once considered the domain of the technical elite, application programming interface or API's are now more open and available than ever but it's not the API's themselves that are increasing viability. It is an ever increasing ecosystem of platforms that are helping us plug API's into, together and around us that have changed the way we look at how we can get stuff done and allowing the average user access to the forbidden fruit.
When I recently presented at a conference in Seattle I wanted a group of non-coders to realize that API's are something worth taking a closer look at. I thought what makes more sense than to categorize their use into ever increasing levels of complexity. I come up with four levels.
Level 1 - Easy peasy lemon squeezy (that is British for, "yes, its f@#$%^ easy")
Level 2 - A little harder but my 10 year could still work it out
Level 3 - I might need some help, please standby
Level 4 - Please help me I just had a brain hemorrhage
Level 1 is base level, can't get any simpler out of the box. While most of you might overlook the fact this is using API integrations the Cisco Spark Depot is simple easy to use click and go API and bot integration. There is no coding, you can access it straight from the Spark application from within a room and there is not too much to think about.
Level 2 is getting a little harder by using a API broker. Now when I say harder I mean you have to go outside the application and visit a website. So in reality not too hard. But there are some steps to get you integration working but sites like IFTTT and Zapier make it pretty easy to get your applet/zap/whatever you want to name it working.
- IFTTT - This is the easier of the two examples to work through. If This Then That makes setting up integrations pretty simple with click and go work flows.
- Zapier - Along the same lines as IFTTT but allows more complex work flows and trigger scenario's.
Level 3 is more complex but not beyond the skill level of most IT pro's. While the works flows at level 3 are a mix of drag and drop and there is some coding to create more complex scenario's and integrations. If you want to take a look at some try:
- api.ai - Now part of Google this cool NLP platform has a lot of prebuilt NLP domains for you to use to get you started. It also has the ability to host the integration to Spark to leave you to do the business logic which it has the ability to integrate with using Webhooks. This is close to a level 4 but seeing as it does some of the hosting work for you it's making your life easier getting it a level 3.
- Built.io - This is an interesting platform that does drag and drop integrations along with the ability to host custom code. It makes your life easier by doing the hosting for you and providing some nice drag and drop integrations.
Level 4 is custom code. The most complex of the 4 levels that requires a in depth knowledge of programming although you would be surprised what you can write with less than expert knowledge. Some of the interactions with technical non-programmers over the last year or so have highlighted the fact that people just don't know where to start when it comes to this level. If you have never tackled programming before it is a challenging endeavour but not impossible. The fact there is so many paths you can take can put some people off but sticking with it will in the end bring results. Some of benefits and challenges are:
- Ultimate in business logic customization
- Ability to use open source frameworks and platforms (Nodejs, Node-Red, Spark Flint, etc.)
- Access to all sorts of API providers (Google, Facebook, Salesforce, etc.)
- Lots of hosting choices (AWS, Heroku, Azure, etc.)
- Too much choice leading to analysis paralysis.
Having choice of course is a good thing and while level 1 and 2 are much simpler you would be surprised what sort of integrations you can create. Give it a go and it may inspire you to move on to levels 3 and 4.