SCORM Exchange Excitement

I willingly subscribe to a very small handful of things. One of them is Philip Hutchison‘s updates on his forthcoming book because I couldn’t be more excited about it. I think it’s important and exciting enough to share—the thoughts and files he’s been sharing at his site for years have been helpful and refreshing.

Below is his latest update and my response.


Thanks again for signing up for my book updates. The book and related code samples are coming along nicely, I hope to finish up this month, time permitting.

I wanted to take a moment to explain the gist of the book and see what you think.

First, some background:

Without a doubt, SCORM is convoluted, and is full of “nice… in theory” concepts. When SCORM was originally conceived, the authors were taking stabs at what they thought e-learning developers would like or need, but they were basically guessing, trying to predict the future.

As time progressed, they refined and expanded SCORM, adding complex features such as sequencing and navigation. Many of these new features made SCORM much harder to implement. The result was a chicken-or-egg scenario: LMS vendors didn’t fully implement SCORM features because of limited demand from course developers (and high development cost). Conversely, course developers didn’t use a number of SCORM features because the LMS didn’t fully support them.

For years we waited to see how it would play out: would the LMSs eventually start supporting more advanced SCORM features? Would we ever be able to fully utilize sequencing and navigation? Would support for CMI fields like cmi.interactions ever stabilize?

Today we know the answer: No, LMS vendors will not improve their SCORM support. The SCORM spec was last updated in 2009, and the ADL (owners of SCORM) have officially discontinued development in favor of the Experience API. Vendors have no incentive to spend development dollars on improving their SCORM support.

In my opinion, today’s level of SCORM support is the best we will get.

With that in mind, my book is focused on finding the sweet spot: how to hand-code a reliable HTML-based SCORM course, utilizing only the most widely-supported features. I’m attempting to level-set expectations about SCORM and taking a hard look at how we’re using it — the reality of SCORM in today’s world, not the dream of the original SCORM authors. I will not be delving into obscure and/or infrequently used features such as global variables or rollup rules.

If you’ve read this far, THANKS! I hope you’re as excited about this as I am.

I’m looking to make this book and the accompanying code examples as relevant as possible. If you have a minute to spare, I’d love to hear about your relationship with SCORM: how do you use it today, and what are your goals with SCORM? Are you trying to build a new course system, or do you already have one, but are looking to make it more reliable? Are there any particular kinds of examples you’d like to see?

Thanks for your time.
– philip

PS: I mentioned the Experience API (xAPI); it’s growing in popularity and has a bright future, but is still a child. Because of the Learning Record Store requirement, xAPI doesn’t work out-of-the-box with most LMSs, so I anticipate it will be a few more years before it’s widely adopted. In the meantime, SCORM continues to provide the foundation for the vast majority of e-learning courseware, especially in the corporate training realm. SCORM comes standard with most LMSs, and will not be going away anytime soon.

My Reply

I’ve been waiting for something like this for a long time. I’m the instructional designer for a healthcare system with almost 10,000 employees — continual development of new, mandatory training to meet new regulations and requirements. We don’t use an LMS. We use Taleo Learn, an HCM that Oracle bought from some bargain basement estate sale so they could bundle it with their other products for the “convenience” of their customers who don’t know any better.

The lack of many of the most common LMS features aside, it isn’t even able to take advantage of what few things tools like Articulate Storyline and Adobe Captivate can do. I started my ID career during the glory days of eLearning created with Flash which, obviously, isn’t an option for many reasons. All of these limitations led me to your site and others trying to learn how to hand-code truly interactive, engaging, sane eLearning using HTML, CSS, and JavaScript — the only languages available to me even a little bit. Sadly, Taleo Learn isn’t compatible with “HTML5 eLearning.” Like many other products (including Captivate and Storyline), it is sold as “HTML5 compatible” which means little, if anything, more than a different doctype.

I’ve heard dubious rumors we may finally get an LMS in a year or two. Maybe. In my mind, that gives me hope for one thing — I can hand-code my own stuff without using Storyline and, if the stars and gods favor me, it will work in this new LMS.

What I’d like:

  • Animation
  • Control over navigation and interactivity
  • Communicate with the LMS beyond what little Storyline and Captivate can
  • Change code (and read code that is written with some sanity) … I’d like to know and navigate the directory structure with ease … what’s in there and where it is
  • Basically, something that can replace Flash

SCORM and St. Philip Hutchison

12-18 months ago, I discovered, a delightful little site with oodles of articles and downloads that captured my interest while I tried to debug and troubleshoot problems with either Articulate Storyline, Oracle‘s Taleo Learn, or both (we still haven’t figured that out–both are garbage and we can’t figure out which piece of garbage causes any given stink). My goal at the time was to learn the basic structure and content of a scorm object. I wanted to be able to put together a basic skeleton or template.

