Author: Avanti Ghatage

Posted On Apr 27, 2018   |   6 min

learning system

For e-learning software products like LMS, it is critical to support the technical standards for interoperability and compliance. SCORM was the major specification used till now, but it is not able to capture the entire picture of learning, especially when distributed learning is happening all around. Now-a-days, learning happens at many places including mobile and at other social platforms like YouTube, and SCORM isn’t able to capture all these activities. Experience API makes the tracking and recording of such activities possible.

Some of the advantages of xAPI can be easily understood with a Landline-Smartphone analogy as explained below.

SCORM and xAPI Analogy


SCORM and xAPI Analogy

The Experience API lets you record any learning experience, wherever and however it happens and gives you a complete picture. It not only introduces a lot of new features and possibilities, but also removes all of the constraints of older e-learning standards.

Working of xAPI

The Experience API (or xAPI) is a new specification for learning technology that makes it possible to collect data about the wide range of experiences a person has whether online or offline. It facilitates the interoperability between learning systems to communicate via LRS, Learning Record Store, providing the central place to capture all your learning activities and experiences. A Learning Record Store (LRS) is the implementation of the server-side requirements associated with xAPI specification. An LRS could be optionally integrated with any application such as a LMS, Human Resources (HR) system, or it could serve as a centralized data store in the enterprise learning ecosystem.


With xAPI, anything a learner does as a part of a learning program generates an activity statement. These statements could be: starting an online course, completing a quiz, or things like attending a meeting, reading a document, and so on. LRS is the application interface for storing, accessing, and often visualizing such data about learning experiences, activities, and performance. It is also required to validate the format of the statements as many of the requirements in the xAPI specification are targeted towards the LRS component.

Building xAPI into your product

When it comes to xAPI enablement to your learning system, there are 3 aspects to consider –

       1.Choosing the LRS:

One can build LRS within organization or can buy it from available options in the market. Chances are that there’s a product that meets some or all of your needs for your project. Below are a few products listed which are available in market and can be customized further as per your requirements

  • Yet Analytics
  • Watershed LRS
  • Wax LRS by Saltbox
  • Learning Locker

     2. Implement xAPI specifications:

For end to end xAPI enablement, one needs to incorporate xAPI specification by following the 3 steps mentioned below:

  1. Design statements to capture the learning experiences that will be stored in LRS as per xAPI specifications:


The first step in implementing xAPI in your product is to identify the events and data to be captured and then match them to the properties of an xAPI statement. Having determined what data to capture and how to capture it, you can now think about how that data will be structured as xAPI statements. An xAPI Statement is represented in a JSON format. To create a xAPI statement, one needs to find out below properties:

Above are the trivial properties for statement. In addition to these, more information like context, attachments, timestamp, authority, etc. can also be stored. Identifying learner and structuring activity ids plays important role in the statement design step.

  1. API communication to communicate statements between LRS and other systems:

Once statement designing is done, it is important to make connection between your application and your LRS to send the statement. Here, application can be some LMS or learning system from where you want to capture the learning experience. There are existing code libraries for all the major programming languages available here to build the xAPI endpoint. All you need to do is to configure your application with this xAPI endpoint and authentication details. If one has a choice between sending data from the learner’s browser using client side JavaScript versus sending the data server side from a web server, server side code is always the best option. Server side tracking is less vulnerable to both security and connectivity issues

  1. Authoring tool where xAPI specification should be incorporated within so as to be compatible with LRS design:

This can be optional depending on your requirement to capture the learning experiences. To implement xAPI with authorizing tool one has to ensure that authorizing tool is of latest version to enhance their xAPI-tracking capabilities. When you publish the course, it’s important to select the xAPI/TinCan option from the authoring tools publish settings, rather than SCORM or AICC. Along with this, there can be some additional settings as well.

         3. Launching xAPI course/ content:

xAPI applications is not packaged content. Hence, unlike previous learning standards such as SCORM and AICC, xAPI does not define a mechanism for packaging up content. But when one has to work with LMS and especially having been with SCORM for years, one cannot get away from packaging and launching. As initially there was no specification for packaging, Tin Can was used to launch the content with custom packaging and launching method. Later, cmi5 was introduced as standard for xAPI packaging and is being widely used now for packaging and LMS can launch this cmi5 content. To help with launching content without LMS, one can use xAPI launch tool that plays the role of an LMS but without any authentication or security.

Online learning experience isn’t all completely done within an LMS. Furthermore, SCORM isn’t sufficient because of its limited ability to track learners’ behavior, preferences and interests. With xAPI you can better track the learning activities that happen across various systems deployed at organization including learning and other related systems (MooCs, enterprise social platforms, mobile learning, etc.) As the Experience API becomes more prevalent, LMS products will need to step up and support it in order to survive in today’s competition and meet the increasing focus on workplace-based learning.

References :