editors choice badge Editors' Choice

eLearning Standards 101: SCORM, AICC, xAPI, cmi5, And IMS Cartridge

eLearning Standards Explained
Antonio Guillem/Shutterstock.com
Summary: If you’ve ever had something to do with eLearning, you’ve surely come across such notions as SCORM, AICC, or xAPI. This article will break down every single one of these acronyms, explain how they came about, and what they do.

5 eLearning Standards Explained

A simple idea has been driving the eLearning world forward for almost 30 years. The idea that it shouldn’t matter which authoring tool you use or what Learning Management System (LMS) your boss prefers. All eLearning products should be compatible with each other, no matter who developed them. But, in the 80s, when there were no compatibility standards yet, companies and educational institutions had to build their own computer-based training (CBT) from the ground up. This was how AICC started.



In 1988, several major aircraft manufacturers, including Boeing and Airbus, started a project that should’ve helped them reduce the costs of implementing CBT for their employees. They called it the “Aviation Industry CBT Committee” (AICC). This collective began developing a set of guidelines called Computer Managed Instruction (CMI001) that, when applied to computer-based training systems, should’ve helped ensure they were interchangeable and compatible with other systems.

Then, when the internet became a thing, and a need to host courses on the web became obvious, they updated CMI with a new chapter called “Runtime” that described how Content ⇋ LMS communication should work online. AICC called this specification “HTTP-based AICC/CMI Protocol” or HACP.

Later, in 1999, they released a Javascript API that was an alternative to HACP, which was easier for vendors to implement in their products. This Javascript API was later re-used in SCORM with some minor changes.

In 2014, AICC disbanded but their legacy continued to live on thanks to how broadly their standard had been implemented in previous years.


Among other things, CMI features an explanation of how learning modules should communicate with LMSs. The exchange of information between two is made possible by using a bunch of predefined variables that both LMSs and modules should know.

These variables are the universal language that allows them to understand each other. It is the core of the CMI specification and its most important part.

Here are some of the important variables in CMI that a learning module and an LMS could exchange back and forth:

  • core.score (possible values: raw, max, min)
    Raw is a score that a student received for an attempt.
  • student data.mastery score
    Passing score that was predetermined by a course author. If “core.score raw” is greater than or equal to “student data.mastery score,” then the module is marked as passed.
  • core.lesson status (passed, completed, failed, incomplete, etc.)
    All these variables were created so that a module could tell an LMS when it was completed (viewed in its entirety) and whether all interactions in it (like quizzes) were passed with a score higher than the passing score.

There were other mandatory variables and quite a few optional ones. Vendors would not always implement optional variables in their products, which made support for AICC’s CMI patchy.


By today’s standards, AICC’s CMI belongs in a museum. Only use it for lack of a better alternative. And if you do, you might want to re-think what eLearning tools you choose.



In February 1998, President Bill Clinton and the US Department of Defense established a new organization called Advanced Distributed Learning (ADL). They were tasked with finding a way to push eLearning standardization further and make online learning more cost-effective.

Instead of starting from scratch, they borrowed from a few already existing specifications that were developed by other initiatives like AICC. That’s why ADL called their project “Sharable Content Object Reference Model.” It was more of a combination of references to the best practices that existed at the time rather than a new standard on its own.

The SCORM project saw a few iterations with its final release in 2009 when “SCORM 2004 4th Edition” was out. It will not be evolving any further.


There were a few versions of SCORM released over the course of its lifespan, but there are two that are still relevant:

 SCORM 1.2 (released in 2001, it featured two main specifications/books)

  • Content Aggregation Model (CAM)
    This was originally created by “Instructional Management Systems Global Learning Consortium” or IMS. Among other things, it defined a text file called “manifest” that can be found in any SCORM module. This manifest has to list every resource file in the module and point to the file that launches the course so that an LMS could launch it. This book also stated that a learning module should be packaged in a .zip archive.
  • Run-Time Environment (RTE)
    This uses the CMI specification laid down by AICC. Same principles, same variables.

SCORM 2004

This was released in 2004, and it fixed some of the problems with SCORM 1.2 but, most importantly, it added a new book called “Sequencing and Navigation.” Derived from previous efforts by IMS, this book made it possible for content authors to build their courses from individual Sharable Content Objects or SCOs. This allowed them to re-use any of the SCOs in any other module.

There are three editions of this version released in the span of 5 years from 2004 to 2009. They are called 2nd, 3rd, and 4th, each features some fixes compared to the previous one, mainly in the "Sequencing and Navigation" book.


SCORM is still widely used by the eLearning community. In fact, SCORM 1.2 is the most popular standard to this day. However, it wouldn’t be an exaggeration to say that, despite its broad implementation, its days are numbered.

