As an e-learning developer, one of the questions I get a lot is, “Which is better: AICC or SCORM?”

This answer will vary depending on who you ask. In my opinion, each specification has its place in developing e-learning content. I will try to provide you with some practical guidelines on which specification you should consider based on your e-learning development requirements. First, though, let’s take a quick look at definitions for each:

AICC stands for Aviation Industry CBT Committee and primarily uses the HTTP AICC Communication Protocol (HACP) to facilitate communication between the course content and the learning management system (LMS). The HACP method uses an HTML form to send information to the LMS and the LMS sends information back to the course as a simple text string.

SCORM, or Sharable Content Object Reference Model, was developed by Advanced Distributed Learning (ADL), a research group sponsored by the Department of Defense to develop standards for e-learning training materials. The method used to communicate between the course content and the LMS is referred as JavaScript Application Programming Interface (JS API). JS API is a set of functions defined on the LMS that a developer can call, using JavaScript, to pass information to and retrieve information from the LMS.

So what are the pros and cons of each? Here’s a short list:


Pro: There is a standard set of functions to send and retrieve information.
Con: There are issues with cross-browser scripting. The content and LMS must be on the same server.

Pro: AICC allows content to exist on a separate server and supports secure information transfers with HTTPS.
Con: Organization of data is more complicated and it requires multiple functions to remove information from the string returned by the server.
Con: AICC-compliant LMSs only have to support specific features. Thus, the content developer is required to write all of the functions for communication.
While this is certainly not an exhaustive list, it gives you a general idea of their differences. When considering which specification to use, you should focus on a few factors:

1) What tool will you be using to develop your e-learning content?

If you are using a rapid e-learning development tool such as Articulate or Lectora, then you will have no issues with AICC or SCORM because these tools come with single button publishing to either specification. Flash also has an AICC/SCORM template that you can publish, but it’s a little trickier because you still have to write the function(s) to break apart the string returned from the LMS if you use AICC. In this case, a SCORM-compliant course would be faster to develop than an AICC-compliant course.

2) Will you be allowed to place your content on the server hosting the LMS or will it have to be on a different server?

This will be an issue if the LMS you are developing content for does not supply you with some kind of server-side program to get around the cross-browser scripting issue that hinders SCORM. If they do, then you can use either method. If not, then you will need to use the AICC method.

3) Does the information you are passing between the LMS and the course have to be sent over a secure connection?

This is not a typical requirement, but it does come up. If you need a secure connection, then AICC is your best choice because it will allow you to send information over secure HTTP (HTTPS). SCORM uses JavaScript functions, so the information is not secure. SCORM also has recently been singled out as an easy-to-cheat-on specification.

In the end, both AICC and SCORM have strengths that give them the edge in certain situations. My personal practice is to choose the method that best fits the requirements of each client.

For more information on each specification, visit their websites and peruse the specifications documentation. If you are new to SCORM, I highly recommend reading “In the Eye of the SCORM” by Claude Ostyn.


CMI Guidelines for Interoperability AICC

Advanced Distributed Learning – SCORM Specification

In the Eye of the SCORM