Spaced Learning with cmi5 and xAPI

Spaced-learning; mobile-learning

Introduction to Spaced Learning

Let’s face it: With the fast pace of work today students don’t have time to spend hours in front of e-learning content or in a classroom. The good news is that “Spaced Learning” can be more effective than traditional learning and takes less time to complete. Until now, spaced learning has been harder to track than traditional learning methods. Since this method consists of short bursts of learning over a period of time, perhaps days or weeks, it would be difficult to track in an LMS. With the development of xAPI and cmi5, however, it is now much easier to launch and track student interaction with spaced learning.

What is Spaced Learning?

Spaced Learning is the delivery of small, repetitive pieces of content over a period of time with breaks between the sessions. For example, you might deliver nine micro-learning modules, one every 2-3 days over a period of 3 weeks. In each of the modules you repeat much of what was in the previous module, possibly adding a little bit of new content. There is scientific evidence showing that this spacing of repetitive content can significantly improve students’ retention (for example, see “The Cognitive Science of Learning Enhancement: Optimizing Long-Term Retention“, Erich Eich).

With Spaced Learning you get:

  1. Higher student satisfaction.
    Students’ work schedules are only minimally interrupted. Instead of spending several hours dedicated to learning, they may only spend a few minutes per day.
  2. Higher retention.
    There is a significant amount of research showing that students learn better when there are breaks between learning.

So what’s the down side?

  1. Tracking.
    Spaced Learning content is usually very short. If you launched it from an LMS, the student might spend more time logging in to the LMS and launching the content than they spend in the content itself. This can lead to student frustration and can limit the benefits of Spaced Learning. If you cannot use traditional “SCORM” content launched by an LMS, how can you track it?
  2. Management.
    If you cannot use the LMS, how are you going to manage Spaced Learning. Remember, you are basically setting up a multi-lesson course, with a specific number of days between lessons. For example, when a student completes “lesson 1,” you want them to complete “lesson 2” three days later. How will you notify them when “lesson 2” is available?

xAPI to the Rescue

While xAPI was not specifically invented to handle Spaced Learning, it surely is a good fit for this learning method. xAPI allows you to launch and track content without logging into an LMS. This solves our tracking problem… except for one thing: how are we going to identify the student (actor)? You could send an individualized link to each student, so that when they open the link the “actor” is passed to the content. But with a large number of students this could become manually intensive. So this is another “management task” for Spaced Learning.

Can you use spaced learning for other types of training?  Yes, you can.  For example, you might try a blended approach where the first lesson is instructor-led, followed up by spaced e-learning content to reinforce the key concepts.

Managing Spaced Learning

These are our management tasks:

  1. Create some kind of “master” that will hold a series of small content pieces with a “wait period” between lessons.
  2. Register students in our spaced learning “master.”
  3. Notify students when the next content piece is available for them.
  4. In the content link that sent to students, somehow identify the “actor” so that we can track individual students with xAPI.

Hmmm… these sure sound like LMS functions. If my LMS supports multi-lesson courses and allows me to register students then it is already supporting tasks 1 and 2. And if it supports cmi5, it is already supporting task 4; passing the actor information to launched xAPI content. In addition, with cmi5 the LMS will know when a student completes a lesson. This means it also knows when the next lesson is available. So if the LMS could send a notice to the student when the next lesson is available, we’ve got task 3 covered.

But we’ve still got that whole “log in to the LMS” problem, which we were trying to eliminate.

The Virtual Training Assistant Solution

Our solution consists of two parts:

  1. A “mailer” program that sends the student a link to the next lesson in the Spaced Learning course.
  2. A special “launch” page designed to seamlessly open cmi5 content without requiring an LMS logon.


The mailer program will scan Spaced Learning courses and send out notifications of available courses to enrolled students. These may be either text messages or email. The important feature of these notices is that they include a link to the “launch” page with a unique token. This token identifies the student and the lesson to launch.

Launch Page

What we need is a page that integrates with the LMS to perform the following tasks:

  1. Validate the “token” to identify the student and the lesson to launch.
  2. Silently log the student into the LMS and setup the cmi5 lesson.
  3. Redirect to the cmi5 content.

All of this is seamless to the student. From their point of view, they have never logged into the LMS; they are sent a link that takes them directly to the content.


In part 2 of this article, coming soon, we’ll show how a Spaced Learning course can be setup in VTA, RISC’s learning ecosystem platform.

Additional References

Art Werkenthin
Art Werkenthin is president of RISC, Inc. and has over 30 years' experience working with LMS systems in the Oil & Gas, Retail, Finance and other industries. Mr. Werkenthin holds a B.S. in Electrical Engineering and an M.B.A. in Information Systems Management from the University of Texas. Mr. Werkenthin is a member of the ADL cmi5 committee and frequently presents on cmi5 and xAPI. Follow him on Twitter @AWerkenthin for xAPI and cmi5 updates, as well as blog post announcements.