Contact Us Get Email Updates

Thanks! Someone will be in touch with you shortly.

Rather just email us? Email us here.
Rather speak with someone in person?
Call any time with Tin Can questions:


What’s the difference between Tin Can and SCORM?

Posted by

Categories: Standards, Tin Can

Posted 11 January 2013


We have many folks that come to us from the SCORM world and want to know the difference between SCORM and Tin Can. I answer this question so much that I thought its worth addressing (at a pretty high-level) in this blog post.

First, I’ll unpack the limitations of SCORM (much of this you may already be aware of).

  1. SCORM is reliant on a web browser. This means it’s impossible to track learning or job performance experiences that happen outside of a web browser using SCORM. Examples: a CPR dummy, a drivers ed simulation, etc.
  2. SCORM is usually reliant on a constant Internet connection. This means it’s extremely difficult to track disconnected learning or job performance experiences using SCORM. There are a couple of offline SCORM players out there. We have one that’s works really well, but most of them are typically unstable (SCORM just wasn’t intended to be used this way).
  3. SCORM content must be played via an LMS. We’re among those that believe most of our learning takes place outside of the LMS. With SCORM’s reliance on an LMS to play and track, the majority of our learning experiences (our most valuable learning experiences at that) are not being tracked today.
  4. SCORM can only track a single learner. This means it’s impossible to track team-based learning using SCORM.
  5. SCORM can only track a limited number of things, i.e. completion, time spent in course, pass/fail, a single score. This means there is no way for SCORM track anything beyond a course or assessment (and actually provides very little data for each).

There are other limitations of SCORM, but most are a result of the limitations listed above.

So how is Tin Can different, and we would argue better, than SCORM? Simply put, it does away with all of the limitations listed above. Here are a few key benefits of the Tin Can API.

  1. The Tin Can API can track any experience, anywhere. We’re no longer reliant on a web browser, constant Internet connection or an LMS in order to play and track our experiences. This opens up a world of opportunities for organizations and institutions needing to train their folks. Organizations will now be able to supplement their LMS learning with learning experiences that live outside of the LMS, and use their LMS as the central repository for all of their learning records if they choose to. Some may decide to do away with their LMS entirely and replace with Tin Can focused solutions.
  2. The Tin Can API uses a simple, flexible, but robust statement structure to track experiences. ‘I did this’ (Noun, Verb, Object) is the core of every Tin Can Statement. Examples: ‘Andy attended DevLearn 2012′. ‘Andy resuscitated CPR dummy’. ‘Andy closed a $30,000 SCORM Engine deal’. This simple structure allows us to track any experience in any context.
  3. The data that the Tin Can API tracks is intended to be portable (unlike SCORM). Tin Can Statements are sent to and stored in a Learning Record Store, which can be integrated with an LMS (see our Tin Can Engine solution). The LRS is designed to store these statements, but is also designed to distribute these statements to other systems that have support for the Tin Can API, i.e. another LRS, an LMS, a reporting tool, a HR management system, a Talent Management System, etc.
  4. Because the Tin Can API can be used to track any experience, anywhere, organizations can also use it to track performance support and job performance. In our opinion, this is the holy grail of big data. When an organization is tracking their learning/training, performance support and job performance using the same language, i.e. Tin Can, they will be able to determine the effectiveness of their training programs and measure ROI.

There are numerous other benefits of the Tin Can API, many of which can be found in our “Layers of the Tin Can Onion” article on Here’s a PDF of this article if you’d like to take it with you.

