xAPI has arrived! While some might still debate if xAPI is “ready,” we feel that it clearly is here to stay, and can now make a tremendous impact on your organization through authoring tool xAPI support “out of the box.”

xAPI promises significantly improved insight into learners and more varied data and data streams. The standard’s key tenets include the ability to:

  • Track virtually any type of learning activity
  • Track any aspect of these activities
  • Leverage data from these activities to drive new learning experiences

In essence, xAPI seeks to bring learning analytics and business intelligence (BI) to the learning industry, and to transform the uses of learning.

Authoring tools are a key piece of the way that learning technologists use xAPI. These tools enable organizations to create a variety of different training experiences. Historically, these experiences have primarily been self-paced eLearning, but today learning technologists are seeing growing use of these tools for just-in-time activities, performance support, classroom-based materials, and more.

The possibilities of xAPI are enormous, but its implementation and execution across different authoring solutions can vary greatly. Because xAPI is an open standard, tools that enable “JavaScript tweaking” can provide programmers an avenue by which they can realize its full possibilities. However, coding is not needed, nor do we feel that it should be required. Thus, we chose to focus on providing a broad understanding of what many common tools could provide everyone, in terms of xAPI support, right out of the box.

In our research we found that there were four key areas where tools deviated in their approach and support of xAPI. With this article we seek to provide you with a better understanding of each area, and how the various solutions operationalize them. Those four key areas are:

  • xAPI built in statements: Specifically, what statements does the tool send automatically without author intervention, other than creating content?
  • Custom xAPI statements: Moving beyond the out-of-the-box statements, what options are there to send custom statements in the same way you might trigger a show-image action without programming?
  • Support for JavaScript: While we focused on out-of-the-box functionality, one can’t eliminate the possibility of needing to do something unique. So given this, does the tool support enabling this approach?
  • xAPI deployment: While the design for publishing xAPI packages is elegant, the implementation isn’t as simple as SCORM in most solutions. We focused on the limitations, how to publish, and if there was a need to make changes post publish.

What are the tools? In alphabetical order, we reviewed Captivate, dominKnow Flow, iSpring, Lectora, Rise, and Storyline.

“Out of the Box” statements

All of the tools had a number of out-of-the-box statements. One interesting aspect of xAPI, in terms of conformance, is that currently there are conformance tests for learning record stores (LRSs), but there are no conformance tests for authoring or content creation tools. As such we didn’t focus on the conformance aspects of individual statements, but strictly on what types of statements were provided, and any specific aspects that directly affected reporting and understanding the xAPI results.

Not surprisingly, one set of statements that all tools supported to various extents was data already available in SCORM, but now translated into xAPI format. The following table details how each of the tools captures the basic information.

Note: Actor refers to the user consuming the content. Generally the launching platform sends this information. Verbs refer to the type of behavior. In all cases these items are tied to a specific element (course, object in the course, etc.). In some cases the descriptive information for this element is included in the statement, but not always.

xAPI Automatic Built-in statements

Authoring Solution

Started / Returned to Course

Completed Course with Test

Completed Course with no Test

Test Questions

Captivate

Actor
Launched
[activity_id]

Actor Passed / Failed Course Name with score XX%

Actor Completed Course Name

Actor (in)correctly answered “question text” with response “answer”

dominKnow

Actor
Launched
[activity_id]

Actor
Attempted
Course Name

Actor Passed / Failed Course Name with score XX%

Actor Passed / Failed Course Name

Actor (in)correctly answered “question text” with response “answer”

iSpring

Actor
Launched
[activity_id]

Actor
Attempted
Course Name

Actor Passed / Failed Course Name with score XX%

Actor Completed Course Name

Actor (in)correctly answered “question text” with response “answer”

Lectora

Actor
Launched
[activity_id]

Actor
Attempted
Course Name

Actor Passed / Failed Course Name with score XX%

Actor Completed Course Name

Actor (in)correctly answered “question text” with response “answer”

Rise

Actor
Attempted
Course Name

Actor Launched
(Activity ID URL)

Actor Passed / Failed
(activity ID URL)

Actor Completed (activity ID URL)

None (feature coming soon)

Storyline

Actor
Attempted
Course Name

Actor Launched Course Name

Actor Passed / Failed with score XX%

Actor Completed the course.

Actor (in)correctly answered “question text” with response “answer”

Going beyond SCORM to track common course interactions

In this next section we examined common course interactions tracked automatically by the various solutions above and beyond what SCORM can provide.

Authoring Solution

Page Access

Practice Questions (non-scored)

Audio and Video

Click Interactions (user interaction)

Custom Form Fields (input boxes)

Player Navigation

Unique Items

Captivate

Actor Experienced Page Name

none

none

none

none

none

none

dominKnow

Actor Experienced Page Name

Actor (in)correctly answered “question text” with response “answer”

Actor
Started / paused / consumed
element name

Actor clicked element name*

Actor form action element Name*

Actor clicked button name*

