Sunday, February 7, 2010

What is SCORM 1.2?

For an eLearning standard that has been used in the industry for the last ten years, there remains a surprising lack of understanding about what the SCORM standard is, and what it can do for training groups.  With this blog post, I hope to clear up some of this mystery.  I’ll describe SCORM 1.2 and, in a follow up post, describe the differences between SCORM 1.2 and SCORM 2004.

SCORM stands for Shareable Content Object Reference Model; it was created by the US Defense Department’s Advanced Distributed Learning (ADL) Initiative (http://www.adlnet.gov).  While one of the ideals driving the SCORM’s creation was to promote content reusability and thus —more grandiosely – to facilitate the emergence of a “content ecosystem” in which learning professionals could mix and match already existing pieces of content to suit their educational needs, the reality is that the initiative has been more successful at simplifying course “packaging” and structural organization, and standardizing how courses communicate with an LMS, than creating reusable content objects.  To arrive at the SCORM standard, the ADL took the best of several existing learning standards (the airline industry’s AICC structural and communication protocols; the IMS GLC’s packaging standards; certain aspects of the European ARIADNE initiative) and combined them.  It used JavaScript (technically, the more platform-neutral ECMAScript) as the language for communication between the LMS and courses, and set strict standards on storing course/learner information (such as completion, score, time in course, et cetera).  Because of the ease of its implementation, and its more comprehensive and (arguably) web-native approach, the SCORM very quickly beat out AICC as the de facto corporate eLearning course integration standard.

SCORM 1.2 has two primary components:  The Content Aggregation Module and the Run-Time Environment. The Content Aggregation Module defines how courses are required to be packaged in order to be considered SCORM conformant.  A course must be packaged as a single zip file that contains:
  • Course Resources: These are the course’s content files.  They may be in any folder structure and contain any web-deliverable content.
  • imsmanifest.xml:  This is an XML file that contains all the metadata for the course.  It defines values for data elements such as the course title and code, a list of all course resources, a course description, the course structure, a list of course SCOs, a mastery score, and other structural and definitional information.  This file must be at the top level of the zip package and can NOT be in a sub folder.  This document’s structure must conform to an XML schema maintained by the ADL.

(So what is a SCO anyway? A SCO is a Sharable Content Object.  This is the lowest level of learning content contained in a course, and is the basic building block of learning, envisioned by the SCORM’s creators to be able to be re-purposed for any number of different courses.  Each SCO, after course upload, is listed in the LMS-created table of contents, and is tracked separately from the other SCOs in a course.  In order to simplify learner interactions with learning content, however, many course developers choose to make courses consisting of a single SCO, with this SCO containing all of the course content.  This allows greater control over the look and feel of a course’s table of contents or index, as well as over the order in which learners encounter each section of content. )

The Run-Time Environment defines the details of how the SCO can communicate with the LMS.  It specifies what commands must (or can) be called at what point, what acceptable data can be stored in the LMS, and how those data need to be formatted.  For example, the variable field cmi.core.lesson_status (which tracks the status of the course in the LMS) may only be set equal to one of the following values: “passed”, “completed”, “failed”, “incomplete”, “browsed” or “not attempted”.  Attempting to have the course set this field to any other value will cause the LMS to throw an error.  This level of detail is specified for all supported data elements, and extends in some cases to prescribing data type (e.g., “integer” or “text”) and allowable character-length.

The complexity inherent in developing a standard for an industry with multiple vendors and implementers at different levels of conformance and technological sophistication can cause, and has caused, some confusion around its implementation, particularly with regard to the data model.  For example, there was one significant mistake around the data model definitions in the SCORM 1.2 standard: it allowed certain objects in the data model to be optionally supported by a conformant LMS.  This was true for both the Interactions elements (which capture and store information around quiz and assessment questions) and the Objectives elements (which can be used to store learner states – score; completion progress; etc. – for specific course objectives).  Although many LMSes supported these optional elements, many others did not; and a course creator  often wouldn’t be able to tell the level of support for these elements until the course was deployed on the LMS.  This meant that course builders couldn’t guarantee that administrators would be capable of doing, say, question-level item analysis on a course’s assessments or quizzes, even though the courses had been built to accommodate this need.  This issue has been resolved in SCORM 2004.

With the definition of the Run-Time environment and Content Aggregation Model completed, the SCORM 1.2 standard was released.  Due to its straightforwardness and ease of implementation, it has become the most used eLearning standard in the corporate United States.  It counts over 160 “certified conformant” learning products, with 85 of them being Learning Management Systems.

If you are interested in delving deeper into the SCORM standard, you can access all of the SCORM documentation on the ADL site at http://www.adlnet.gov.  Also, you can check to see if your LMS vendor is SCORM certified at http://www.adlnet.gov/Technologies/scorm/Custom%20Pages/Certified%20Products.aspx.

* I would like to thank Ted Blanchard for contributing to this entry.

Thursday, January 28, 2010

Three hurdles to using an open source Learning Management System in a corporate environment.

Are you tired of paying hundreds of thousands of dollars for a system that doesn’t meet your needs? Have you heard you can save big on an open source solution like Moodle or OLAT?  Well, don’t put away your checkbook quite yet.  Although you can save significantly in the long haul, there are a number of issues that you will need to overcome, and these can take time and money to make happen.  The biggest offenders are:

  1. Management Hierarchy: Open source systems are usually funded by academic institutions and, therefore, serve the academic audience.  They don’t have much use for management hierarchies and most of systems don’t support them.  This means if you want your managers to be able to look at their employees, training (and only their employees’ training), you are going to have to extend the system or come up with some fancy reports.  Either solution can be troublesome to implement.
  2. Activity Completion: In a corporate environment it is essential that a manager be able to verify that his/her employees have completed all training necessary to do their jobs.  This is true whether the “training” consists of an online course, a pdf, a virtual session or an instructor-led class.  Many open source systems only record completion for activities that have assessments or can be graded (such as ILT sessions).  This can be problematic or even — in the case of regulatory requirements — a show-stopper.  If this is a requirement for you, you may need to either extend the completion functionality of the system or create some custom course wrappers that allow completion for non-graded course types.
  3. Domains:  It is often vital for organizations to separate particular groups of users and administrators to keep them from being able to access specific content or other groups of users.  Regardless of whether this is because of intellectual protection requirements or simply to prevent administrators in one department from altering other department’s courses, this is often an essential component of most enterprise LMS implementations.  Many open source systems do not support the ability to segregate users or content this way.  If this is a requirement, there can be some significant customizations to get this level of functionality.

Every system (open source or private) will have their own hurdles to working effectively in your organizations.  Just because open source solutions may have some significant hurdles to implementation doesn’t mean that they are not worth the effort.  When you don’t have to pay annual licensing fees, you can spend more on development of the system to bridge any gaps and still save money.  As long as you look at the long term, and establish realistic expectations of what it will take to make the system fit your needs, an open source LMS may be an option for you.

Tuesday, January 19, 2010

What are the minimum requirements for a Learning Management System?

The question of selecting a Learning Management System (LMS) is one the most significant decisions a learning organization will make.  The LMS will be the central location users will to access training for years. Since it is a new year, I decided to list the five most basic components that all Learning Management Systems should support for me to even consider them.
  1. SCORM compliance.  There was a time when every LMS had its own proprietary course format, but those days are over and if you encounter a system that doesn’t support SCORM, you should look elsewhere.  It should, at minimum, be SCORM 1.2 compliant and be listed on the Advanced Distributed Learning site (http://www.adlnet.gov).
  2. Data import utilities and bulk actions.  When you have more than (say) a hundred users, it is extremely time-consuming and expensive to maintain the system using only an administrative web interface.  Most systems will have a way to do an initial data import of users and transcript history, but, at some point, it is inevitable that you will need to make a change for a large number of users (or courses).  If the system doesn’t support the ability to make bulk changes through the web interface or an accessible API, you will regret not making this a requirement.
  3. Customizable reports.  Getting access to data is one of the most important functionalities of an LMS, and yet many systems do not have the ability for administrators to easily create custom reports.  Even if you think you only need course completions and scores now, those requirements could easily change down the road, and then you will need to pay to get that functionality added to your system (often an expensive proposition).  Whether it is creating reports directly against the database or using a web-based WYSIWIG report engine, it is essential to have the ability to get the data that you need when you need it.
  4. Reliable and responsive Support.  System support is essential to an LMS’ success, and yet enterprise-level solutions are notorious for having horrible system support.  They may solve an issue, but it often takes weeks and numerous meetings to get any momentum.  This can be more than a little frustrating when you need to spend hours creating hacky customizations just to make the system work the way it should. So, make sure that any vendor does more than just pay lip service to supporting their product.  
  5. Cost-appropriate features.  Learning systems can have a wide assortment of features.  They can include special assessment and analytic tools, synchronous meeting integrations, competency management, asset management, wikis, forums, et cetera.  Often these features were built to fit a specific client’s requirements and then folded into the base offering, rather than having been designed as part of a comprehensive product “road map”; still, LMS vendors can justify a high base price because of all the included features.  Once you have an understanding of the features that you will use, make sure that you are not paying for all the ones that you do won’t.

This clearly is not a comprehensive list of what I look at when I am selecting an LMS vendor, but if the system doesn’t meet these requirements, I look elsewhere.

Tuesday, December 15, 2009

Is an Open Source Hosted Learning Management System Truly Free?

When I launched my hosted Moodle Learning Management System (LMS) solution, I had a number of people ask me why anyone would pay to have you host a solution that is free.  That made we realize that many people don’t understand that just because you don’t pay licensing fees does not mean that there aren’t costs to set up the system and keep running.  There are numerous overlooked costs that can prevent the system from being successful and cost more in time and effort than was anticipated.

To reduce the likelihood of others falling for the same mistake, I have decided to list some of the “hidden” costs of an open source solution.

  1. Hardware – This is probably the most recognized cost when dealing with open source software.  At minimum, you will need to have a server to host the LMS; what is sometimes overlooked is that you may also need systems and servers for supporting the LMS, such as backups (external drives) and/or monitoring tools.  Having a backup process and monitoring tools that determine system health are two often-neglected necessities for all systems. If you are moving all your training materials and records into a digital format, it would be irresponsible (and costly) to not protect them from catastrophic loss with tools like these.
  2. Support – All users of your system, whether learners, developers or trainers, will need a way to get support on the system.  This crucial aspect of implementation often gets overlooked until system launch, when the owner suddenly has to spend a good deal of unanticipated time helping users launch –and absorb –a  live demo on how to use the LMS.  Even for smaller implementations it is essential to plan for comprehensive user support, both rollout-focused and ongoing,  and include it in the project budget from the beginning.  A user’s first impression of a new LMS and training solution can often make or break the rollout.  If users need support and can’t get it, it is unlikely that they will support the tool in the future.
  3. Maintenance – One of the big hidden costs of these systems is standard maintenance.  Whether it is essential security updates, features enhancements, or hourly backups, it takes time (which isn’t really free) and detailed knowledge to keep a system stable.  This is another aspect that often gets brushed under the rug, but well-planned and -executed standard maintenance practices really are essential to making the LMS a viable long-term training solution.
  4. Expertise – The cost of not having enough expertise is a tricky thing to calculate.  Every failed upgrade, implementation mistake and poorly designed solution will have a significant financial cost as well as souring user sentiment towards the LMS.  In the long run, you often will end up paying more for a lower-quality solution.  When you work with skilled experts, not only can they help you avoid common pitfalls, but they also can help guarantee that your solution meets your needs at a higher level of quality.  Although there is a cost to bringing experts into a project, their influence can have a very positive effect on the project’s outcome and can reduce the long-term costs of the solution.

These are just a few costs that many people don’t take into consideration when contemplating an open source solution for their Learning Management System.  Although they are still very low when compared to an enterprise LMS licensing fee, they should be planned for and kept in mind when comparing an in-house open source solution against an externally hosted one.  With the rise of low-cost hosting solutions, you can get high-quality solutions at a true cost that would often be lower than that of doing it yourself.  Once you have spent a few days trying to debug a system issue, you may also realize that the cost may be worth it.

Monday, November 30, 2009

From an LMS integration perspective, how turnkey are the off-the-shelf eLearning solutions (Articulate Presenter, Adobe Presenter, et cetera)?

With the eLearning industry moving from relying mostly on proprietary systems to utilizing standards-based eLearning (within the framework of the AICC and SCORM), off-the-shelf eLearning creation tools are positioned to make eLearning cheaper and easier to deploy than ever before.  That said, they may still need to be tweaked to work on your LMS.

Over the past few years authoring tool vendors such as Adobe and Articulate have made huge strides in both reliability and conformance with the SCORM and AICC standards.  They have become relatively cheap to purchase and – with a good Instructional Designer and eLearning Developer – can be used to create engaging and effective training.  But because every Learning Management System and authoring tool implements the standards differently, there is often a gap that will need to be bridged to get your courses to work properly on the LMS.

Many times, this will simply involve changing a few undocumented configuration files or downloading a patch from the vendor.  I had a client running the Saba LMS for whom I was developing a course in Articulate Presenter ‘09.  The problem I ran into was that the course would never display a status of  “complete” when deployed on the LMS, no matter what the user did.  In this case, I discovered that Articulate had already solved this issue and made a patch available; but there are plenty of times when I have had to go into the code and tweak a setting here and there to get a course to work on a particular system.

In addition, some systems may extend the standard or have custom configurations.  For example, the SumTotal TotalLMS has the option of using SCORM extensions to alter how the course will look and function in the LMS.  You can configure various controls, turn on or off study aids and course progress information, and set the size of the course launch window.  This information must be added to the course’s imsmanifest.xml file for the LMS to configure these values: the default is for these extra controls to be displayed (which is usually the opposite of what is desired).  This requires the course creator to manually reconfigure the manifest to configure these settings after the eLearning tool has built the course.

What this all means is that the tools are supporting the standards, and the Learning Management Systems are supporting the standards, but unfortunately there often is still a gap between the two.  This gap is smaller than it was before (and easier to overcome), but you will still periodically need to do some tweaking to the courses to get them to work properly on the LMS.

Although you may very well run into issues like these when building LMS-launched courseware using off-the-shelf authoring tools, you can overcome them fairly easily, and these tools are getting more capable and effective every year.  If you are not using them now, you will likely be using them soon.

Friday, November 13, 2009

What Do You Say To an LMS Vendor Who Claims To Support a Tool?

The short answer: Show Me!

The long answer: As with any change to your training solutions, you should perform an appropriate amount of due diligence before taking a Learning Management System (LMS) vendor at their word when they claim support for a tool or standard.  I find that often when the LMS vendors say they support a specific tool, what they mean is that they support only the most basic functionality of the tool. Because of this when you look at a tool and see functionality that you want to leverage with your LMS, be sure to validate that specific functionality is supported. 

You need to think about the LMS vendor’s motivation.  They want to include as many bells and whistles to help convince a customer to sign a multi-year contract with the least amount of effort.  This means they will support many different tools, but also that the depth that their support may not be as extensive as you would like.  I see two main reasons for this behaviour:

  1. Many LMS vendors in the course of business will add custom functionality based upon the needs of one client.  Vendors will often re-use a customization that one client required and fold it into their base systems. This is great if you happen to use the tool in the same way as the previous client, but if you don’t, you may be in for a rough and expensive ride extending the system to meet your own requirements.
  2. The other reason I see is that a vendor can be driven by a general industry requirement to support a tool or standard.  They know that if they don’t say they support it, it will be a hurdle to getting new business.  What this often means is that they will implement the minimum functionality to be able to truthfully claim they are compliant with the standard or support the tool, but will not support anything beyond the very basic requirements.  I have seen this often with eLearning standards.  For example ask any SCORM 2004 compliant LMS vendor what standard reports they include for displaying the SCORM interactions data for a course.  The SCORM 2004 standard requires the LMS to support storing this information, but it does not require the ability to report on it.  There are many tools that record this question-response information (Articulate Presenter and Adobe Presenter to name two), but many Learning Management Systems would require a custom report to display this information.  This has a predictable impact on time and budget for clients who need ready access to this data for crucial ROI and business intelligence reasons. 

Because of this potential gap between a client’s needs and the level of support the vendor may provide, It is essential to verify that the system can completely fulfill not just some but all of your requirement.

Sunday, October 25, 2009

Should I make my homegrown LMS SCORM compliant? (Volume 2)

In the last post I examined what it would take to add SCORM functionality to an existing homegrown LMS.   Now I'm going to look at the alternative, which is to migrate to a new system.  This is often a daunting task and companies will often stay on an inappropriate system for years, just to avoid having to go through this  process.  It is not an insignificant task, but with proper planning and implementation support you can avoid many of the pitfalls.

To move from you homegrown LMS, you will need to take several components into considerations, specifically:
  1. You will need to determine what historical data is essential to migrate to the new system.  Most of the time this will simply be user completion and score, but sometimes there is a need to migrate more specific data.  This completions and scores should migrate easily and most LMS vendors have tools to support this.  To migrate additional may be significantly costlier as it is less common for vendors and often they won’t have tools to support this custom data.  That said you may also need to make sure that the LMS can easily report on this additional data.  Vendors often won’t have an easy way to run reports outside of their usual data sets.
  2. You will need to recreate or update any external system integrations.  This most often will include integration with HR systems, but it may also include external course tools such as Adobe Connect and Pedagogue, among others.
  3. You will need to understand what it will take to migrate existing courseware to a SCORM compliant format  This may be as easy as creating a simple SCORM wrapper for the course to rebuilding the courses in new tools.
  4. You will need to determine how you will structure your learning in the new system.  This will be core to how users access the content and what it takes to administer and maintain the content.  The more complicated this structure is, the more expensive it will likely be to implement.
  5. You will need to look at how the new system will affect your current training process, deployment and reporting.  How does the new system alter your training options/solution?  Although this does not have an easily quantifiable cost, it can have a profound impact on the effectiveness of your training.
  6. Finally, you will should to account for additional costs of the system, such as licensing and support.
Although both adding SCORM to your homegrown LMS and migrating to a different LMS may look like expensive solutions, with the rise of low cost Learning Management Systems, this may no longer be the case.  Once you remove the expensive annual licensing fees and, since you have more control over the implementation costs, you can make migrating to a new system as viable an option as keeping and maintaining the current system you may have.

Every situation is different and there are many additional criteria that will affect your decision, but I think it is essential to look at several options before you decide which direction to go and I hope this breakdown may provide some guidance in determining your optimal learning solution.