The SCORM Run-Time wasn’t built with the means of mobile learning in mind, and that is huge right now. So, in my opinion, it should be sent to the same museum as AICC.

3. Tin Can API (Later Renamed xAPI)


In 2008, an organization called Learning Education Training Systems Interoperability (LETSI) stated that SCORM doesn’t meet the requirements of modern eLearning anymore. They released a set of documents they called “SCORM 2.0 White-Papers.”

These papers highlighted the most serious problems with SCORM:

  • Dependency on a constant internet connection to record learning stats
  • Data can’t be sent if LMS and learning course are on different domains
  • Narrow range of parameters that can be captured as stats
  • Security flaws

ADL agreed with that and hired Rustici Software to create a better standard that would conform to the requirements of today. They called it “Project Tin Can.”

In 2013, Tin Can 1.0 was released, and the first adopters of the new standard started to pop up. At the same time, ADL gave the project its official name: they called it “Experience API” or “xAPI” for short.

The standard was continuously developed up to 2016 when version 1.03 was released. This version is considered a finished product, and there are no plans at this moment to update it further.


xAPI is a Run-Time Environment that allows you to record data about almost any learning activity that might be happening on a PC, phone or tablet, or even a real classroom. Data is captured in a form of simple secure statements.

Every statement in xAPI contains information about three things: “actor,” “verb,” and “object.”
Actor is an ID for the person that participates in the learning activity. Verb is a status update (completed, passed, etc.). Object is the learning activity that is being challenged.

Instead of sending statements directly to the LMS, as it was done with SCORM, xAPI defines a thing called Learning Record Store (LRS). This is a small application that captures such statements and records them into a database.

Most importantly, an LRS doesn’t have to reside on the same domain as the content. It can be anywhere else on the internet and still capture learning stats just fine. This is awesome because now learning content could be hosted anywhere but still send stats to the same single LRS.

Another important improvement of xAPI was that if there’s no internet connection present at a particular time, it allows devices to capture stats to their memory. When the device is back online, it can send everything it has captured to the LRS.


In today’s eLearning world, xAPI is the most advanced eLearning standard. It’s still not as popular as SCORM, but, as the saying goes, old habits die slow. If you’re looking for a modern approach with mobile learning support or lots of statistics about specific and non-linear learning activities, make sure that your authoring tool and your LMS both support xAPI.

4. Cmi5


Shortly after AICC disbanded in 2014, a large number of its specialists decided to start a new project. Since xAPI was so generalized it could support a wide arrange of implementations, they wanted to make it easier for standard LMS-oriented learning environments to adopt xAPI.

So, in 2016, they described what they called a “companion standard for xAPI.” It was given the name “cmi5,” similar to the name of the first interoperability specification developed by AICC, “CMI001.”


Cmi5 is a complementary specification that explains how modules with xAPI should be packaged to make it easier to deliver them to traditional LMSs. It also defines how course file structure should be described and how the course should initiate its communication with an LMS.

Basically, it does for xAPI what SCORM did for AICC’s API.


If you already work with an eLearning environment that is xAPI conformant, you might want to check if both your authoring tool and LMS support cmi5 in addition to xAPI. Using cmi5 will make data exchange between your courses and LMSs slightly more secure thanks to the standard’s handshake mechanism. Meanwhile, packaging and uploading your courses to an LMS will also become easier.

5. IMS Common Cartridge


Despite SCORM still being the most popular standard for online learning, there were other successful efforts in this field. An organization called IMS Global Learning Consortium, which was founded in 1997, built its own standard for interoperability that is widely used in educational environments. They called it “IMS Common Cartridge.”

To this day, the standard still evolves thanks to IMS Global. It’s gaining momentum and might come forward as a preferable alternative to SCORM/xAPI in the future.


Common cartridge, in essence, is similar to what SCORM does, but with more focus on assessments and other academic learning activities. You can say it’s an alternative to SCORM with a much simpler implementation, though it’s not so popular yet.


Common Cartridge is a viable option if you’re working in education since it features natural support for classroom activities like tests, assignments, and discussion boards. Also, if you already have SCORM content, it’s fairly easy to convert that to Common Cartridge.

IMS Common Cartridge will be of use to you if you’re working in higher education. If that’s so, make sure your LMS/authoring tool supports it.

Final Words

We looked at 5 different eLearning standards that have defined the eLearning landscape of the last 30 years. Some of them were original projects that started from scratch (AICC, IMS), while others merely referenced a bunch of other specifications (SCORM).

Sadly, our journey toward a brighter eLearning future might be slightly delayed because the industry still depends on SCORM too much. It needs a good kick to finally land on something better, like xAPI. But, it looks like the xAPI specifications are way too generalized compared to “good old” SCORM, so the community is not in a rush to adopt it.

We’ll see what the new decade brings us.