Unique tracking of a variety of built in components*

iSpring

Actor Experienced Page Name

none

none

none

none

none

none

Lectora

Actor Experienced Page Name

none

none

none

none

none

none

Rise

Actor Experienced
(activity ID URL)

none

none

none

none

none

Actor Attempted Storyline block name

Actor
Passed
Sorting activity ID

Storyline

Actor Experienced Page Name

none

none

none

none

none

none

* See dominKnow for more details

Support for customized xAPI

As we looked at additional tracking information, we then focused on custom capabilities. How can an author customize beyond out-of-the-box to better meet the organization’s needs?

Authoring Solution

Create Customized xAPI statements

Add Custom JavaScript

Captivate

none

Use execute JavaScript

dominKnow

Action -> multiple trigger options -> select statement verb, type, and include title, description, and variable data as desired.

Use execute JavaScript

iSpring

none

none

Lectora

Action -> multiple trigger options -> select statement verb, type, and include title, description and variable data as desired.

Use run JavaScript

Rise

none

Not tested*

Storyline

None

Use execute JavaScript

*Rise: Not tested, but may be possible to use the execute JS trigger in a storyline block to send statements.

Configuration and publication of xAPI packages

Finally, we examined how each tool configures and publishes the xAPI packages. With xAPI, not all content packages need to be, or are, loaded directly into the end system such as an LMS. This means that the packages often need an LRS endpoint and credentials in order to operate correctly.

Authoring Solution

Set LRS Endpoint and Credentials

Set Multiple LRS Endpoints for one package

Enable a SCORM package to simultaneously track xAPI

xAPI Wrapper

Captivate

none

none

none

none

dominKnow

Configure in UI and select when publishing

Configure in UI and multi-select when publish

Configure in UI and select when publish

Included when published

iSpring

Configure in UI and select when publishing

none

none

Included when published

Lectora

none

none

none

Yes, add it manually after publish

Rise

none

none

none

Included when published

Storyline

none

none

none

Included when published

Notes and tips on the individual tools

Captivate 2017

Captivate provides the standard statement information included in SCORM and page access.

Captivate does not have an ability to create author-created xAPI actions using their standard action trigger mechanisms. Authors can use the Execute JavaScript action to create their own unique xAPI statements.

When publishing the xAPI package you may need to do some post-publish editing. Many LRS systems require that the LRS endpoint and authentication information be part of the xAPI package. If this is the case in your situation, it will require that you edit the file post-publish and/or add an xAPI wrapper.

General Tips:

  • Thoughtfully name your course and slides. Don’t use spaces in the names though, as the space will be converted to “%20” in the LRS instead of a space
  • Completion criteria set for the course will drive what xAPI verb is used in the completion information.
  • Interaction data for test questions does not include all data, namely selection pairs and possible answers.
  • LRS endpoint and credentials are not set in the tool, you will need to edit the published package after you publish or pass the endpoint and credentials through URL parameters in order to make this work for most LRSs.
  • Actor information must be supplied by the launching platform or a wrapper; In the absence of actor information, the course will fail to launch properly.

dominKnow

In this review, we specifically looked at dominKnow’s Flow, their fully responsive authoring option. When you create a dominKnow course out of the box you will get the standard statements previously noted along with many unique statements. dominKnow enables configuration of the following automatic xAPI statements:

  • Content search actions
  • Player navigation and controls such as next, back, transcript launched, etc.
  • Interaction with the content outline such as jump from one page to another
  • Form inputs (radio buttons, checkboxes, slider controls, and text entry boxes)
  • Access content resources, glossary terms, and citations
  • Drag drop-statements
  • Click interactions (including single click, double click, mouse over, branched etc.)
  • Interactions with media elements
  • Component interactions (interacting with built in components that provide tabs, flip cards, timelines, etc.)
  • Authors can also configure the statements to include (or not) information about the user’s browser type, version, etc.

dominKnow also tracks practice questions (single page and inline). These statements cannot be turned off.

For unique statements authors can use the standard action system to create unique xAPI statements that can include author-chosen verbs and types, variable data, and author defined title and description information. The verbs and types available are based on ADL- and Tin Can-published recipes and are not currently editable by the author.

When configuring xAPI endpoints, admins can set up the endpoint and authentication information which authors can utilize to select one or more LRS endpoints when publishing. If authors create SCORM packages, they can also send xAPI statements to specified LRSs at the same time. If items are reused in the LCMS system, the IDs for elements are reused and reported to the LRS as the same IDs across different content packages. The xAPI packages include a wrapper and security endpoints, and, while editable post publish, do not require any post processing for loading directly into an LRS or launching directly from a web server.

General Tips:

  • Thoughtfully name your course, pages, and elements. This information becomes part of the Activity ID.
  • Completion criteria set in the publishing configuration will drive what xAPI verb is used in the completion information.
  • You can control the types of statements that are sent automatically with the publishing profiles and create unique profiles for different situations.
  • Make sure your admin configures the desired LRS endpoints and credentials before publishing if your LRS requires these items.

