If you’ve read my blog articles, followed me on Twitter, attended my presentations at conferences or xAPI Camps, you have probably noticed that I am a big xAPI Enthusiast. Lately I’ve seen a disturbing trend infecting the xAPI world: non-conformant Learning Record Stores (LRS). I believe that LRS conformance is vital. Let me explain…
LRS Conformance Test
The Advanced Distributed Learning Initiative, or ADL, developed a conformance test consisting of over 1300 tests for an LRS. If a vendor can pass all of them, they have a conformant LRS and can be listed as such on the ADL site. RISC was the first LMS+LRS product to be listed because we believe conformance is very important to achieve all the benefits of xAPI.
Way back in 2014 my two-part article on xAPI covered some of those benefits. Since then I’ve learned of many more. Here are my current “faves.”
- Students can launch Learning outside the LMS.
Most experts in the L&D world agree that the majority of learning occurs outside the LMS. With xAPI, we now have a way to track that learning. For example, with our new Spaced Learning capability we send a text message to students with a link to micro-learning. The student never logs on to the LMS, yet we can track the results using xAPI. In this case, it would likely take the student longer to logon to the LMS, then find and launch the lesson than it does to complete the micro-learning. There are many other learning applications where the LMS is not required, such as mobile apps, simulations, gaming and social learning.
- Single Source of Records
If we agree that learning occurs outside the LMS, then without an LRS there is no single source for training records. In our LMS, we write just about everything to the LRS, even if it is already stored somewhere in the LMS. Why? We believe that it should be possible to get data from one source (the LRS) for reporting and analysis. A perfect example is where we pulled records from the LRS to Microsoft Power BI for analysis.
- Store what you Want
By design, xAPI is extensible. You can add your own extensions to data to track things that you need for analysis. You can even store attachments, such as documents or video.
- Data Portability
Since we are now tracking much more data with xAPI than we could before, there is a real need for a variety of analysis tools. While LRS generally have their own analytics, you might want to compare training data with other data sources. For example, how about comparing training activities with sales data. With Business Intelligence tools you can do that with ease. This means you need to extract data from the LRS to feed your analytics tools of choice.
The Non-Conformant LRS
I’ve noticed a new trend in the xAPI world… that of the non-conformant LRS. Each one of the benefits listed above can be destroyed by a non-conformant LRS. Here’s how:
- Content must be launched by the LMS
I have to admit I find it shocking that some LMS have added an LRS, but you cannot write to it from outside the LMS. So with this single restriction the first 3 benefits I’ve listed above are destroyed…Poof! You cannot track data outside the LMS, if you have to use xAPI with a secondary LRS you do not have a single source of records, and you cannot store data that you want.
- Direct querying of the LRS is not allowed
There went data portability…Poof! Want to use a Business Intelligence tool with xAPI data? Maybe the non-conformant LRS can supply you with a feed…maybe not.
- Accepting non-conformant statements
Another blow to data portability…Poof! xAPI is a specification about data. It is designed to be extensible. I’m at a loss as to why you would deliberately design statements that do not conform to the specification. Perhaps you are using a tool that hasn’t caught up to the 1.0 xAPI spec…released in 2013! Admittedly, I do know that requiring conformant statements can be turned “on” in some LRS. So if you have an LRS with this capability, I recommend turning conformance “on” for a while to see what is sending non-conformant statements to your LRS.
If you are in the market for an LRS, and you are moving to xAPI for any of the benefits listed in the article you’ll want to ask questions…
- Are you on the ADL LRS Conformance List?
- Can I write statements from outside your product to the LRS?
- Can I query the LRS from outside your product?
- Do you only accept conforming xAPI statements?
- If you accept non-conforming statements, can that feature be disabled?