Tuesday, January 21, 2014

Experiencing the Tin Can API

The Experience API (xAPI) was formalized in April 2013- version 1.0. Many people still refer to it as the Tin Can API which was its development project code name – much like “Chicago” was the code name for Windows 95 during its development phase.

xAPI was created to provide more flexibility than what could be reported during an interaction. You can use xAPI with many different types of interactions – not all of which need to be your traditional online learning. Other potential uses include “online check-list reporting”, performance support tools, click tracking to see how well people are using their software programs, and better game action tracking.

The underlying API (Application Programming Interface) uses REST (Representational State Transfer) web services and JSON (JavaScript Object Notation) data to communicate. In the eLearning community, this will mostly be accomplished using JavaScript – much as we are used to with SCORM. However, since we no longer need to be permanently attached to the LRS (Learning Record Store), you can now also use compiled languages such as .Net and JAVA. This opens up a slew of possibilities. My gaming friends are licking their chops! Imagine being able to track every action a gamer takes during a simulation and the data that can be collected and then used to change behaviours.

With such a wide variety of activities that can now be tracked, how are the rapid development tool vendors doing implementing this new API? Sadly, many of vendors have only taken the first tentative step of “TinCan-ifying” a minimalistic subset of SCORM. That is to say – I completed the course, this is my score and maybe if you’re lucky, I’ll tell you how I answered some questions of the graded exam I took.

Bah hum-bug. Why bother? The only advantage I see here is removing the need to always be “connected” to the LMS (Learning Management System) as SCORM demands and xAPI doesn’t.

OK, I get it. It’s only been since April 2013 that the xAPI has been published. But…it has been in the works for several years.

I gave a presentation at DevLearn 2013 on the “Tools” Stage called “Examples of the Experience API with Lectora, Storyline, and Other Tools”. In this presentation I showed how various tools such as Articulate Storyline, Captivate 7, Lectora Inspire,and Raptivity were implementing xAPI. I showed how to report using xAPI without any need for additional code. As stated earlier, this is basically the same information SCORM provided. I also showed how to use JavaScript skills to report additional, “out-of-the-box”, activities using xAPI when that option was available.

How does Raptivity fit in this? Raptivity was an early adopter – supporting versions 0.9 and 0.95. Raptivity is an interaction activity provider. In being this, Raptivity chose a sub set of it’s over 118 interactions to implement xAPI. That’s right, not all Raptivity interactions are able to report using xAPI.The 35 interactions in the Essentials Pack support xAPI. I think this is exactly the right model for Raptivity to follow. Why? By choosing a subset of interactions, Raptivity dug deep into the “actor”-“verb”-“object” activity sets initially created by the xAPI standard and, using that information, identified those interactions which could offer the most robust implementation of xAPI. They choose to do more than just the base that most vendors did. I applaud them for this. I do need to point out that as of November 2013 only xAPI versions 0.9 and 0.95 have been implemented. I’m not sure why but to be honest, at this stage, I don’t see that it is an impediment.

What interactions support xAPI and what can be tracked?

Interactions supporting xAPI

All 35 interactions in the Essential Pack support Tin Can version 0.95.

Category in the Essentials PackInteractions
Brainteasers (5)Flash Cards, Jigsaw Puzzle – Advanced, Classification Exercise with Timed Options, Analogous Pair with Fixed attempts, Wild Cards – Time bound
Presentation Aids (4)Dynamic Bullet List, Picture Show, Flip the Book, Rollover Word Definitions
Interactive Diagrams (4)Concentric Circles with Callouts – Advanced, Pyramid, Hub and Spokes – Advanced, Ladder Steps
Surveys (4)–Generalization Survey – Advanced, Smile Sheet, Survey with Percentage Rating Scale, Survey with two-point Rating Scale
Overview Visuals (2)Buildup and Rollover, Diagram Custom Highlight - Advanced
Flow Diagrams (2)Flow Chart Presentation with Audio – Advanced, Multi-level Cycle – Practice
Software Simulations (4)Let Me Try, Screen Familiarization – Rollovers on Components, Screen Familiarization exercise, Show and Tell
Glossary (3)Glossary, Glossary – Tab Style, Search Box
Interactive Questions (2)Branching Question – Adaptive Type, Create a Tree
SCORM Objects (2)Multi-page Assessment, In-Page Test
Miscellaneous (3)FAQ – Advanced, FAQ on Demand, User Initiated Zoom in Effect

The base activity verbs captured are” Experienced”, “Completed”,” Passed” and “Failed”. This may not seem like much, however, it’s really the object that the verb refers to that is important. A quick look at some types of objects captured with a verb are as follows:

VerbEvent examples
ExperiencedInteraction Loads, video loads
Completedinteraction completed
PassedAttempted question in the interaction and completed them successfully
FailedAttempted question in the interaction and but did NOT complete them successfully

More detailed information is available in Raptivity’s xAPI (Tin Can) Help Guide which can be accessed in the Help section of Raptivity or directly on Raptivity’s website at http://www.raptivity.com/TinCan-Help-Document.pdf. My suggestion is to play around a lot with each interaction, publish it to your SCORM.COM account and see what information you can gather. I’ve included the basic example I used in my presentation at DevLearn 2013 to help get you started.

Quick Example

Create a new interaction using the Multi-Page Assessment interaction from the Essentials Pack in the SCORM objects category. Create the number of questions you desire, save and select Publish. For this example I did not modify anything from the template Raptivity. When the Interactivity Publisher window appears, select your output type, check the “Publish with tracking” checkbox and choose the “Publish with Tin Can 0.95” radio button from the Tracking tab. That’s it. I then published the zip file to my SCORM.COM LRS sandbox account, opened the interaction, completed it and then viewed the Registration Statement History. I’ve included a pdf of the statements for you to review. What I like about how Raptivity has implemented xAPI is that the statements are human readable. I’ve used several other prominent tools and the statements created by some of them are almost incomprehensible.

Wrap up

xAPI provides an incredible methodology for ISD for gather data about what users do during learning activities. Because it is a framework and not a rigid standard (like SCORM), the sky is the limit for defining the types of activities and associated data. Vendors must pay close attention to how ISDs are using and planning on using xAPI in order to keep up and keep their tools valid in the learning space. Raptivity is an early front runner in understanding the breadth of information that can be collected and allowing non-programming types to publish content that can collect a great deal of data using the same publishing techniques they already use.