Why SCORM 2004 failed & what that means for Tin Can

“SCORM 2004 is dying (if not already dead!).” Now that might seem like a strong statement but it’s the sad truth. For the careful observer there are many signs to support this view, and here are a few of them:

Sign #1: 75% of packages are still on SCORM 1.2, 10 years after the initial release of SCORM 2004 [1] [2]


Sign #2: There is no certification process for tools and packages for the latest SCORM 2004 4th edition. This is the case although several years have passed since 4th release. Currently, someone can be a 4th edition adopter but *not* certified. [3]

Sign #3: ADL itself heavily supports Tin Can as the successor of SCORM.[4]

In essence, SCORM 2004 always lived in the shadow of SCORM 1.2. Now, with the introduction of Tin Can API it seems certain that its adoption rate will decline even further.

Reasons SCORM 2004 Failed

There are a multitude of reasons why SCORM 2004 failed. Here are most prominent (and yes, we refer to SCORM 2004 in the past tense quite deliberately):


The major contribution of SCORM 2004 was the “simple sequencing model”. In fact, it was anything but simple. It was a lot of work for LMS vendors to implement and more importantly, it was too complex for many courseware developers to use. Even the simplest of sequencing required a room full of flow-chart diagrams, dozens of field settings – and even then you needed to be an expert to actually understand what it was doing.

The sad fact is that SCORM 2004 had some nice extensions over SCORM 1.2 which generally made sense, but was hidden under the sequential model nightmare.

For example, a major problem with SCORM 1.2 was that when you took a SCORM quiz there was no way for the LMS to know what the actual questions were. You could access the kind of the question, the correct response, the student response and the score – but not the actual question. This is one of the areas where SCORM 2004 was profoundly better than SCORM 1.2. It included a full text question description and a descriptive identifier for answers. This meant that you could do some effective reporting on questions and the distribution of answers. It was a dramatic improvement but only a few took notice.

Low adoption

This was a side-effect of high complexity. Pedagogically, SCORM 2004 offered important new opportunities but at a disproportional cost.  In other words, the added benefits from the standard were unbalanced by its complexity. The end result was low adoption from vendors and instructional designers.

Even when vendors offered support for SCORM 2004 this was handicapped to great extent. For example, many rapid elearning tools that are available for creating courses DO NOT allow you to build anything easily other than basic SCORM 2004. Almost none of them have an interface for creating a dynamically sequenced Multi-SCO package.

Technology shift

10 years is a long time. Since SCORM 2004 was introduced new technologies have come and gone, smartphones have become mainstream, gamification has been introduced, Cloud & lean solutions are hot topics. We are living in a much different, and more connected, world yet SCORM is still an isolated, browser-based, LMS-centered standard. SCORM 2004 had to change in order to adapt to such a dramatically different environment and rather than do that ADL decided to save itself the trouble and start from scratch through what we now know as Tin Can or Experience API (xAPI)

On not being pragmatic

When SCORM was first introduced it answered a real-world problem – that of the standardization of learning packaging and delivery. And it succeeded because until that point in time there was no adequate way to do that job. On the other hand SCORM 2004 tried to address less obvious problems. It had a higher vision and tried to allow or enforce sound pedagogical concepts but was proven less pragmatic.

There is one important real-world issue that SCORM 2004 deliberately avoided dealing with and that is making SCORM a concrete standard. SCORM is a reference model and not a true standard – you can’t plug this into a wall and have everyone work the same way. There is still too much variation in how compliant LMSs implement UIs associated with the SCORM engine. Will content be loaded in a new window? A frameset? How large a window? How will the table of contents be presented? What navigation request does closing the browser imply? Content authors should be able to rely on a consistent set of UI expectations.

Lessons to be learned and the Tin Can future

Tin Can is trying to succeed where SCORM 2004 failed. Nothing is perfect though as ADL admits [5]. Ongoing compromises are not a bad thing per se, but can certainly be tricky.[6]

Simplicity matters

It seems like the need for simplicity is something that Tin Can endorses. Simplicity drives adoption and without adoption no standard can succeed. In essence Tin Can is much simpler that SCORM 2004 and even simpler than SCORM 1.2 (still, on the latest 0.95 and upcoming version 1 of the standard some complexity elements emerge like support for multiple languages – in essence this is good but comes with higher complexity for technology providers).

Technology-shifts can render you irrelevant

Another important characteristic of Tin Can is that it is actually technologically ‘agnostic’. It can be used inside the LMS, outside the LMS, embedded in a mobile phone or in a videogame. That provides some assurance against technology-shifts and opens new possibilities for capturing interesting learning interactions from informal activities.

Ongoing project support is important

An interesting decision regarding Tin Can is that ADL hired a company to drive the Tin Can project (Rustici Software). What that means for the future of the standard is still not clear, however, currently, the marketing and support effort is much improved.

