xAPI: Developer Bootcamp Debrief

Until last week, I haven’t really had the opportunity to look much into what is now called the Experience API (aka xAPI) since it it was called “Tin Can” back in the day, but it has blossomed into something awesome.  xAPI’s origins are rooted in SCORM, a format used pervasively throughout the US federal government to build training materials. This new specification both builds upon and expands upon SCORM’s ability to deliver and track learning activities in ways that free this spec from its predecessor’s sometimes-challenging legacy.  It does this by making vast improvements to its learning analytics capabilities in a way that intelligently couples the delivery of educational materials with the underpinnings to support design thinking around which interactions and activities to capture for later use. Funded by the DoD, the Experience API was produced as a result of a Broad Agency Announcement – an RFP-like mechanism through which bids are evaluated through a peer or scientific review process.  This is one line item in the national defense budget that I, as a US citizen, fully support.

xAPI is part of a larger effort called the Training and Learning Architecture and provides both the mechanisms and data stores for capturing learning experiences – hence its name. It has been gaining traction by a growing number of adopters, has attracted the interest of large organizations like Amazon, and has appeared in guidance from both the Department of Education (page 55) and EDUCAUSE (page 9) with regards to educational technology choices and best practices. It has received mention in new development activities being undertaken by the open source Apereo Foundation (the new home of the Sakai LMS) and the UK’s JISC organization who is sponsoring the addition of xAPI support to Moodle.

The specification works by defining a format for logging user interactions with learning materials in an “Actor, Verb, Object” format – for example: “student watched video,” “student entered simulation,” “instructor provided feedback,” or “student started discussion.” Communities of practice and design cohorts involving hundreds of participants have formed around this concept, defining a vocabulary around these expression statements in a grassroots manner to provide rich contextualization around the types of learning experiences that could be recorded within specific contexts. To-date these include areas such as virtual simulations, augmented reality environments, and even subjects like foreign language and healthcare education. The expression statements that log learning interactions are human readable, and their contexts are not lost or buried under layers of technical jargon. Rather, they surface the sometimes-hidden but incredibly important application of instructional design concepts during the creation and development of learning content and experiences.

These expression statements are stored in what is called a Learning Record Store (LRS) using RESTful HTTP calls that support multiple authentication/security protocols. LRSs are powerful in that they not only record current learning activities for later reporting and auditing purposes, but they can also “jump start” new learning experiences by informing new learning tools, apps, and content about what you already know to personalize delivery.  LRSs provide different personal learning profiles that can allow keeping work training separate from schoolwork and hobby interests. LRSs also provide a framework for controlling access to which specific data each learning application is permitted to use.

The developer bootcamp was made available at no cost to participants, and both the source code and all presentations are openly accessible on GitHub. The sign-up process for accessing a developer sandbox is super simple and takes less than 30 seconds. (The source code to the LRS sandbox is also freely available.) The materials walk a newcomer through setup and creation of her/his first web-based xAPI-enabled content, observing example learning experiences recorded by an online JavaScript-based Tetris-like game, embedding xAPI statements into an open source HTML5-native virtual simulation environment, and reporting and visualizing all of the learning activities captured in the developer sandbox LRS. A separate track appealed to learning experience creators and instructional designers. Different perspectives and aspects of how to design support for learning analytics capture into learning materials and experiences were considered through participation in interactive exercises.

I also learned of many great, working, real-world examples of how xAPI is being used. For example, this open source project can record play time and user interactions with a YouTube video. This post details how an xAPI-capable beacon was embedded within a training mannequin used in an EMT training exercise. This page provides a number of case studies detailing how many different organizations and vendors are actively using xAPI for various educational purposes.

xAPI is not limited to web-based content and can be used across devices and delivery methods including wearable technologies, mobile devices, and e-readers. One participant in the DC-area developer bootcamp ran his personal Learning Record Store on a Raspberry Pi hanging on a lanyard around his neck. (I regret not getting a picture, though I wanted to respect his privacy.) The spec is neither reliant nor dependent on the existence of an LMS in any way.

xAPI appears to be gaining rapid traction as a solution for corporate and government training, but many universities were present at this bootcamp, too. The specification appears to be ideally suited for use cases related to professional, experiential, competency-based, and lifelong learning particularly when new learning experiences could be made more personalized or effective by having access to data about prior learning experiences. Best of all – while new, it is actually succeeding in the real world!

The entire xAPI spec is openly available on GitHub. Kudos and great work to this team for making great progress with this modern approach to learning analytics.

This post written by George Kroner