As users, communities and the industry begin to embrace the idea of an open ecosystem, Application Programming Interfaces or APIs begin to gain attention. It is, admittedly, a technical topic, and making the most of it requires some expert skills. But as a user of interconnected systems, LMS foremost, you might want to know about the massive and increasing opportunity they represent.
What is an API?
On the surface, an API is any method made available by a system to allow a third party access to its data and functions in a programmable way.
But a second look at this standard method of data exchange hints at a radical new proposition. Think of learning experiences that can take place anywhere. As long as you use a technology with an API on board, you can take the learning and its outcomes back to the LMS. Or in reverse, in which case the technology can go straight to the point. It can ask the LMS at which point of the learning path (or Competency Roadmap) your learner is. After the experience, it can tell the LMS how much progress they made. But this is only a trivial example. Imagine a setup where any learning systems connects to one another in a secure and elegant way. Learners may not need to know when they are switching interfaces or providers. In fact, if anyone of them fails you, you can shut the connection down, find a new one and never look back. If the learning technology consumer pushes, the industry will increase its attention. With more robust and standardized APIs, we could be talking about decentralized ecosystems. At last. APIs can be a powerful tool for openness, user control, and placing the benefits of data where they belong.
In this article:
- What is an API?
- How APIs benefit learning experiences
- How to get started with APIs in Education
- As an educator
- As an instructional designer
- As an EdTech developer
Some useful words
- API (Application Programming Interface): A method to allow two systems to exchange data and functionalities, usually through the internet.
- REST (Representational State Transfer): A design standard for online connections, based on simplicity and usefulness regardless of previous system states.
- RESTful API: An API designed after the REST standard.
- Token: A security code to validate the connection between systems and their users.
- WebComponents: A “suite” of APIs and other elements that “encapsulate” a program to make it useful anywhere.
- Webhook: Kind of an “autonomous API.” It keeps a link active and sends information without express requests.
- xAPI: An “Experience” focused API designed to make EdTech statements compatible. xAPI Pulse
It is not a secret that, while APIs can represent the values of Open Source philosophy in practice, they can clash with certain business practices focused on controlling user data; or creating “walled gardens,” where you are supposed to find everything you need without ever leaving their scope. Another debate is related to the monetization of APIs, whose importance is growing along with the massive migration to the cloud.
How APIs benefit learning experiences
As you might have guessed, there are obvious advantages in considering an integration between systems for learning purposes. These, of course, should be stacked against its costs, which are often linked to the time, cost and availability of programming expertise.
For educational purposes, the benefits of APIs can range from the obvious to the not so much. Those with some familiarity with the Experience API or xAPI standard can recognize many, if not all of them:
- It allows students to interact with a vast array of applications and experiences without leaving their LMS.
- It helps educators and instructional designers to keep track of said learning activity taking place “outside” the LMS.
- It makes it possible to compare the learning effectiveness of different activities, possibly different services, in measurable ways.
- It prevents personal and other sensitive data to stay in many different places, which can be hard to keep track of.
- It decentralizes educational technologies and keeps the user in control of their information.
- It allows educators to decide their own terms and limits in their relationship with other services.
How to get started with APIs in Education
As an educator
Depending on your field, there are usually tools you can use to connect with your LMS.
As we mentioned before, you might need the helping hands of a developer, but before that you must know which service are you interested to connect, which functions would you like to see inside your LMS, and who is the end user (you, your students, someone else?).
As an instructional designer
This professional segment faces the greatest challenge from introducing APIs on LMS. They must be able to understand what the technology offer on a visual, pedagogical and at least a basic level of its technological inner workings. The content must be properly integrated both on the sequence of the learning experience, as well as the workflow of the instructor. Finally, it must be able to connect with the Gradebook, and ideally Learning Analytics tools and dashboards.
As an EdTech developer
- Learn to love APIs. APIs allude to an idea of shared resources, hinting at the “decentralized ecosystem” paradigm.
- Get started with the popular ones, and move your way down into more specific, peculiar or obscure services.
- Evaluate thoroughly and make sure the access is secure, information is encrypted when and how it needs to be, and that the protocols are not too lax (nor the functionality too restrained) so users use the functionality properly.
- And above all, remember to consider the user.
The state of APIs on your LMS
Blackboard provides a colorful documentation page for its broad and RESTful API Services. You can easily search, sort and even find deprecated actions or list for previous API version.
Canvas features a broad and encompassing RESTful API which is under continuous development. It can listen to HTTP requests and respond using JSON. It implements a “small piece” of xAPI compatibility.
- How to connect to Canvas through API (OAuth2 method)
- Full list of API Resources and endpoint status
- Usage Policy and limits
Totara and Moodle
Moodle features not one but dozens of “core APIs” to interact with each built-in element or module independently.
To give other applications access to Moodle functionality over the internet, two APIs are necessary:
- External applications can connect to Moodle using the Web Services API.
Developers would do well getting started with the “Access API” which lets you check and determine which role has access to which ability in the LMS.Back to Top
On the beat
- APIs killed Google Plus. The tech Goliath’s launched internal Project Strobe as a way to explore how privacy concerns were affecting the adoption of their APIs. As it turned out, Strobe found a flaw on the Google+ API that would give a lot of social information about users. While no a abuse of the loophole was found, it did lead to the decommission of the ill-fated social network along with limits on the rest of the API suite.