Freedom and Standardization are opposite forces

Unfortunately, Tin Can does not help in the path towards standardization. It does however offer even more freedom to content creators by letting them, for example, define their own verbs used on statements. Interoperability of content between LMSs is somewhat improved due to the simpler messaging system and absence of Javascript; however, standardization of presentation will not be benefited from Tin Can as it is shaped today.

Tin Can chose freedom over standardization. It remains to be seen if this was a good move.

Reporting is critical for eLearning

The need for reporting is one of the main driving forces behind eLearning. Without reporting you cannot calculate the ROI (return-on-investment) of your learning activities. Reporting was not a favorite topic of SCORM but is at the core of Tin Can.  In principal, Tin Can is built around descriptors of actions (‘training evidences’) that can be translated to better reports. Still, the reporting itself depends on each vendor’s interpretation.  Also, for reporting to be useful it may help to merge statements to form higher level descriptors. For example, Tin Can can report on what you experienced or completed. But those are low level statements that cannot be rendered easily to something like “George is good at mathematics”.

Summing up

To say that SCORM 2004 failed because it was too complex is an over-simplification. There were a number of forces that led to this outcome. Tin Can tries to succeed where SCORM 2004 failed by addressing several but not all of the ongoing issues. It also comes with a fresh view on the technology landscape.

It seems that the compromises were calculated ones in order to simplify the standard but we anticipate that in the near future Tin Can will introduce several new elements in favor of standardization. Hopefully during this process its simplicity won’t be hammered too much. It is still early but a good way to introduce standardization might be through a new standard that builds over Tin Can (and thus, does not make it more complex) and addresses visual and reporting concerns. Let’s call it “Tin-Can X”.


  1. http://scorm.com/blog/2011/08/scorm-stats-then-and-now/
  2. http://scorm.com/scorm-stats/
  3. http://www.adlnet.gov/scorm/scorm-certification
  4. http://www.adlnet.gov/the-definite-indefinite-future-of-scorm
  5. http://scorm.com/project-tin-can-phase-3-known-weaknesses/
  6. http://dspace.dial.pipex.com/town/street/pl38/comp.htm


eFront V3.6.13 has just been released!

Today we would like to announce a new version of eFront! :)

The most notable addition to this version is Tin Can support. We took the time to bundle also several UI improvements, a WordPress integration plugin, a new introductory course, and a number of additional enhancements  to make your favorite learning tool even better.

So check out what’s new!

Tin Can

This is the first version of eFront with internal support for Tin Can.  eFront has implemented the 0.95 version of the standard, which is the most recent one. On top of the implementation you will find a robust way to filter down the reports per user, action or module.

Simple / Complete mode

eFront is becoming more complete with each version. Completeness comes with an unavoidable complexity factor. Starting with this version eFront offers a simple/complete switch on the header than can hide or reveal several elements. And here’s the best part:  you can fully customize the simple/complete behavior from Settings > Customization.

UI improvements

This version makes use of several bootstrap elements for popups and drop-down menus. We also introduce a redesigned header and a Go-to dropdown menu on admin for instant access to common functions.

Introductory Course

All new installations come bundled with a short introductory course about eFront. This is based on the brand new eFront videos you can find on our YouTube channel:


WordPress plugin

We have created a WordPress plugin that may come in handy for anyone that wanting to further customize his/her learning portal. With this plugin you can achieve the following:

  1. List your eFront courses and lessons and their content in WordPress.
  2. Allow your users to signup to eFront through WordPress.
  3. Allow your users to get or buy eFront courses or lessons.
  4. Achieve good integration performance through caching.

You can find more info on this plugin and download it for free from the following URL: http://wordpress.org/extend/plugins/efront/ and a sample implementation at: http://wpdemo.efrontlearning.net/

Other improvements

This version comes with several additional improvements on Certification, Relative lessons schedule and Facebook integration fixes.

For a detailed log of changes and related discussions check the forum post at: http://forum.efrontlearning.net/viewtopic.php?f=15&t=7983

Tin Can in action

Introduction to the Tin Can API:

The Tin Can API is a brand new learning technology specification that offers a simpler and more flexible way of capturing learning activities and sharing them with a variety of other systems – opening up an entire world of experiences (online and offline). A wide range of systems can now securely communicate with a simple vocabulary that captures this stream of activities.

The Tin Can API is a product of SCORM evolution – i.e. it’s practically the next generation of SCORM – and it eliminates many of the old limitations and restrictions. It is suitable for use in any kind of learning including: mobile learning, simulations, virtual worlds, serious games, real-world activities, experiential learning, social learning, offline learning, and collaborative learning. For a full introduction to Tin Can and how it differs to SCORM please see this post, or read “Tin Can Demystified” by Epignosis’ CTO, A. Papagelis.

How it works:

