The Tin Can API

The Tin Can API (sometimes known as the Experience API or xAPI) is a brand new specification for learning technology that makes it possible to collect data about the wide range of experiences a person has (online and offline). This API captures data in a consistent format about a person or group’s activities from many technologies. Very different systems are able to securely communicate by capturing and sharing this stream of activities using Tin Can’s simple vocabulary.

Previous specifications were difficult and had limitations (see Tin Can vs SCORM), but the Tin Can API is simple and flexible. It lifts many of the older restrictions. Mobile learning, simulations, virtual worlds, serious games, real-world activities, experiential learning, social learning, offline learning, and collaborative learning are just some of the things that can now be recognized and communicated well with the Tin Can API.

It’s important to know that we don’t own the Tin Can API. ADL is the steward of the specification. We just know this space so well that ADL asked us to help develop it. The Tin Can API is community-driven, and free to implement.

How does the Tin Can API work?

  • People learn from interactions with other people, content, and beyond. These actions can happen anywhere and signal an event where learning could occur. All of these can be recorded with the Tin Can API.
  • When an activity needs to be recorded, the application sends secure statements in the form of “Noun, verb, object” or “I did this” to a Learning Record Store (LRS.)
  • Learning Record Stores record all of the statements made. An LRS can share these statements with other LRSs. An LRS can exist on its own, or inside an LMS.

The freedoms of the Tin Can API

  • Statement freedom: the structure of “statements” using nouns, verbs and objects lets you record almost any activity. Think: “I did this.”
  • History freedom: the Tin Can API allows LRSs to talk to each other. LRSs can share data and transcripts with one another, and your experiences can follow you from one LRS (or organization) to another. Learners can even have their own “personal data lockers” with their personal learning information inside them.

  • Device freedom: any enabled device can send Tin Can API statements (mobile phones, simulations, games, a CPR dummy, the list goes on). A constant network connection isn’t necessary — occasional connectivity is fine.
  • Workflow freedom: tracking learning events doesn’t have to start or end in an LMS, it can start wherever the learner is and on whatever device they choose to use. Your content isn’t tied to an LMS.

tin can apiI want to dive deeper

If you want to realize the full implications of the Tin Can API, check out “The Layers of the Tin Can Onion” by Mike Rustici. You can also download the full Tin Can API specification here.

Tin Can API for Moodle users

  1. Launch externally Tin Can API activities from 
  2. Launch externally Tin Can API activities from Moodle and track on any LRS. Compatible with Storyline, Captivate and others! Maintained by: Andrew Downes
  3. Implement Experience API (Tin Can) – Moodle  Experience API (formally called Tin Can) is the new version of SCORM – the commercial Rustici SCORM plugin for Moodle supports Tin Can 

The Tin Can API and Rustici Software

ADL, the keepers of SCORM, issued a BAA asking for ideas for the next generation of SCORM. We applied, and they asked us to research what the next-generation e-learning specification could/should look like.