Claude Ostyn's Blog
Competency data standards and management, standards-based eLearning content development, SCORM tips and techniques, and whatever else seems relevant.
Cross-domain SCORM delivery demo fixed
The demo at http://www.ostyn.com/standardswork/xdomain/remotecontentdemo.htm
Competency evidence: Real competency vs. regulatory requirements
Sometimes a “competency” is not really a competency but a compliance requirement. Those cannot be ignored. A realistic system must deal with both real competencies and compliance requirements.
For example, sometimes the evidence of compliance with a compliance requirement is stipulated as having taken a course of a certain duration, regardless of whether or not something was actually learned in the course. In a pure competency management perspective, evidence of this sort would be considered polluting, since no real inference can be made regarding the competency of the people who have been trained.
However, that is reality, and it must be dealt with. This is why different confidence policies may be applied by different entities or at different times in competency management systems. For the purpose of regulatory conformance, one needs to apply the regulatory policy. This might state that only a particular form of competency evidence deserves any confidence. For the purpose of training or personal development, one would typically apply a different policy. This might state that assessment based competency evidence deserves a higher confidence rating. Under such a policy, a certificate of course completion might be given a low confidence rating as evidence of competency.
Using this approach allows one to reconcile the requirements of both pure competency management and regulatory requirements in the same system. The trick is not to take anything at face value, but to always qualify with a confidence rating and a reference to the policy that was used to determine the confidence rating. If you don't trust the policy, then you should not trust evidence that is highly rated by the policy. If you trust the policy, and you trust that it was applied reasonably, then there is a much better chance that the evidence is relevant and reliable.
Forums at adlnet.gov are back online
For a few weeks now, no postings had possible on the SCORM forums at http://www.adlnet.gov
while this official site of the Advanced Distributed Learning (ADL) initiative was being transitioned. This very good resource for SCORM adopters, users and other members of the SCORM community now appears to be fully functional again. So go ahead and post your questions and seek answers using this excellent forum
While adlnet.gov is the official site of ADL and where you should go to download for specifications and authoritative information regarding certification, another other resource sponsored by the ADL and well worth watching is the newer http://www.adlcommunity.net
which is more oriented as a "working web site" for the various communities and initiatives within the ADL, and in which various sections are still being built out.
Free SCORM tools updated
Single SCO Mini-Runtime
Sometimes it is desirable to launch a SCO in a context other than a LMS. Many SCOs, however, are coded in such a way that they show error messages if no LMS is present when they are run. The Single SCO Mini-Runtime is a fully self-contained web page that solves this problem. It is a self-contained SCORM runtime environment for a single SCO. More at http://www.ostyn.com/standards/scorm/samples/singleSCOminiRTEwrap.htmDiagnostic SCO updated
The SCORM 1.2 and SCORM 2004 diagnostic SCO (proddingsco.htm) has been updated with a couple of minor bug fixes. Find the current version at http://www.ostyn.com/standards/scorm/samples/proddingSCOwrap.htm
Labels: scorm free tools SCO diagnostic
Developer's guide to SCORM Interactions
This new free eBook is for content developers and instructional designers. It explains how to take advantage of the interactions data model specified in SCORM 2004 to support rich interactive content as well as classic question-based assessments and simulations. It provides a number of examples of applications of the interaction types. It provides a conceptual model of the data model and its uses for tracking and resume or suspend operations for a SCORM content object. The document also shows how to combine interaction objects and SCORM interaction records to provide advanced behavior such as advanced simulation performance tracking or confidence based markup. Published as draft in progress at http://www.ostyn.com/resscormtech.htm
Updated SCORM content samples from ADL
ADL just updated their SCORM 2004 content samples to conform to SCORM 2004 3rd Edition. See the SCORM Downloads pages at http://www.adlnet.gov
It would be interesting to see some discussion here, or as feedback in the adlnet.gov forums or on www.adlcommunity.net
, on the instructional design, usefulness and usability of those content samples.
Premature exit at the end of a SCORM sequence
In my long experience in user interface design and implementations, I found that many
users either do not read prompts, or tend to misinterpret them when what the prompt says
doesn't fit their current mental model and expectations. For this reason, hoping that a user
will refrain from doing something stupid is not a substitute for putting in place something
that actively prevents the user from doing something stupid. This is basic usability (see
for example the many writings of Don Norman on this subject). We humans often think about higher level things while doing tasks for which we have automated "stupid" low level behaviors, like steering a car or clicking a "continue" button. This is why much well designed software asks, by default, "did you really want to do this?" when we attempt to do something that may have dire consequences. This is also why, IMHO, the SCORM 2004 3rd edition Sequencing and Navigation behavior specification that dictates that "Continue" should be enabled at the end of a sequence and has then the effect of throwing the user off the activity tree with an Exit All without any warning is problematic. It seems to negate decades of user interface best practice. The learner may be taken by surprise. If you believe that learning is linear and that it is good behavior to throw away a book as soon as you reach the last page, then the default
behavior defined in SCORM 3rd edition is fine as it is. If you believe that a user may benefit from being able to backtrack and review, however, before submitting his or her work to the LMS, then there is definitely a functional and usability problem here. However, it is possible for a content designer who is aware of this "feature" to work around this problem while still taking advantage of SCORM interoperability, by creating a "catch" activity for those cases; such an activity's sole purpose is to warn the user that clicking Continue again will result in termination of the package. Note that this will be an Exit All, not a Suspend All, meaning that there will be no opportunity to get back into the activity package except in a completely new attempt. A generic "catcher" for this usability problem is probably best not built into a learning activity SCO (unless yours is a single-SCO package), but rather in a separate activity and SCO. This "catcher" SCO is the activity that prevents premature exit. The SCO can be designed to still make sense in case the behavior specified by SCORM is corrected in the future--it can basically check whether continue" should be enabled, and if it is enabled display a warning of the consequence of
continuing. If not, then it basically just tells the user that the last activity in the sequence has been reached, and lets the user decide what to do.
A user of SCORM content is typically not particularly interested in in learning the idiosyncracies of SCORM sequencing or of the LMS user interface. IMHO it is reasonable to expect that such a user's cognitive abilities will be engaged in processing the learning that has been taking place. Learners deserve good user interface design to avoid spoiling the experience. It would be interesting to hear from content designers and authors, and from users of learning content, what they think should happen when you reach the end of a sequence of learning activities...
Labels: premature exit, scorm, user interface
Speeding up IE7
Microsoft IE7 has a neat phishing filter that checks each URL against a list of known phishing sites. But this has turned out to be a problem when multiple frames are involved. In Microsoft's own words, "When you use Windows Internet Explorer 7 to visit a Web page, the computer may respond very slowly as the Phishing Filter evaluates Web page contents." Microsoft released a patch that minimizes the problem last week. The corresponding Knowledge Base article is titled "The computer may respond very slowly as the Phishing Filter evaluates Web page contents in Internet Explorer 7
", ID 928089 and has download links for the patch. http://support.microsoft.com/kb/928089
XML and the SCORM CMI data model
For some reason many people seem to be unaware that there is an IEEE standard that specifies an XML schema for the CMI data model used in SCORM. I put a detailed explanation of what this means, including a link to the schema file itself, at http://www.ostyn.com/standards/docs/xml1484-11-3.htm
Possible new solution for SCORM cross-server deployment
Just ran across what looks like an "out of the box" solution for SCORM cross-server delivery. It is a recently released product called "WebDelegator" at www.webdelegator.com
. The price is reasonable ($99) and you can download a free 30 day trial without the hassles of preregistering. It runs on Windows platforms, even older versions, so it looks like it can be economically deployed using an existing box in a Windows shop. One of its features is the ability to forward outside the LAN. So, for example, lms.example.com could go to a LMS web server in a LAN, and content2.example.com could go to the web server of a content vendor outside the LAN. Basically all the LMS would have to to do is "munge" the launch URL for the SCORM resources to set the appropriate path. For example, if a resource href is www.contentprovider.com/something/something.htm
the actual URL the LMS passes to the client side of the SCORM RTE to launch a SCO could be contentprovider.example.com/something/something.com. A couple of caveats: I have not actually reviewed this product, only its published specs, and I cannot find a review of it online yet. Also, it appears that it may be limited to forwarding to specific IP addresses rather than the FQDNs for servers. The later one is not a showstopper, since the IP addresses of content servers are usually quite stable.
Eye of the SCORM has been updated
Posted today an updated version of Eye of the SCORM, the introductory guide to SCORM for content developers, at http://www.ostyn.com/resscormtech.htm
This is a minor update to incorporate changes required by the release of SCORM 2004 3rd Edition. Also there are a couple of bug fixes in the sample scripts. As usual, feedback is welcome.
Scoring in SCORM
At the beginning, so to speak, in the AICC specification there was only a raw score. However, that meant that there was no way to know what that score meant. In practice, many people had interpreted the AICC specification on the basis of the examples that had been provided, and all those examples were in the 0..100 range, so people assumed that there was such a range. But that was not the actual specification. In fact the range was the range of signed short integers (0 to 0x7FFF = 32767). So, if a LMS wanted to show the scores for multiple courses or content objects as percentage, there was no way to know how to convert a raw score to a percentage since 17 in one package might mean 17 out of 17 and 17 in another package might mean 17 out of 150. This led to the addition of "min" and "max" values as optional elements in the AICC spec. Now, if you knew that min=0 and max=17 and raw=17 then you could show that as 100% with confidence.
Fast forward to SCORM 1.2. The cmi data model in SCORM 1.2 was based on the AICC data model, and min, max and raw came along. In practice, though, many systems and the people implementing them had assumed that there was a "standard" scale of 0..100, and in fact some leading LMS assume that this is the case. So, it certainly does not hurt to use the same normalized scale where min is always 0, max is always 100, and raw is always relative to that scale. This is a best practice. By the way, SCORM 1.2 never got around to fixing the problem of the passing score for which no range is set. This is one more argument for assuming that the same best practice 0..100 scale applies to the passing score. Otherwise, a LMS setting a passing score of, say, 78 is utterly meaningless.
Scoring got cleaned up considerably in the IEEE 1484.11.1 standard, which was developed with participation from the AICC SCORM teams among others. SCORM 2004 implements the IEEE 1484.11.1 standard. In that standard, there are still min, max and raw scores, but they are considered informative and optional. There is also a scaled score, and the scaled score is the only one that is used for formal reporting, to decide whether a passing score has been achieved, and in the calculations involved in SCORM sequencing. The passing score is in the same standard range. In the IEEE 1484.11.1 and SCORM, the standard score range is -1 to 1, where in practive 0..1 scales exactly to the SCORM 1.2 assumed range of 0..100. A scaled score of 0.5 reliably represents 50%. Negative scores are allowed to enable representation of "worse than zero", which sometimes makes sense, e.g. when failing in one SCO must count "against" succeeding in another SCO.
Going from SCORM 1.2 to SCORM 2004 is not very difficult then, since you can use whatever the min, max and raw values might fit your content object's design, and calculating a scaled score on a standard scale is usually easy. For example, if your max score is 26 and your raw score is 21 (as in an example of 21 out of 26 questions answered correctly), the scaled score is simply 21/26.
What I would do in SCORM 1.2 with the example above is report min as 0, max as 100, and raw as 80.77
This is calculated by scaling to 0..100 with the formulas
cmi.core.score.min = 0
cmi.core.score.max = 100
cmi.core.score.raw = ((internal_raw - internal_min)* (100 / (internal_max - internal_min)))
where internal_raw = 21, internal_min = 0, and internal_max = 26.
Going to SCORM 2004, the formula for the new cmi.score.scaled is even simpler:
cmi.score.scaled = ((internal_raw - internal_min)/(internal_max - internal_min))
Best practices for Commit in SCORM
I added a very short document on best practices for the use of Commit (a.k.a. LMSCommit) in SCORM content to the resource docs at http://www.ostyn.com/resscormtech.htm#scripting
. Hopefully this will help clarify things a little bit.
New draft of SCORM 2004 Release 3
SCORM 2004 Release 3 is getting closer. A new draft got released yesterday. Considerable efforts were made to make the documents more readable. Many issues have been resolved, but some resolutions are still a matter of concern, especially regarding features that affect usability of the content. See http://www.adlnet.gov/news/articles/375.cfm
for the announcement and download links. There is a 30 day public comment period ending on September 22.
Identifiers for SCORM Global Objectives
The SCORM 2004 specification allows success status and scores to persist for global learning or competency objectives. Precautions must be taken to avoid accidental collisions between objective identifers. Also, in practice this feature is often perverted to provide a kind of variable to allow communication between activities. This can unfortunately lead to the pollution of LMS data stores with persistent records for meaningless data that do not correspond to any actual learning or competency objective. This new document at http://www.ostyn.com/standards/docs/globalobjbp.htm
describes the issues and proposes some proactive best practices to problems in the future.
More on cross-domain SCORM
Ran across a good article at http://thedesignspace.net/MT2archives/000206.html
describing a cross-domain solution that works when both servers are in the same LAN, using IIS. The article also describes some of the issues to watch for when constructing the URLs to avoid problems with Mozilla and Safari.
A number of people have tried the little cross-domain demos on my web site. Many seem content to check the first demo but don't exercise the second one. Need to make it more amusing, I guess... The logs show at least one person tried to link the second demo to a live SCO in another domain in Eastern Europe. This was of course blocked since every proxying that is not allowed is blocked, but if someone has SCOs online somewhere and wants to try it out we can arrange to add a rule to allow forwarding, as long as it is to a trustworthy site.
What should we be teaching?
Watching Ken Robinson, author of "Out of Our Minds: Learning to be Creative", talking to the National Governors Association on C-Span. Take a look, if you can, at his writings such as http://www.ecs.org/html/projectsPartners/chair2005/docs/Sir_Ken_Robinson_Speech.pdf
Too much focus on content, too much focus on assessments gets in the way of teaching creativity. China got the message. They are engaged on a major educational reform which goes exactly contrary to the content-centric, assessment-centric model that is stifling education in some Western countries. Innovation is what made America great. Ironically, it seems that the emphasis on "basics" content and standardized testing will stop what made American success possible. Robinson believes that creativity can be developed systematically. Creativity is applied imagination. Innovation is putting the ideas into practice.
Which brings one back to Seymour Papert's sardonic article about the "3 R's" http://www.papert.org/articles/ObsoleteSkillSet.html
Ironic, isn't it, that I've developed such an expertise in technology standards such as SCORM when they are mostly used for traditional content-centric, teach then test trite content that hinders rather than fosters creativity and innovation? Those are only tools though. The great education comes not from teacher-proof or trainer-proof curriculum and tools -- the question becomes, how can great teachers, trainers, coaches and mentors make this stuff work for them? Not as the only tool, not as the only hammer, but as a useful part of the toolkit that any innovator can use to help foster whole person learning, and along with that the creativity and innovation that lead to true performance. "The problem in education is not that we aim too high and fail, but that we aim too low and succeed."
for a very useful page of online help for developers. I have not tried HPR myself, but I'm very interested in hearing about other people's experience with it.
Another SCORM perspective - scormwatch blog
Another source of SCORM news from a slightly different perspective is Judy Brown's http://scormwatch.typepad.com/
) founded the ADL Academic Co-Lab and has a long and distinguished record of making things happen eLearning.
An obscure bug in the cross-domain demo
This post is for SCORM techies only. While reviewing web server logs I ran across an odd bug. Many people have run my cross-domain demo at http://www.ostyn.com/standardswork/xdomain/remotecontentdemo.htm
. In that demo, content from 3 different servers appears on the same page. Content from two of those servers can communicate in spite of cross-scripting security blocks in the browsers, because it is actually served through reverse proxy that enforces security. The second demo on the page uses a test wrapper (which can function as a SCO) that acts as runtime environment for a demo SCO. When it is inialized, the test wrapper reads a launch parameter that specifies the SCO to launch. The wrapper and the SCO come from different domains, but both are accessed through the same reverse proxy so they can talk to each other. However they can't talk to the demo page since that one comes from yet another server. Now the bug: The log showed that for some people the SCO that was supposed to be loaded through the reverse proxy did not get downloaded. To make a long story short, I finally tracked that down to a cross-scripting "feature" of FireFox that caused the test wrapper initialization script to die before it could load the SCO.
The "wrapper" in the demo tries to discover an API object because it doesn't know whether it is running standalone or in a LMS. The discovery algorithm fails in FireFox because of an unexpected side effect of the FireFox scripting security implementation, and the rest of the initialization fails silently. Once this could be diagnosed, it was a relatively simple matter to fix the API discovery script to handle FireFox gracefully. This is documented in a new scripting resource document at http://www.ostyn.com/standards/scorm/samples/api_discovery_ff_issue.htm
XML and the SCORM CMI data model
Added a new document to SCORM Tech Resources. The SCORM 2004 content object communication data model is based on an IEEE standard: IEEE 1484.11.1-2004. A companion IEEE standard, 1484.11.3-2005, specifies an XML schema for that data model. LMS or other application developers who wish to use XML can use that standard schema. This new document is a brief overview of the standard and how it relates to the SCORM CMI data model. This document also discusses applications of the schema for reporting or for specialized applications. Available through the SCORM Tech Resources page
Microsoft adds SCORM to SharePoint
The Microsoft SharePoint Learning Kit and the SharePoint Community Kit just got unveiled. It includes support for SCORM 2004 and SCORM 1.2. More details at http://www.microsoft.com/education/slk.mspx
Download from CodePlex at http://www.codeplex.com/Wiki/View.aspx?ProjectName=SLK
This is interesting because it is not centered on a LMS but rather on SharePoint, the kind of community portal Microsoft is positioning as the hub for all your activities, much more than learning administration and delivery. While it supports assignments and grading, this approach uses SCORM learning content as part of the blend of resources in a learning community's online site. This product is aimed at the Education market, but the Community Kit is free for anyone, including corporate users of SharePoint. And the price is right... of course, it assumes that you are running a SharePoint site.
The other big news of course is that it means that Microsoft is now officially putting serious weight behind SCORM.
I'd be interested in seeing reviews from anyone who tries it.
Updates for PopSCO, Prodding SCO, pages
Minor updates to PopSCO and the Prodding SCO that can be used to test a LMS or learn interactively about the SCORM API. Updated the description pages to make them more usable, and also updated the SCORM 2004 Test Wrapper page to better explain how the wrapper can be used for testing. All accessible through http://www.ostyn.com/resscormtech.htm
Launching courses in a pop-up vs. in a frame
There has been a very interesting thread about this controversial topic on the Brandon Hall forums at http://groups.yahoo.com/group/brandonhall-lms/
This is a problem that is not going to go away any time soon, and one needs to be rather clever in solving it and still making content interoperable. The solution that works with one LMS is not likely to work with another, unless it is carefully crafted.
GUIDs and other identifiers
My just reposted notes on how to generate robust globally unique identifiers (GUIDs) available at http://www.ostyn.com/standards/docs/guids.htm
seem to be timely considering the discussion on the adlnet forums
of SCORM global objectives and what it means to have them "system global" or "local" in scope. The safe way, of course, is to always use globally unique objective identifiers, but lack of time sometimes make us take shortcuts we regret later. An identifier that is not truly unique can be like a time bomb.
At the end of the SCO: To close or not to close
You created a wonderful SCORM conformant SCO. Now you run it in a LMS. This particular LMS opens a new window and plays your content object in it. Or it plays your SCO in a frameset. All is well until the learner reaches the end of the SCO. But now it just sits there, even though the learner should no longer be able to do anything with it. The situation is confusing. How do you solve this problem? How do you explain it to your client or manager? Added an article to try to answer this question in plain English at http://www.ostyn.com/resscormtech.htm#scripting
Web site reorganization
This week I broke the popular Resources page into several separate pages for different kinds of audiences. I am trying not to break any of the existing links so that shortcuts someone might have will still work. At the same time, a new navigation bar at the top of the main web site pages should make it a little easier to find things, and the pages have been reconstructed using CSS to make them more accessible.
Also added this blog. The blog allows comments. The comments will be moderated, since unfortunatelly blog spamming has become a fact of life. I hope that some interesting discussions will happen here. If not, the blog will at least be a journal of the updates and additions to the web site, in particular SCORM and competency data standards information.