We all now know xAPI today, the first component of ADL’s Training & Learning Architecture but, in my view, it is not a specification for LMS-content communication and, therefore, xAPI does not replace SCORM.
For example, how does content communicate to the LMS (or LRS) that I have completed a course? Actually, it could use “completed” or “finished” but then there is no interoperability, there are no rules that content and LMS have to follow necessarily. We have a common vocabulary but, to understand each other, we need a common language, we need rules.
The objectives that ADL pursues to achieve with CMI are:
- Support for mobile devices. Unlike SCORM, the AUs (Assignable Units) don’t need to be launched from a browser.
- Extensibility. With CMI5, the AUs can share tracking data between them, unlike what happened in SCORM. Furthermore, this monitoring has no limitations, and could just be a binary file, such as an audio or a document.
- Interoperability. A CMI5 AU should work the same way in all LMSs that meet the specification. The difference from SCORM is that with CMI5 content can reside anywhere, it does not need to reside in the LMS and could even reside in a CDN.
- Launched: Indicates that the LMS has launched the AU, and once launched, after a reasonable time, the AU launches the verb ‘Initialized’ to indicate that it has been launched successfully. Bear in mind that ‘Launched’ is actually launched from the LMS, not the AU.
- Initialized: It is launched by the AU to indicate that it has been launched successfully and is ready for user interaction.
- Terminated: The AU should send a statement containing this verb to indicate it is the last one of the session.
- Completed: The AU should send this when the user has experienced all relevant AU content.
- Passed: The AU should send this when the user has tried and successfully passed the AU evaluation criteria.
- Failed: The AU should send this when the user has tried and failed to pass the AU evaluation criteria.
- Abandoned: If ‘Terminated’ is not received by the AU, the LMS checks if the user has ended the session in the LMS, or has launched another AU, for example, determines that the session has ended abnormally and writes a statement with this verb.
- Waived: It is used by the LMS to indicate that the user can pass this AU.
- Satisfied: The LMS writes a statement with this verb to indicate that the user has met the criteria for all AUs of a block or a course. These criteria, defined in the structure, within the AU metadata, may be:
- Not Applicable
For example <au id = “…” MoveOn = “Passed”> … </ u>
Benefits of CMI5. Why use CMI5 over SCORM?
- Release mode: (launchMethod) allows to decide whether the course should be launched in a new window or the current.
- Criteria: “Does completed mean approved?” Does this question sound familiar? In CMI5, the AU or LMS administrator can define what criteria must be met to consider something finished, they call it “move on” and is defined in the metadata of the AU or the LMS administration interface.
- Mobile Support: Since it is based on xAPI, CMI5 uses modern technology like REST and JSON.
“Can I use CMI5 today instead of SCORM?”
Not quite yet. The CMI5 specification has just been released as a version called “Sandstone.” This is basically a stable beta, meaning you can develop against the specification and ADL promises not to make major changes. The goal is to release a final version of the specification in September 2015.