You  see, publishing a single-slide course containing only a single question in Stinkyline results in thousands of files. The HTML5 version will still contain an SWF, by the way, but the HTML is HTML5-compliant (that’s a BIG selling point to the goobers who buy it from Articulate … it’s also a major selling point of Learn for the goobers who buy that from Oracle).

I wanted to know what a SCORM object did and did not require so I could, perhaps, troubleshoot the courses we had or learn to create them without development “tools” like Storyline or Captivate. Eventually, I gave up.

Recently, however, I started to build a sample project for a potential employer and found another even more desirable potential employer that requested an optional sample project and, as it turns out, if I combined them (appropriate and compatible) the resulting combination project would be pretty freaking cool and fun. So I went to the Googlebox and asked again about SCORM skeletons or templates or whatever.

I don’t know how I missed it my last go-around, but both pipwerks (AKA Philip Hutchison) and a book called Eye of the SCORM had stuff I hadn’t found. The most important piece of all this (five paragraphs in, I know, I’m sorry) is Hutchison’s 7+ part series on Cleaning Up Adobe Captivate’s CORM Publishing Template. It’s perfect bubble-bath reading and I raved about it (the series, not my bath) at work the next day to the LMS Administrator.

Hutchison’s writing style, insight, professionalism, teacherness, and … I can’t say enough awesome things about him and/or his blog. Just go check it out.

I’d like to do something similar with Storyline’s mess. One of the solutions we’re trying at my stupid day job is rebuilding one of our problem Stinkyline courses in Craptivate so the series may be useful at work in the short term and not just for play.

Hutchison is also “writing an ebook explaining how to build an HTML-based SCORM course” which is exactly the sort of thing I’m working on and has oodles of other rockin’, hackin’ SCORM resources on his site.

The most important part of this post is that I’m excited about this sample project for the second potential employer mentioned above. The first is no longer potential or desired. Losers is what they turned out to be but I’m grateful for having endured the interview process with them because that project is what inspires me so about the project for the place I haven’t even applied to yet.

Other cool SCORM hacking resources from Rustici:

Into the Eye of the SCORM

For purposes of gathering evidence proving some almost-daily support tickets are caused by Taleo Learn and not my courses, I’m starting to play with SCORM Cloud, creating a MOODLE subdomain on my site, and, while I’m at it, writing a tutorial/article thing as an Introduction to SCORM. Would anyone be interested in reading such a thing?

This intro to SCORM is about the required structure of a SCORM object and the necessary code–it is not “How do I work with my LMS” or “How come my Storyline thing doesn’t work.” If you’re interested in creating your own SCO, this would be the article for you.

I learned all this SCORM shizzle a few months ago trying to find a workaround for Taleo Learn‘s lack of support for HTML5 courses.

It seems I’m stuck in eLearning for the foreseeable future but I’ve reconciled myself with that fact because, really, I didn’t complain while being a janitor in college–I was grateful I had a job for bill-paying (and cover charge paying and an alcohol budget) while I learned everything I did for the first phase of my career. I’m grateful for a similar job now. And, hey, there are other benefits:

  • my kid has braces
  • my wife can stay home and homeschool our kids
  • my cost for a recent surgery was a mere $100
  • I can concentrate on studying/learning instead of finding a job

New Fun Stuff: Free Books and SCORM Progress

SCORM Progress

My recent effort at truly learning JavaScript was inspired by a need to understand and manually develop SCORM stuff. More on that need later. For the present, I’m happy to say I’ve finally figured out what the basic requirements are for a SCORM package. I’ve been searching for documentation and tutorials for 2-3 weeks but all the examples seemed to focus on “How To Do It With OUR [insert wrapper or product]” so none of the examples really resemble each other.

It certainly hasn’t been like learning to develop a website (super easy from the beginning: you make an HTML page named “index” and, at the most complicated, you have to call out to an external CSS file or put some JavaScript in certain places in a particular order). It isn’t even as easy as learning to develop an eBook/ePUB although learning that beforehand made understanding SCORM package structure much easier!

I had to Google several different file formats to find out which files were, indeed, essential and which were byproducts of various development tools like Authorware and Storyline.

What Microsoft Word is to HTML (an unholy abomination–is that redundant?), Storyline is to SCORM packages.

Free Books

I just joined Amazon Student (I’m about to earn my Master’s in Education) for the free 2-day shipping. My frugal wife complains whenever I order books that even cost just a penny because the shipping is still $3.99 per book. Saturday night, I was shopping for super-cheap books on JavaScript and found several free Kindle books–some of them from O’Reilly. They were even all less than five years old–two of them from 2014!


For Father’s Day, my wife took me to see Love & Mercy. I want to be the Brian Wilson of eLearning. So far, people usually just think I’m crazy and that my standards for excellence are far too high.