iSpring

iSpring provides xAPI support out of the box. When you create an iSpring course you will get the standard statements previously noted.

iSpring doesn’t have the ability to trigger xAPI statements other than the predefined set, nor can users use an Execute JavaScript action to create unique xAPI statements through the interface.

General Tips:

  • Thoughtfully name your course and pages in the Presentation Explorer. This information will become part of the Activity ID.
  • Activity ID is not fully customizable through the UI. An Activity ID should use a domain the creator is authorized to use for this purpose. You cannot customize the first part of the Activity ID.
  • Has a built-in wrapper. If the launching platform does not provide Actor information, the course will prompt the learner to enter their name and email.
  • Any desired edits to code files must occur post-publish (no set package template files to edit before publishing)

Lectora

Lectora provides xAPI support out of the box. Lectora supports a similar number of automatic statements out of the box as other tools, but also provides a robust Send xAPI Statement action in which authors can send a unique xAPI statement for any standard trigger. Authors can pick from a list of verbs or simply specify their own. Authors can also execute their own custom actions with a Run JavaScript action.

If your launching platform supplies the LRS credentials, you are set. If your LRS requires an endpoint and credentials, Trivantis provides an xAPI wrapper that simplifies this for Lectora projects. This wrapper is applied post publish.

General Tips:

  • Thoughtfully name your course, pages, and page elements. This information becomes part of the Activity ID.
  • You can edit .js templates so you can leverage custom functions directly within the Lectora UI. The customized templates can greatly increase consistency, and extend xAPI functionality.
  • Verify the Verb IRI before specifying your own verb in the custom xAPI statements.
  • Questions must be wrapped in a graded test to send question data.
  • Test and question data is sent on the Process Test action.

Rise

Rise is Articulate’s responsive content creation tool and provides xAPI support out of the box. When you create a Rise course you will get the standard statements previously noted. In addition to the standard statements, Rise will send statements on its Sorting activity and launching of embedded Storyline packages.

Rise doesn’t currently have an ability to trigger xAPI actions out of the box using their standard action trigger mechanisms, nor can users use an Execute JavaScript action to create their own unique xAPI statements. However, using the embedded Storyline option, it might be possible to add JavaScript triggers to send statements (note: we did not test this option).

When publishing the xAPI package you may need to do some post publishing. Rise does not provide a UI to add LRS endpoints and configuration, so it is necessary to unzip the package and modify it with this information.

General Tips:

  • When adding Storyline modules to your course, they cannot be packaged as xAPI objects, and thus do not automatically send any xAPI statements. However, it is technically possible to add JavaScript triggers to send xAPI statements from these embedded storyline modules. This was not tested.
  • Rise uses the activity ID which is the URL for each section, rather than the activity name, or the author’s titles for the lesson. To understand what the activity ID represents, an author needs open a file called tincan.xml in the Rise package to decode the relationship between the ID and section names. See this article for more details.
    • Note: some LRS/LMSs may address this better than others. Review this with your LRS/LMS provider if you are planning to use Rise as your primary authoring tool.
  • Note: As of the publish date of this paper, sending question data has been noted as coming soon by Articulate.

Storyline 3

Storyline provides xAPI support out of the box. When you create a Storyline course you will get the standard statements previously noted. Storyline doesn’t currently have an ability to trigger xAPI actions as a standard feature However, users can use an Execute JavaScript option to create their own unique xAPI statements in Storyline. When publishing the xAPI package, if the LRS requires a key and password in the package, authors will need to unzip the published package, add the necessary wrapper and information, and rezip the package prior to launching it.

General Tips:

  • Thoughtfully name your course, pages, and page elements. This information becomes part of the Activity ID.
  • LRS credentials are not set in the tool, you will need to edit the published package after you publish in order to make this work for most LRSs.
  • Storyline tracks by slide. If users are making any interaction, make sure they create a new slide with a proper name instead of a layer.
  • Access Tin CAN API to support Articulate Content for verb details

If your favorite tool wasn’t covered don’t fret, there is always room for a follow up. Also, when implementing your chosen tool, please do consult with the vendor for their latest documentation and support of xAPI.

What’s next

We fully expect that solutions will continue to evolve as more and more organizations begin to realize the power xAPI can bring in terms of improving their overall performance and tying it directly to learning interventions. Beyond collecting advanced learner analytics, probably the next most exciting aspect of xAPI is utilizing the data in a bi-directional fashion, where data collected from other users, as well as the actor in question, is fed back into the training content to help provide the learner with customized information relating to their own needs and the organization’s needs as a whole. The training industry has just begun to dip our proverbial toes into the possibilities of xAPI. We hope this information will enable your organization to begin to take full advantage of the advances authoring tool xAPI support can bring immediately, out of the box.

All Contributors

Becky Goldberg

Learning Analyst, Travelers Insurance

Paul Schneider

SVP Business Development, dominKnow