SCORM for Beginners – What it is and why not to use it

Christopher Dundy | Cumberland, PA | December 15, 2019

“SCORM IS pain, Highness. Anyone who says differently is selling training content.”                                                         
 - from the rejected first draft of The Princess Bride

Are You Using SCORM?

If you create content using authoring tools like Adobe Captivate, Articulate Storyline, or iSpring, the .zip file that you get when you publish the training is called a SCORM package. You can tell because if you unzip the file, you will see an XML document called an IMSManifest file, which is the set of instructions that dictates how all the audio, video, images, etc. will interact with the LMS.

The reason people use SCORM packages is that they are sexy and the content authoring tools that create them have a shallow learning curve. SCORM packages are also common from third-party content providers such as LinkedIn Learning or Open Sesame because these vendors want to make and sell glitzy training that will play on any LMS. If you want to really get into the weeds about how SCORM works, you can check out Rustici Software’s “SCORM Explained 201: A deeper dive into SCORM.” But with apologies to the amazing folks who work at Rustici Software, I almost never recommend that my clients use this model. 

Having worked with LMS since 2007, I can confidently say that 95% of all the problems my clients have had with their platforms were SCORM-related.  My clients who shun SCORM and use the quizzes and other tools organic to their LMS, or the wonderful H5P interactive content available for free on the internet, have a blissfully peaceful time when it comes to their LMS. They go for months on end with accurate reporting, training that works, and without so much as a single question for me. Now who wouldn’t want that?

SCORM History

SCORM is 20+ year old technology, invented by the Department of Defense during the Clinton Administration. There were no LMS at this time, but the DoD had people stationed all over the world who still needed standardized training. Since they were all on different computer systems, they needed one format that would allow training to be played in a variety of different environments. What the DoD came up with was the Shareable Content Object Reference Model (SCORM). One .zip file is called a shareable content object or a SCO. In the 21st century, however, we no longer need to share training with learners who have different computing environments. Instead, learners from all over the world access the same LMS environment to take their training. Hence, the “shareable” part of SCORM is now obsolete.

An Over-Simplified Explanation Of How SCORM Works

The first thing you need to know is that SCORM comes in versions. The industry standard by far is version 1.2. To a much lesser degree you may also see training in SCORM 2004 versions 1, 2, 3 and 4 because, while virtually all LMS are compatible with version 1.2, some platforms like Moodle do not support version 2004. The packages themselves will play, but some of the communication between the SCO and the LMS will not function as expected.

The second thing you need to know is that a SCO is like a nicely wrapped gift. Inside the box is all of the video, audio, text, images, and interactions. The box is wrapped up nice and tight with paper, a pretty bow, and plenty of tape! This means nobody's going to get a look inside unless they take the whole thing apart. 

The third thing you need to know is that the SCO is always the boss. The LMS is a passive recipient of the information (the API calls) sent to it by the SCO. If your LMS is giving you bad data in the reports, it is not the fault of the LMS; it is just recording what is being passed to it by the SCO. The problem lies within the SCO itself. 

Finally, there are a limited number of API calls that are sent to the LMS. This means your completion data is typically limited to when the user accessed training and for how long, and whether they passed or failed. If you have assessments, the SCO will tell the LMS to record the answers and whether the learner got the questions right or wrong, but it is usually difficult to get all of this data from every user into a report to conduct an item analysis. 

Common SCORM Problems

Here are some common problems you will encounter with SCORM. If your SCO opens in an iframe on an iOS device like an iPhone or iPad, you may end up having to scroll left or right in addition to up or down to be able to see the entire training. In general, iOS devices do not play well with iframes, but this particular problem can occur when there is padding surrounding the iframe. If someone on your team has some skill with cascading style sheets (CSS), you can eliminate the padding and maybe other CSS definitions as well, but it’s often a messy, trial-and-error process. Issues like this don’t usually happen when you are using the tools that are native to your LMS.

