Exchanging data: Using APIs 

The abbreviation ‘API’ stands for Application Program Interface’.  It is an important concept in IT architecture.

The browser on your PC or phone is an interface between you - a human being - and the server that sent the webpages out.   However it is often useful for computers to talk to each other - for example an app on your phone can download stock prices and present the to you it its own format.  The app will request data from a server, and the server responds with data in a format that would be difficult for a human to read, but is very efficient for the app.    The app decodes the data and presents it in a pretty, human readable form, maybe adding extra features like an alert when a certain price is reached. 

Because this is so useful, many companies define interfaces and message formats that allow apps and other computer programs to exchange data,   The set of definitions of the interface, messages and protocols is an API.

Linking to Your Own IT systems

It is often desirable to link an app with an organisations existing IT systems.  There are many reasons to do it, for example:

  • User management - employees use the same username and password to log into the app as they do for other corporate systems.
  • Data and statistics: information entered by app users or information generated about the app users may be uploaded for analysis.
  • Integration with messaging systems like email.
  • Integration with retail systems - the app will sell the same products as the companies’ website and the retail outlets. 

Integration with other systems is usually easy done, as most services are build on IT products which offer APIs for data exchange.  

Cost and technical implications:  Wide range of complicated technical issues. The costs of such integration will vary widely, but will almost always be in the high cost range. 

Integration with your Website

Apps and Websites often work hand in hand, and for an organisation that has both the look-and-feel should be much the same.  

Integrating an app and a website maybe easier than other types of integration as this is very widely done and there is a lot of standard code libraries and ready written software to do it.  

Cost and technical implications: Often easier than other kids of integration, but needs to be designed on a case by case basis.  Medium or high cost.

Third Party APIs

The wealth of information that is publicly available on the internet through APIs is truly immense.  To get some idea, go to your favourite search engine and search for API pages (eg search for ‘facebook API’ ‘twitter API’ and so on.  You will find thousands of pages of information for developers.  

Here are some great examples:

https://developers.facebook.com https://dev.twitter.com https://developers.google.com     (Google publishes SO much data that you can integrate into your app)

These APIs allow information and other useful things like pictures to be incorporated into your app.  

Many social media companies actively encourage integration of their services into apps, as long as it doesn’t impact on their revenues. 

Other companies also actively encourage developments that complement their own services.  For example SalesForce.com is a leader in the market selling tools for sales management.  They actually have their own app store and encourage third party developers to develop extensions and applications that extend the core Salesfores product’s abilities.  

Cost and technical implications:  Likely to be medium to high, but this is a very broad topic, and some organisations - social media companies are typical - do encourage this kind of integration as it extends their reach.  Companies with this policy make it easy to develop interfaces by publishing good documentation and sample code.  This helps reduce costs.