Thursday, September 29, 2011

Week 7 MIST 7500 - API's

You may not know it, but you probably utilize APIs on a daily or weekly basis.  Much of API's are behind the scenes, so the typical user doesn't even know what's going on when they use a certain app or go to a particular webpage.  This particular post will focus on what API's are, some of the key advantages and disadvantage, and then we'll go over a case study for Neflix and discuss the evolution of their API strategy.

So what is an API?

An application programming interface (API) is a particular set of rules ('code') and specifications that software programs can follow to communicate with each other. It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers.  A program's API defines the proper way for a developer to request services from that program. 

Why are API's necessary?

Josh Walker of Forrester Research Inc. says that "Building applications with no APIs is like building a house with no doors."  API's allow that necessary communication between applications.  As an application mature's, the need or likelihood of another developer needing to tap into that particular program increases.  Having available API's makes your application more market friendly.  If a company wants to use your application with another in house application then having that API available is critical, otherwise they could be tempted to find another vendor that will provide that API support.

API example

An example of a simple API is the Google Map Image API.  This API allows you to incorporate maps as images on your website.  You can feed certain parameters like size, zoom level, location, and path points.  It's very helpful for people that want specific location maps on their websites.  Google has other API's that allow more functionality, but with more functionality you have more complexity.  So depending on what you need, you can find an API that works for you.

API Advantages
  • Add features to your site without having to code them
  • Get more exposure for your application
  • Possibility of additional revenue (some API's must be purchased)
  • More integration with other applications

API Disadvantages
  • Security issues
  • Can be difficult for developers to learn
  • Sometimes not officially documented
  • API's are sometimes kept secret or are not known
  • Can change rapidly
  • Bandwidth issues (too many API calls)
  • Overexposure (too much of your code is open)
Neflix Case Study

To reach a wider audience, Neflix has API's that they have made available and have become successful in generating additional revenue and creating more of a brand presence.

1000 Flowers - Their first attempt at API's was to make it available to the masses.  The more exposure they got, the better.  They incorporated a prize of $1 million to the development team that could generate a 10% increase in success with their Recomendations Algorithm.  After 3 years, they were finally able to achieve that.  They felt that while the had lots of innovation with this method, they wanted to go a different route

Hundred of Devices - Netflix had a goal of getting their service on 100 different devices (other than the PC).  Instead of having companies like Sony and Microsoft write their own programs (which took up to a year and a half) the made their API available to these companies.  This not only got their service on more devices (over 200 when it was done) but it increased revenue streams for them and did it quickly.

Tons of Tests - Now their focus has shifted to testing their API's in other ways to generate new mediums and new methods...namely the mobile environment.  They are constantly updating their API's every two weeks to be more flexible and meet demand.  Neflix just released an update that will allow any phone running Android 1.5 or higher to utilize it's app.  Now they have more customers who will be able to view their content and possibly more new customer's now that their phone is supported.

Netflix has discovered a few key points during the evolution of their API Strategy:

  • Developing an API strategy is a jorney not just a single project
  • Be prepared to evolve to the business environment
  • Netflix chose speed over scale and decided to develop their API's to develop their core business instead of focusing on APIs to develop new side business
So in conclusion, there is a great need for APIs and while there is some risk in utilizing them I think the benefits difinitely outweigh those risks.

No comments:

Post a Comment