Statements are the ‘substance’ of the Tin Can API. Each statement corresponds to an experience that has occurred or is taking place right now. The Tin Can API uses (JSON formatted) statements containing any activity that needs to be recorded and sends them to a Learning Record Store (LRS). Each statement uses this simple form: “someone did something” or [actor]+[verb]+[object].

For more information about the Tin Can API, visit http://tincanapi.com, and for an overview on Tin Can Statements go to http://tincanapi.com/developers/tech-overview/statements-101/

Integrating with an LMS:

The main benefit of the Tin Can API is that it frees your data from a pre-defined LMS, promoting mobile, offline or even social learning.

Epignosis’ TalentLMS offers a basic LRS implementation where you can send and record any learning experience. You can enable the Tin Can API for your domain, through the Basic Settings of your account (administrators only).

Once enabled, you can get your private key used for authentication when communicating with the LRS. Statements can be sent to the LRS by posting them to the following URL: http://yourdomain.talentlms.com/tcapi/ . If authenticated successfully and provided that your JSON statement is valid the activity will be recorded and displayed in your timeline – in any other case a descriptive error will be returned.

Besides posting your statements, you should include the following parameters in the request HTTP header:

  • Authorization: your Tin Can API Key (find it in the Basic Settings of your account)
  • Statement ID* (optional): a unique identifier of your statement
*Note: when a statement ID is not included, a POST request should be made. On the other hand, when a statement ID is sent, a PUT request should be used

Tin Can in action:


At http://yourdomain.talentlms.com/dev/tincan/  you can find an example activity, where you can see in action how it communicates with the TalentLMS LRS. Fill in the LRS endpoint URL, your secret Tin Can API key and the email of an existing user in your system. Start navigating through the sample course, and check in real-time the statements recorded in your timeline.


In the same example activity you may also use an alternative LRS, such as the public LRS provided by SCORM Cloud. Use: https://cloud.scorm.com/ScormEngineInterface/TCAPI/public/ & enter a random API Key and your email. Navigate through the course, and visit http://tincanapi.com/developers/resources/statement-viewer/ to see all statements that were recorded.

Run it on your own

You may also download this sample activity, which is located at http://yourdomain.talentlms.com/dev/tincan.zip. You just unzip the files, place them in a web server running PHP and you’re ready to go!

Importing Tin Can Storyline object in TalentLMS

Using Articulate Storyline you can publish a project that supports Tin Can API, ready to use in conjunction with an LRS.  Publishing for Tin Can API in Articulate Storyline is really easy – just select “Tin Can API” as LMS in the Output Options section (detailed instructions here).

TalentLMS offers you the ability to upload Storyline objects which were published for Tin Can directly into a course unit. Just select the option to create a SCORM/Tin Can unit, upload your Storyline zipped object, and save your unit. Start experiencing your new unit and all Tin Can statements produced will be recorded and displayed in your timeline.

Epignosis will also announce the integration of the Tin Can API with eFront LMS next month – so please look out for updates in the coming weeks! :)

What is Tin Can?

The Tin Can API is a brand new learning technology specification that opens up an entire world of experiences (online and offline). This API captures the activities that happen as part of learning experiences. A wide range of systems can now securely communicate with a simple vocabulary that captures this stream of activities. Previous specifications were difficult and had limitations whereas the Tin Can API is simple and flexible, and 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. What’s more, the Tin Can API is community-driven, and free to implement.  (TinCanAPI.com)

ADL (the keepers of SCORM) is the steward of this new specification aka “the next generation of SCORM.”

Up until now, SCORM has been the most widely used elearning standard but it falls short when it comes to capturing the entire picture of elearning. If an LMS is SCORM conformant then it can play any SCORM content and vice versa (any SCORM content can be played in any SCORM conformant LMS) however learning is happening everywhere – not just in traditional SCORM courses inside traditional LMSs. The Tin Can API gives you the ability to see the whole picture and lets you record any learning experience, wherever and however it happens.

“SCORM has served us well, but it really doesn’t capture the entire picture of e-learning.” ~ TinCanAPI.com

What are the differences between SCORM & the Tin Can API?

Both SCORM and Tin Can API allow track completion; track time; track pass/fail; and report a single score. Tin Can API however allows so much more: report multiple scores; detailed test results; solid security; no LMS required; no internet browser required; keep complete control over your content; no cross-domain limitation; use mobile apps for learning; platform transition (i.e. computer to mobile); track serious games; track simulations; track informal learning; track real world performance; track offline learning; track interactive learning; track adaptive learning; track blended learning; track long-term learning; and track team-based learning.

Who’s using the Tin Can API?

Providers have come to realize that learning experiences happen everywhere (not just in the LMS) and Tin Can adopters want to give their users the ability to easily track these experiences. Many elearning providers have already adopted this new specification (including TalentLMS and very shortly eFront Learning too) for a full list click on this link.

For more on Tin Can API, please read this blog post: Tin Can Demystified and this page.