Tin Can API Overview


One of the rising buzzwords in the world of training today is the so-called “Tin Can API.” The purpose of this post is to give a quick and dirty overview of what it’s all about in an easy to follow Q&A format. I’ve also included some links for more detailed follow-up.

What is Tin Can API?


Tin Can API is a new standard for learning activity / resource meta-data that has rolled out recently. Tin Can API comes from Advanced Distributed Learning (ADL), the makers of the SCORM standard. It is the intended successor to SCORM. Officially it is known as “Experience API” (xAPI).

What is SCORM?

For those not familiar, SCORM is short for Sharable Content Object Reference Model. It is/was a set of standards specifying how eLearning content is to communicate with a system hosting the content, usually a Learning Management System (LMS). The original standard came out in 2000, and went through numerous revisions, the most recent being SCORM 2004, itself going through four revisions, the most recent in 2009.

Why was SCORM developed?

SCORM was developed by the ADL initiative, which came out of the Office of the US Secretary of Defense, originally in response to a late Clinton-era executive order to the Department of Defense. The US military has long been one of the largest global consumers of training, and, as anyone who’s spent time in an Educational Technology graduate program reading research papers in the field can attest, funds a large percentage of educational technology research.

Part of the motivation behind the push that led to SCORM is that prior to this, as of the late 1990s, there was eLearning going on, but with many incompatible standards in use amongst private industry, between different agencies of the military, and between different civilian agencies of government. The eLearning built by one vendor for one LMS would not necessarily work in the LMS for another. If a client switched vendors, legacy content became potentially unusable, requiring expensive conversion. It was perceived that standardization would play a beneficial role to the eLearning market, allowing better interoperability of content, saving money, increasing efficiency, and encouraging innovation in the market.

Today there are many different products that will produce SCORM compliant eLearning content, and this content is usable in any SCORM compliant LMS. In this sense, SCORM has been a success.

Why go beyond SCORM?

However, the latest edition of SCORM 2004 came out back in 2009. A lot has changed, technologically since then, particularly the massive spread of use of mobile technologies, the rise of focus on informal learning, the refinement of Web services technologies, and the spread of recognition that learning is something that takes place continuously and everywhere, not just when logged into a company LMS. A serious update in approach was needed to keep up with changes.

SCORM compliant eLearning is been delivered using an LMS through a web browser. But learning activities happen outside of this. In reading a book, in playing a serious game, in taking an instructor led class, in using a mobile app, in participating in a simulation, in using an informal learning tool, in real world experience. These are all valid learning experiences for which data is not readily captured by existing systems under the current standard.

The Experience API is geared toward collecting and recording details from any learning experience, wherever they happen, in one central location. In terms of basic philosophy, though not in implemetation it is similar to the idea behind Open Badges and ePortfolios.

How and Where are Experiences Recorded?

Experiences are recorded in a format of actor-verb-object. For example:

  • “Cyril read the ASTD publication ‘Informal Learning Basics'”
  • “Cyril took the online course ‘Teaching With Moodle: an Introduction'”
  • “Cyril watched a YouTube video on configuring WordPress using plugins.”

Note that while this simple actor-verb-object format is core, other properties could also be captured such as:

  • Context
  • Location
  • Starting and ending timestamps
  • Source
  • Content rating, and
  • Results .

The sequence of such recorded experiences forms what is called an Activity Stream. Activity Streams are a concept already used in social networking; familiar examples would be the activity feeds we see in Facebook, Twitter, Google+, or Tumblr. They are an ongoing stream of actions done by a person on a timeline.

Activity stream data is stored in a database called a Learning Record Store (LRS). An LRS can either be included in an LMS or may be standalone. A learner’s data could be sent to multiple LRS’s. For example, a learner could have records of learning sent to his own personal LRS in addition to his employer’s LRS.

Different LRSes can also share data amongst themselves.

What is the benefit of this?

There are a few benefits:

  • The learning record data is not stuck in an LMS, and does not require an LMS.
  • You can capture data on all types of learning activities, formal and informal, online and offline, documenting the full spectrum of learning and professional development activities in which a worker / learner takes part
  • You capture a richer, more complete view of a person’s learning path
  • Workers can potentially more easily document and demonstrate their professional development, and through the use of their own LRS and future data management tools, can curate this information for use in “personal branding” and job search activities.
  • Using advanced data processing, this richer data can potentially be more effectively correlated to actual performance

Can Existing SCORM Packages Be Made Compatible With Tin Can API?

Yes. Tools such as SCORM Engine can convert existing SCORM packages into the Tin Can API format for transfer to an LRS. Legacy learning records could be converted to the new format and new data from legacy LMS content can be recorded in the new format. Many commercial LMSes and content authoring tool makers are in the process of becoming compliant with Tin Can API, and plugins have been developed for open source tools like Moodle.

Links for Further Reading

Great site by Rustici software with additional info on Tin Can API: http://tincanapi.com/

Good post by another blog: http://www.open-thoughts.com/2012/10/understanding-tin-can-api/


More technical description of Activity Streams:   https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md