Wednesday, October 18, 2006

Differences Between SCORM and AICC

Differences Between SCORM and AICC

April 1, 2004 | Steve Saporta

Many organizations considering the purchase of e-learning courseware today have deployed, or are planning to deploy, a learning management system (LMS). The recent popularity of LMSs has been driven in no small part by the AICC and SCORM standards. Any LMS that adheres to the standards can launch and track any courseware that adheres to the standards, regardless of which vendors have supplied the LMS and courseware.

So it's no surprise that, as a courseware developer, Midi receives many inquiries about whether our web-based training is "AICC/SCORM-compliant." In some cases, the people who are inquiring have been prompted to do so by someone else, and may not know exactly what they're asking. In this month's issue of Interactive Insights, we'll make it clear that AICC and SCORM are two distinct, although related, sets of standards, and explore some of the important differences between them.

AICC

Technically, AICC is not a standard; it's a standards body, the Aviation Industry CBT Committee. The committee has developed numerous standards over the years, some of which have only a tangential relationship to e-learning. The AICC standard that bears most directly on the ability of an LMS to launch and track web-based courseware is titled "AICC/CMI Guidelines for Interoperability" (document #CM1001).

The initial release of this document in 1993 predated the mass adoption of the World Wide Web and dealt with computer-based training, primarily delivered on CDROM. When the document was revised in 1998, web-based training was addressed for the first time by adding Appendix A to the document. Appendix A defines the "HTTP-based AICC/CMI Protocol" (HACP), a set of rules that govern communication between an LMS and web-based courseware.

In 1999, Appendix B was added, introducing a JavaScript application programming interface as an alternative means of communication between an LMS and courseware on the web. The JavaScript interface made it possible for developers to create AICC-compliant courseware using familiar HTML and JavaScript, without resorting to more complicated -- and often proprietary -- programming languages.

SCORM

Another standards body, Advanced Distributed Learning or ADL, created the SCORM (Sharable Content Object Reference Model). In ADL's words, the SCORM is "a collection of specifications adapted from multiple sources to provide a comprehensive suite of e-learning capabilities..." One of the specifications included in the SCORM is precisely the JavaScript interface from Appendix B of the AICC standard. That is, among other requirements, SCORM-compliant courseware must use the AICC JavaScript interface to communicate with the LMS.

Given the way these standards have evolved, when LMS and courseware vendors say "AICC," they tend to mean the HTTP protocol and when they say "SCORM," they tend to mean the JavaScript interface. In particular, many AICC-compliant products do support the HTTP protocol, but don?t support the JavaScript interface.

Differences Between the HTTP Protocol and the Javascript Interface

We now know enough to understand that -- from the perspective of launching and tracking web-based courseware -- when comparing AICC vs. SCORM, we are really comparing the HTTP protocol and the JavaScript interface.

The JavaScript interface has some strong advantages. Courseware developers familiar with HTML and JavaScript do not need to learn other programming languages to implement communication with an LMS. More important, since web browsers don't provide direct access to HTTP commands, it is impossible (in most cases) to implement the HTTP protocol without server-side programming. Server-side programming, using technologies such as Active Server Pages (ASP), Java servlets or Perl, is specific to the type of server the courseware will be deployed on. This can be a big obstacle when courseware is to be installed on a customer's server. The developer must work with the customer's IT staff to determine server capabilities and address security concerns, and must then develop custom code to run on that server. This process is time-consuming and costly compared to using the JavaScript interface.

Given these advantages, why doesn't everyone abandon the HTTP protocol and use the JavaScript interface? There are two reasons. First, some LMSs and courseware do not yet support the JavaScript interface, which, although well established, is newer than the HTTP protocol. Second, the JavaScript interface suffers from a limitation that prevents its use in certain cases: it cannot operate across different network domains. For example, if the LMS is installed on a customer's server at http://corporate_u.bigcompany.com and the courseware is installed on a vendor's server at http://www.course_developer.com, the courseware and LMS will be unable to communicate. This is because, for security reasons, modern web browsers prevent so-called "cross-domain scripting." That is, they prevent JavaScript on one network domain from exchanging information with servers on another network domain.

Conclusion

If you're thinking of purchasing courseware, your LMS vendor can tell you whether your LMS supports AICC (that is, the HTTP protocol), SCORM (that is, the JavaScript interface) or both. You can then ask courseware vendors more specific questions than "Is it AICC/SCORM-compliant?"

There can be legitimate reasons for choosing the HTTP protocol over the JavaScript interface, but when you do so -- especially in the case where courseware will be hosted on your own servers rather than the courseware vendor's -- be prepared for some added time and expense.

For More Information

The AICC website can be viewed at http://www.aicc.org.

The ADL website, with extensive information about SCORM, can be viewed at http://www.adlnet.org.

3 comments:

bestpmchennai said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.

Scorm E Learning

Unknown said...

Dear Jaitrichy,
I am a programmer in Singapore.Now,I am doing e-learning system and written in c#.We would like to interact 2D flash game with current LMS project.Some developers say we will need to use SCORM or AICC.Please explain me do we need to use SCORM,AICC or not?I don't know we need to use it or not.

Many thanks,
Kyaw thi.

Many thanks,
Kyaw Thi.

Unknown said...

Jai.. Nice explanation of AICC/SCORM

Thanks,
Ram