xAPI version 1.0.3 was released today, representing the biggest step forward for the specification since 1.0.0 was released in April 2013. What's changed? What's the same? Find out right now.
All of us in the xAPI specification working group have invested many hours into making significant changes to the structure and content of the document to ease xAPI implementation for vendors and organizations. Most important, there have been no functional changes, so organizations and vendors who have already implemented xAPI do not need to make any changes; all previous integrations will continue to work under the new specification.
So, what’s changing and how does it affect you?
If you’re currently using xAPI:
In terms of actual requirements, xAPI 1.0.3 changes nothing from earlier versions. If your product already works with xAPI (versions 1.0.0, 1.0.1, or 1.0.2), it will continue to work with 1.0.3. You don’t need to do anything.
If you want to implement xAPI or expand your xAPI implementation:
You’ll find the changes to the specification document helpful, we’ve clarified and added explanations to ease the implementation process. Now, let’s take a look at some of the most significant improvements.
Previously, the xAPI specification was combined into an all-in-one document, and it could be difficult to find exactly what you needed. To increase searchability, the original document is now split into five documents:
- About introduces the specification, outlines its purpose, and defines terminology. We’ve tried to make this part accessible to everybody, not just developers.
- Data explains the structure of xAPI statements and other objects. Many implementers will only need to read this section.
- Communication outlines how data is transferred to and from the Learning Record Store. This is useful for Learning Record Store vendors and creators of code libraries.
- Readme is an introduction to the GitHub repository, where the specification lives, and provides links to the other documents.
- Contributing recognizes those who have contributed to the development of the specification and explains how people can contribute.
The earlier versions of xAPI used multiple words to refer to the same thing in different parts of the document. To fix this, we first defined the right terms and then made global changes to the complete specification to ensure these terms are used consistently. In particular, there’s four key terms that you’ll see used throughout the updated document:
- Learning Record Store (LRS) – the heart of the xAPI ecosystem; stores learning records and makes them available to clients
- Learning Record Provider (LRP) – formerly know as “Activity Provider” and sends learning records to the LRS
- Learning Record Consumer (LRC) – receives and makes use of learning records from the LRS (Watershed’s reporting layer is an example of an LRC.)
- Client – anything that interacts with the LRS, including LRPs and LRCs
Each of these terms represents a role, rather than a class of product. In fact, Watershed fulfills all of these roles.
References to the old SCORM specification for special rules around quiz-question tracking have been removed, and xAPI implementers can find that information directly in the xAPI specification itself.
And There’s Even More!
The new specification also includes:
Colorful diagrams explaining tricky concepts such as personas
Lots more explanation in many areas implementers previously found difficult like interaction components
Even more statement examples and snippets
Hundreds of minor corrections and clarifications from standardizing formatting and capitalization to re-wording explanations and definitions to make them easier to understand.
Check out the latest version of xAPI!
Read the latest specification to see what’s changed! And if you’re developing an xAPI implementation, we’re sure you’ll find the new version much easier to use. Of course, you’re always welcome to ask for help if you need it.