Another common problem is when the SCO opens and plays in a new window and there is a slight hiccup in the Wi-Fi connection. If this happens, there's a potential for an API call to not get sent from the SCO to the LMS. The SCO would continue to play in the new window, but information such as which questions the learner just got right/wrong and which slide they last viewed doesn’t end up getting added to the suspend_data field. 

Information from the learner’s progress in the SCO is periodically stored in a field called suspend_data, and that data needs to be routinely added to the LMS’ database by an API call named LMSCommit. If the SCO does not send this call, some LMS platforms won’t save the progress or completion data. Additionally, there is a limit to the number of characters that can be stored in the suspend_data field. For SCORM 1.2, this is 4,096 characters, which should be enough, as most content authoring tools compress this stored data. However, if you have a large SCO, this is another potential problem area.

The mastery score can also cause a headache in SCORM 1.2. Imagine that you just want a SCO to complete when a user views every slide. Imagine also that the same SCO has a series of assessment questions at the end and that the mastery score is inadvertently set to 100%. It is conceivable that the user could view every slide, but only get 80% of the questions correct and therefore fail the SCO. The mastery score overrode the completion status. The problem occurs when this outcome was not intended by the author or explained to the user. I have seen this happen repeatedly when the questions in the SCO were never meant to be used as pass/fail criteria. You can tell if your SCO has a mastery score set by following these steps: 

Download the SCORM package to your desktop.
Unzip it and open the IMSManifest file using a program like Notepad.
When the XML code is displayed, use CTRL+F and find the string “masteryscore”.
You can change the number in the file, save it, and zip the package back up, if necessary.

How To Troubleshoot SCORM

Any time you troubleshoot anything on an LMS, the initial goal is to replicate the error. Replicating the error will give you some idea if the problem is with the LMS, the browser, the SCO itself, or a combination of these. If you suspect that the problem is related solely to the SCO, you can test the package by uploading it to SCORM Cloud, a product from Rustici Software. They have some wonderful debugging tools, and their staff is always available to answer questions. You will have to create a free account, but it is well worth your time. If the SCO is working on SCORM Cloud, then the package itself has been rendered properly and the issue will involve the LMS. As a side note, I cannot give the folks who work at Rustici Software high enough praise. They are incredibly helpful, even if you are not a paying customer. And they really do know SCORM inside and out. Check out their excellent technical documentation. 

How To Make SCORM Work If You Must Use It

There are instances in which SCORM may be your only option. For example, one of my clients requires it for math problems because many LMS platforms don’t allow you to create equations easily. If you must use SCORM, there are some ways to implement it successfully. First, keep your SCOs as short as possible. I've had clients who created SCORM packages that ran as long as 90 minutes. Unfortunately, when (not “if”) the logic in the SCO doesn’t work as planned, finding the troublesome area often requires someone to sit and watch the entire training and try every permutation of click in order to replicate the error. It’s much easier to recreate the error when the packages are five minutes. 

I also recommend that you not put quizzes or assessments inside of your SCOs. Instead, use the SCORM package to display your content - whether video, images, or a few interactions - and use the quiz tool that is organic to the LMS. Your reports will be more accurate, and you will be able to analyze each question against each user’s result to determine its difficulty and effectiveness (item analysis). 

There is one other benefit to using SCORM. Some LMS won’t track how long a user spends watching a video. They will only report on whether or not the user clicked the link to view it. In those cases, put a SCORM wrapper around your video so you can track the total time the user spent in the activity. This can be done using a content authoring tool or Rustici Software’s ScoTube, available by clicking “Add Content” on the SCORM Cloud main page.

As You Wish

I cannot emphasize enough how important it is to use the tools that are organic to the LMS whenever possible. It will reduce stress for administrators and users alike, and your training results will improve correspondingly. Of course, if you do have any problems with SCORM or any other aspects of your LMS, you can always give me a call.

And as Miracle Max would have said if he were an LMS administrator, “Bye bye! Have fun SCORMing the castle!”