An Introduction To Learning APIs

learning-apis

Learnovate have recently written about how APIs may disrupt EdTech. They argue “APIs open up the possibility of endless data interactions and have the potential to deliver a richer and more meaningful user experience.”

APIs are seamless and not visible to the learner but allow the learning designer to bring together data and content from multiple systems to create personalised and engaging learning experiences.

So what is an API? How does it work? And what are the implications for learning and learning design?

What is an API?

An API, application programming interface, is a tool that makes a website’s data available for a computer. When people talk of an API integration they simply mean two computer systems exchanging data in a structured way.

On one side is the server that provides the API, in essence a program running on the server. This sits there like a website waiting for someone to ask it for data. On a website when you type in a URL or web address the server responds by delivering or serving the web page to you.

With an API on the other side is a computer known as a ‘client’ that makes the data request. This client understands the API and the data available via the API. Thus if you refresh your Anders Pink news feed, our app talks to a server via an API and fetches the latest articles for you.

So in simple terms an API integration is a client computer pulling in data from a server computer. This integration requires a computer protocol, in essence an accepted set of rules that govern how the two computers can speak to each other.

api

Typically there is a Request-Response Cycle. The client sends the server a request to do something such as provide the latest data or articles and the server responds.

The client server typically needs a unique key to access the API, this key is usually a long series of letters and numbers. This key will determine what data the client computer is allowed to access. Some people use a waiter/kitchen analogy for an API. You say what you want and the API goes and gets it. And like a good waiter (so we hear) you don’t even know they’re present, or what exactly they’re doing back there in the kitchen. You just get what you wanted, where you want it.

APIs are eating the world

So far, so tech. But you’re using API’s all the time. If you visit a site and it’s displaying a Twitter Feed on the home page, that’s calling Twitter’s API. The big advantage to the user is seamlessness. You don’t have to log in to Twitter. Same if you see eBay listings  on someone’s site. That’s using the eBay API. In this way API are becoming the glue that connect different apps to give a better, more integrated user experience.  In 2015, 60% of eBay’s revenue came via its API. For Expedia it was 90%. Apps themselves become invisible. Building great software becomes more about connecting API to create an integrated experience. To enable that, API marketplaces and directors are on the rise: Algorithmia lists over 800, Mashape lists over 5000. Forrester estimates that the API economy will be worth over $1bn per annum by 2020. So what does it mean for learning?

API uses in Learning

There are many different uses for APIs in learning. The ProgrammableWeb site lists hundreds of APIs for education.  These range from pronunciation tools to machine learning algorithms to accessing images of historic artworks to accessing weather data. Below we focus on two of the main API uses that we think learning and development departments need to be aware of.

Learner Data and Tracking

One established use is tracking of learner progress across different applications or systems. The Tin Can API or Experience API captures data in a consistent format about a person or group’s activities. This allows one system to inform another system of the user’s data using an API.  The data can be about all kinds of learning activities, such as courses, mobile apps, social discussion contributions and even offline learning experiences. The benefit of this approach is that the learning does not need to take place on your Learning Management System or be managed by it. It can take place on another system and accessed via an API. This data can be consolidated in a central Learning Record Store such as Learning Locker.

In theory you can see how you might have hundreds of data points about an individual from many different systems. This is effectively what many e-commerce sites do using cookies to track a user and offer up relevant or personalised products. Such an approach could be used to design a personalised and adaptive learning programme for individuals.

Using APIs for learner data demands an appropriate level of privacy. APIs need to be designed to ensure that privacy is taken into account throughout the entire process. Data privacy was ranked by SmartBear as the number one concern of API buyers in 2016, closely followed by ease of integration and adherence to standards.

Surfacing Content and Creating Richer Experiences

One major use of an API is to surface content wherever the learner needs it such as an intranet, app or sales academy. These content APIs enhance a user’s experience by providing content that’s more expansive, from a range of sources, personalised and timely, such as articles published today on a specific topic. Many apps that you use on a daily basis access content via an API that is displayed locally.

The Elearning Guild talked about content as an API and the future of content distribution back in 2014. An API allows you to deliver content in real time, or regularly updated, to multiple systems such as learning sites, mobile devices, websites and applications.

By using APIs an LMS, or other system, can surface content from multiple systems seamlessly and transparently; and create a much richer experience for your user. In the old days all the content needed to be loaded on to a particular system or LMS. This is no longer the case as using an API can pull through and surface the content relevant to the user from multiple places.

As an example our Anders Pink API can be used to surface say the latest articles on leadership or motivation from say 30 specific leadership blogs and display these alongside formal learning materials or on social sites to prompt collaborative discussions. These can be displayed in various ways such as lists or in columns with images as shown below.


leadership-briefings

leadership-articles

 

The API can also be used to surface articles being shared by a select group of influencers on Twitter that match a certain keyword or topic. Thus every few hours users can see on their academy, website or in a mobile app the latest content being shared by experts in their field. Here are some examples:

These APIs effectively provide content as a service and allow you to select the content that gets displayed, and how it is displayed, based on specific rules or circumstances.

Here is a short example of how these briefings can be displayed on an LMS using the API, in this example Moodle the popular open source LMS.


Embedding Assessment and other features. 

APIs in Learning can also be used to embed tools directly into platforms and courses. For example if you want to generate a self assessment or diagnostic, this could be built from scratch, or embedded via an API.

APIs are well established in fields including retail, information technology but learning has lagged somewhat behind. A new wave of focused APIs could help enhance the value of Learning Platforms, making them more open and flexible. So add it to your learning vendor question checklist: Do you have an API? And does your platform play nicely with APIs? You could be opening yourself up to a lot more opportunity.