Unfortunately AICC is a specification driven by a "committee" of "committees". This has driven the specification to a (lower) common denominator. Some of the problems found in the specification are listed below:
- Each time student results are submitted, they overwrite their previous results on LMS. This means that the browser must retrieve all the previous results, manage them, and resubmit them.
- The browser is responsible for doing many things that are much more effectively done by a server (Browser has no memory, whereas the server is a database)
- Most LMSs only support the Core set of data. This means that you are unable to get results of specific test questions since the score is rolled up into one number.
- HACP method: The browser is generally unable to interpret server-to-player communication without Java applet or other plug-in. Some plug-ins designed to do this communication appear to use old AICC standards. Unfortunately, several LMSs have determined that they are AICC compliant because they function with these older standards.
- AICC "Compliance" technically means almost nothing:
- Many courses that are "compliant" do not have any tests, so there is no real communication between the course and the server
- To obtain compliance, you contract with an outside agency that says you are compliant based on the specifications you gave them - so they are just validating that you have implemented the specification as you understand it.
- URL-encoding is unclear. Encoding means that when the data is transmitted over the network, unprintable characters (such as carriage returns) are represented by their ASCII table number. Some LMS have interpreted the requirement to mean that the messages sent from the course are already encoded, while others encode the message as soon as they receive it. This means that there is a high likelihood that the messages will either never be encoded or that they will be double-encoded. When the message is not encoded properly, the LMS cannot interpret it, so browser-to-LMS communication fails.
- "Levels" refer only to the course structure files: They have no impact on the amount or quality of the information transferred between a course and a server