“Which part of SCORM should I implement in my LMS?”

In general, passion and anger don’t mix with software standards for me. I believe we’re doing good work, I think SCORM is really effective, and I hope we’re doing our part to further its ongoing success. But… we often find ourselves mired in discussions over semantics or other companies’ arguments about minutiae. Over these things, there is little need for passion and anger.

If you develop an LMS or determine its functionality, though, I have a favor to ask of you. Please, please, please… do not implement part of the SCORM standard. I have encouraged many prospective customers to steer away from SCORM. I have no problem with companies that control their content and their platform electing to avoid SCORM completely if they have no use for interoperability. But if you have use for some aspects of SCORM, for your sake and mine, finish the job, complete the implementation, even go so far as getting certified.

Why? Why not do just what you need?

  1. Do you really know what you need right now? Do you know your target content well enough to say that definitively? [No, you don’t… you have no way of knowing for certain which data model elements are important to this piece of content.]
  2. Do you know what you’ll need from the next piece of content? What if it comes from another tool or vendor?
  3. Side effects. As you have some success with one piece of content, it will give you a false sense of security. Some other piece of content will come along and fail to function, and the reason for its failure won’t be apparent to anyone. These are the kinds of problems that will occupy you and others indefinitely. This is undoubtedly costly to your business, and not just in the short term.
  4. Your content vendors will hate you!
  5. There’s simply no logical point at which to stop. Do you need to be able to retrieve the learner’s name? Yes. What about the review mode? Well, probably, but does your content use it? What about interaction reporting? No, we have no content that reports interactions… It is a slippery slope in the worst sense.

So, I’m begging. Please stop now, stop before you start to implement a part of SCORM. If SCORM is important to you (and it should be in a lot of cases), then do it right. Go all the way. I’d love for you to use our tools to do it. But even if you don’t, please finish the job.


  • Dave

    Interesting post.

    When we originally built Articulate Online we built it only for our products and to support only our products, but we still used SCORM 1.2 for reporting thinking it wouldn’t be that bad. We ran into a host of problems with some of the limitations of SCORM, like the limit on the number of characters for Essay questions, characters that aren’t supported, which made things difficult because with Articulate Online we had a goal of having really rich reports, which was difficult to support using SCORM as our communication mechanism.

    We eventually switched our new products to use our own new proprietary communication method that wasn’t bound by the limitations of SCORM. As a QA person I hated the idea of changing our communication mechanism in our new products because hey, we spent so much time getting the SCORM approach to work, but after all was said and done, our own proprietary communication method caused way less headaches, and had way less bugs.

    Don’t get me wrong, SCORM is great, but it would have worked better for us to just begin with our own communication method.

    But I have to totally agree with this:
    “Your content vendors will hate you!”

    I can’t count how many times I have heard from people that content created with our software doesn’t work in their “in house” developed LMS and the problem ends up being some half assed implementation.

  • Tim Martin

    Right on, Dave. I couldn’t agree more. For someone who will have control over both the content and the LMS (as you do in Articulate Online), SCORM is more hassle than help. You guys are able to do things in reporting data that SCORM simply doesn’t allow for. (Detailed interaction reporting is a great example of this, and, something I posted on a few weeks ago.

    The benefit of SCORM comes when you deliver content to another LMS provider and need to know that certain aspects of LMS functionality are globally available. (Obviously, at Articulate, you’re well informed in that regard, given your broad success in delivering content in so many LMS’s.)

    Thanks for the comment.

  • Pingback: SCORM » Drupal, SCORM, and why The Partridge Family was wrong()