What to Expect When You’re Showing (or not showing)

Having a three month old at home, I fully expect everybody else out there to get this title’s play on the classic pregnancy book “What to Expect When You’re Expecting” (that has made every expectant mother in the last twenty years worried sick). But, I’m sure few of you did, and even fewer of you laughed…hey, give me a break, it’s Friday morning and I’m sleep deprived.

This morning we’re talking about SCORM 2004 3rd Edition GUI Disablement Order of Precedence (sure to jolt everybody awake with excitement, right?).

SCORM 2004 3rd Edition defines specific user interface behaviors that the LMS should exhibit when certain sequencing conditions are met. For example:

  • When a sequencing rule results in an activity being disabled, the LMS is to show the activity in the table of contents but not allow the user to click on it.
  • When a sequencing rule results in an activity being hidden from choice, the LMS should completely remove that activity from the table of contents.
  • When the learner is in an activity that has control choice exit = false, all activities outside of the current activity (with choice exit = false) should be removed from the table of contents (hidden).

Unfortunately, SCORM does not define an order of precedence for these user interface behaviors. For instance, if there are two sequencing rules that both apply to an activity, one which states that it should be hidden from choice and the other which states it should be disabled, it is up to the LMS to interpret whether to remove that activity from the table of contents or to show it in a disabled state. Uh oh, trouble ahead.

You guessed it, every LMS is likely to implement this choice in a slightly different manner. LMS’s could currently choose from the following algorithms:

  • Define a priority between hidden and disabled.
  • Define a priority amongst mechanisms for hiding/disabled. Sequencing pre condition rules, post condition rules, the isVisible item attribute and choice controls all provide mechanisms for hiding and disabling activities.
  • Pre-evaluate the sequencing pseudo code until it is known that the activity will not be selectable, then apply the appropriate UI behavior. (The SCORM Engine and SCORM Test Track use this algorithm.)

The downside of the algorithm the SCORM Engine uses is that disabled takes priority over hidden from choice. Thus it can happen that when you intend to hide an element that is also disabled, it still shows up in the table of contents.

The ADL SCORM Technical Working Group is currently tackling this issue and it should be clarified in the next revision of SCORM.