If you still have questions after reading this about how the Tin Can API, and technologies that adopt it, can benefit your organization, please feel free to reach out. We’re always happy to help!

  • Crispin Weston

    Andy, While I agree with your account of the limitations of SCORM, which TinCan solves, I think it is only fair to say that TinCan also aims to do less than SCORM (albeit it probably does the less it does better).

    A typical process for using SCORM might go like this:

    1. instructor logs onto LMS and assigns task to student;
    2. student logs onto LMS and selects assignment;
    3. LMS launches assigned activity, passing necessary parameters;
    4. activity suspends, saving state on LMS;
    5. student re-launches assigned activity at a later time, state being retrieved from LMS so no work is lost;
    6. activity terminates after completion, reporting learning outcomes to LMS;
    7. LMS makes sequencing decision, launching next activity automatically, passing appropriate parameters;
    8. second activity terminates, reporting learning activity outcomes to LMS;
    9. LMS rolls up reported outcome data from the two activities, reporting back to student & instructor.

    The equivalent process for TinCan would go like this:

    1. student launches learning activity on own initiative;
    2. activity terminates, reporting outcome data to LRS;
    3. LRS reports outcome data to instructor.

    This process does not offer any assignment or session management, which is normally an important part of formal education.

    Another limitation of TinCan is the complexity of data that is currently passed. Although the data that could be reported by SCORM is fixed, it did allow for a fairly full dataset. TinCan just allows one piece of data to be passed at any one time – the verb. In theory you can say , where [result] is a cut-down version of the SCORM dataset, this does not seem to be the version of TinCan that anyone is implementing.

    To take one of the examples that you quote,

    Subject: “Andy”
    Verb: “closed”
    Object: “a $30,000 SCORM Engine deal”

    – you are rather overloading the object. If I then report:

    Subject: “Crispin”
    Verb: “closed”
    Object: “a $40,000 SCORM Engine deal”

    the LRS is not aware that there is any relationship between what I did and what you did – they are two totally distinct “objects”. It is one thing to report this data, another to make use of it productively. We do not yet know that LRSs are going to be useful.

    A better approach to reporting this kind of information would surely be:

    Subject: “Andy”
    Verb: “closed”
    Object: “a deal”
    Context: “product = SCORM Engine”
    Result: “value= $30,000″

    Allowing analytics engines to search e.g. for all the other deals that Andy did, and all the different values…but this requires support for data model extensions as neither “product” nor “value” are part of the data models that TinCan has inherited from SCORM. And TinCan does not have such a thing at the moment.

    I think TinCan is a good initiative – but it only represents the first steps. I think it is important that it is marketed as a work-in-progress – and the ways in which it needs to develop are also discussed.

    Best, Crispin.

  • Andrew Downes

    Hi Crispin,
    In Andy’s defence, as a fellow Tin Can blogger I have also been guilty of oversimpliftying

  • Andrew Downes

    hi Crispin,

    in Andy’s defence as a fellow Tin Can blogger, I have also simplified statements to make the blog clearer. of course the structure you suggest would be how the statement was structured, but a blog is not a how to and sometimes things need to be simplified in order to make the point of what is possible more clearly.

    you also raise important points that Tin Can does nothing to help with sequencing and launch. in fact these were deliberate decisions to get out of the way and allow learning activities to launch and sequence in any way they like. There are ways of doing both launch and sequencing with Tin Can and I can direct you to guides if that would be helpful.crucially these methods are not required and Tin Can allows you to report learning activities for which the concepts of sequencing and launch do not make sense.

    the assignments example you cite is an interesting one. A lot of people assume that everything their LMS does is powered by SCORM. Actually, many LMS features have nothing to do with SCORM and many could be improved by integrating with Tin Can. Assignments are one such feature.

    I hope that helps relieve some of your fears. Tin Can is currently in Beta, but we expect the 1.0 release due in the spring to be fairly similar to what we have now with 0.95. We are nearly there.

  • Crispin Weston

    Hi Andrew,

    Your provisos about blogging understood and I don’t want to be a pedant or rain on anyone’s party. I do think TinCan is a very good way ahead and breaks the SCORM logjam. All I was raising a warning over what might be a misleading comparison with SCORM (which has suffered a great deal from misunderstanding already) I think what people should say is something along the lines of “TinCan does reporting in a much more flexible way than SCORM and opens a lot of interesting possibilities for new approaches to some of the other aspects of runtime interoperability that SCORM covers”.

    Re. sequencing and launch – it is not so much the launch itself (or the assignment functionality which is of course internal to the LMS) as the launch parameters that require an interoperable solution. Parameters are a key aspect of contextualisation and adaptability, which is in turn a key prerequisite for reusability – the great holy grail.

    Similarly with sequencing – anyone can implement a proprietary solution to sequencing but if a sequence (or composite activity) cannot be shared, then this becomes a serious barrier to collaboration in the creation of learning processes. It means, for example, that a K-12 teacher moving jobs is likely to have to leave all his/her digital schemes of work behind, if the new school uses a different LMS. I have been told by a Head Teacher that the accumulated schemes of work brought by a newly recruited but experienced member of staff is of serious value – and is a serious loss in the current non-interoperable state of digital learning.

    I have been involved in a lot of work on these problems through LETSI (see sequencing video at – and tracked Mike Rusticci’s work within LETSI on the Run Time Web Services project, which formed the basis for TinCan. You say that “Tin Can allows you to report learning activities for which the concepts of sequencing and launch do not make sense” – I think “are irrelevant” rather than “do not make sense” may be more to the point. But they *are* relevant to SCORM (making my main point that TinCan addresses a different set of use cases to SCORM) and they are critical to formal education.

    So what we have is:

    * TinCan addresses informal (student initiated) learning;
    * TinCan + [extra pieces] may in the future address formal (instructor-initiated) learning already covered (unsatisfactorily) by SCORM.

    * TinCan + [structured extensions] will allow new types of data to be exchanged *and used*.

    That’s fine – these things take time. My fear is that over-exuberant marketing might kill TinCan as a long-term project by over-selling the early baby steps and sapping the project of forward momentum. A lot of people who might not have thought very deeply about this may not realise how much there is still to do. You are *not* nearly there – really – you have only just started…

  • AndyWhitaker

    Thanks guys for contributing to the conversation. We love seeing this level of engagement! Crispin, the collaboration with AICC CMI-5 is meant to help with a number of your concerns, like launch and sessions. We welcome you to join the Tin Can ADL calls to share your thoughts and concerns, as well as become involved in the CMI-5 collaboration to the extent you feel comfortable:

  • P K Sengupta

    Can you please help me to understand why an organisation that wants to offer e-learning to its personnel should bother about SCORM and Tin Can? Surely the organisation’s priority would be an LMS’ The contents of various courses would vary depending upon the trainers’ requirements. As long as the LMS supported various formats of contents, the LMS Administrator would let the trainers decide. It might even be PowerPoint converted to Flash

Tin Can API Email Updates

* indicates required

Tin Can API Email Updates

Thanks for signing up for the Tin Can API newsletter!

Make sure to follow us on Twitter @ProjectTinCan,
and tweet this page to let others know about the Tin Can API.