Blogs
Look out everyone. This post is going to be thrilling! We’re talking website semantics, rss feeds, and where you can find information! Digg this post, bookmark it, tweet away, because this is hot, hot stuff.
More or less, I want you to be able to get at all of the information we have these days. We are, frankly, writing a lot, and I’d hate for you to miss something useful.
Our blog feed (probably how many of you got here) is available here. This will have product information, standards evolution stuff, and general software development thoughts.
Our support forums feed is available here. These support forums are probably the biggest news item in this post. More and more we’re helping our customers and non-customers alike in a public forum so everyone can benefit from it. This can even be segmented down into certain products or tags… you can get what you want in that regard, or you can simply search from this site and discover solutions in both places.
If you’re really bored, you can follow @timpmartin on twitter. This feed will spare you my personal minutiae.
And lastly, if you just love us, then you have this option. One big, bad feed with everything that we write. Those of you who are really hard core will follow this one. Support posts, blog posts, twitter posts, fence posts… they are all available here.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:54am</span>
|
ADL recently published a new website, but unfortunately didn’t include any 404 redirects so that old links will go to the proper new page. It can be kind of hard to find some of the things you might be looking for. Most notably, it seems as if there is no direct link to download the specifications, conformance test suite (CTS) and sample run-time environment (SRTE) for old versions of the standards like SCORM 1.2 and the prior editions of SCORM 2004. If you dig around a bit though, they are still there. You have to poke around in the breadcrumb that appears at the top of the page when you get to other downloads. Here are some direct links for your convenience:
Download SCORM 1.0 - Specification Only.
Download SCORM 1.1 - Specifications (look for the zip file under the mislabeled "Documentation Suite (SCORM 1.2) " folder), and Sample Run-time Environment (be careful, there are other files from other SCORM versions that are mixed up in this folder).
Download SCORM 1.2 - Specifications, Conformance Test Suite and Sample Run-time Environment (all clearly marked).
Download SCORM 2004 2nd Edition - Conformance Test Suite and Sample Run-time Environment (all clearly marked), Specifications seem to be available in French only. I imagine they will fix that soon, but in the meantime here is the English version of the SCORM 2004 2nd Edition Specifications.
Download SCORM 2004 3rd Edition - Specifications, Conformance Test Suite and Sample Run-time Environment (all clearly marked).
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:54am</span>
|
Well, we’ve been living very publicly here at Rustici Software lately. While it’s not quite The Real World or anything like that, we’re becoming progressively more open about our approach and direction. This week, I’ve been working with our legal folks on our click through agreement for the SCORM Cloud. We’ve had great success publishing our term license agreement with annotations. Prospects and clients alike seem to respond to the clarity afforded by one layman’s annotations (mine), so I figured I’d try something similar here.
Now that our lawyers are reasonably happy with the state of the click through agreement, I thought I’d share it here and see if anyone would like to comment. Please understand, I make no promise to change this agreement because of your comments! Certain elements are important to our legal staff, and are untouchable. I tried to convince them, for example, that using all caps for the warranty and limitation sections was like screaming. I said, "It’s bad form on the internet." They said…
The Warranty Disclaimer and Limitation of Liability sections have to be in all caps because the courts (including Tennessee) have held that any language in a contract that deals with allocation of risk (i.e.waivers or releases of liability) needs to be conspicuous. All caps has been held to be "conspicuous." If you don’t like the all caps, we could highlight the language, bold it, or put it in a larger and different font than the rest of the agreement.
I have concluded that blinking text is the right solution.
Having said all that, I really do want to hear what you have to say. I figure that this agreement will be public soon enough, and if we’re going to hear complaints about it when we start using it, we might as well hear those complaints ahead of time.
So, is there anything in the language below to which you react adversely? Do you understand what you’re entitled to do and how you’re limited? Is this a click through agreement you could tolerate as you build applications around the SCORM Cloud?
Lastly, I apologize for the length of the document. At one point, I begged Amy to "cut 30% of the document". She certainly did her best, and I think the result is something simpler and more direct.
Alright, you may either click away to something else (as I would) or, if you’re bold, enjoy the legal document!
___________________
RUSTICI SCORM CLOUD SERVICE TERMS OF USE
BY CLICKING THE "ACCEPT" BUTTON, YOU ACCEPT AND AGREE TO BE BOUND BY THE BELOW TERMS OF USE WITH REGARD TO USING THE RUSTICI SCORM CLOUD SERVICE ("SERVICE") PROVIDED TO YOU BY RUSTICI SOFTWARE, LLC ("RUSTICI"). IF YOU DO NOT AGREE TO THE BELOW TERMS OF USE, CLICK "DECLINE" AND DO NOT USE THE SERVICE.
TERMS OF SERVICE
1. You must use the Service only in accordance with these terms and conditions and the instructions, manuals or other materials regarding use of the Service that Rustici makes generally available to its customers.
2. You must comply with all applicable laws during the exercise of your rights under these terms and conditions (including but not limited to all copyright and export laws).
3. You are responsible for maintaining the security of your account and password. Rustici accepts no liability for any loss or damage from your failure to abide by this provision.
4. You are responsible for all content and materials posted to the Service and activity that occurs under your account.
RESTRICTIONS
1. You must not use the Service to store or transmit infringing, libelous, or otherwise unlawful or tortuous material, or to store or transmit material in violation of third-party privacy rights.
2. You must not use the Services to store or transmit viruses, worms, time bombs, Trojan horses and other harmful or malicious code, files, scripts, agents or programs.
3. You must not interfere with or disrupt the integrity or performance of the Service.
4. You must not attempt to gain unauthorized access to the Service or its related systems or networks.
5. You may not use the Service for any illegal or unauthorized purpose.
6. You must not modify, adapt or hack the Service or modify another website so as to falsely imply that it is associated with the Service, Rustici, or any other Rustici service.
PAYMENT
1. A valid credit card is required for paying accounts. A credit card number is not required for a free account.
2. You will be billed monthly starting on the 30th day after your account is created.
3. The Service is billed in advance on a monthly basis and is non-refundable. There will be no refunds or credits for partial months of service or refunds for months unused with an open account.
4. All fees are exclusive of all taxes, levies, or duties imposed by taxing authorities and you shall be responsible for payment of all such taxes, levies or duties, if applicable.
WARRANTY DISCLAIMER
THE SERVICES ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE EXPRESSLY DISCLAIMED.
LIMITATION OF LIABILITY
IN NO EVENT WILL RUSTICI BE LIABLE FOR LOST PROFITS, OR FOR ANY INCIDENTAL, CONSEQUENTIAL, OR SPECIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY ARISING OUT OF OR RELATING TO THIS AGREEMENT, THE USE OF OR INABILITY TO USE THE SERVICES OR ANY MATTER RELATING TO THE SERVICE, EVEN IF RUSTICI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. RUSTICI’S TOTAL LIABILITY UNDER OR ARISING OUT OF THIS AGREEMENT SHALL NOT EXCEED THE AMOUNTS PAID BY CUSTOMER FOR THE SERVICES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY PROVIDED IN THIS AGREEMENT.
TERMINATION
1. You may terminate your account and access to the Service at any time by submitting such termination request in writing to Rustici at support.cloud@scorm.com.
2. If you cancel the Service before the end of your current paid up month, your cancellation will take effect immediately and you will not be charged again.
3. Rustici, in its sole discretion, has the right to suspend or terminate your account and refuse any and all current or future use of the Service for any reason at any time.
4. Cancellation or termination of your account will result in the deactivation or deletion of your account or your access to your account. All of your content and materials will be immediately deleted from the Service upon termination or cancellation.
MODIFICATION TO SERVICES
Rustici reserves the right at any time and from time to time to modify or discontinue, temporarily or permanently, the Service (or any party thereof) upon notice, provided Rustici may not provide notice if such modification or discontinuation is for security or emergency maintenance purposes. You agree that Rustici shall not be liable to you or any third party for any modification, suspension or discontinuance of the Service (or any part thereof).
OWNERSHIP
1. You acknowledge that as between you and Rustici, Rustici owns all right, title and interest in and to the Service and the accompanying documentation and all related modifications and enhancements.
2. You have no right to the Service except to the extent expressly granted in these Terms of Use and Rustici reserves all right, title and interest in and to the Service.
3. Rustici shall have a royalty-free, worldwide, transferable, sublicenseable, irrevocable, perpetual license to use or incorporate into the Services any suggestions, enhancement requests, recommendations or other feedback provided by you, relating to the operation of the Services.
4. So long as you are using the Service, you may build applications on top of the Service. Rustici claims no intellectual property rights over the material you upload to or build on top of the Service. Your uploaded material and material sitting on top of the Service remains yours. However, by setting your pages to be shared publicly, you agree to allow others to view and share your content.
5. Rustici does not pre-screen content, but Rustici has the right (but not the obligation) in its sole discretion to refuse or remove any content that is available via the Service.
ENTIRE AGREEMENT; MISCELLANEOUS
These Terms of Use are the sole and complete agreement between the parties and supersedes all prior agreements and understandings between the parties respecting the Service. The waiver of a breach or the failure to exercise any right hereunder shall not be a waiver of any subsequent breach or as a waiver of any other right. If any provision in these Terms of Use is determined unenforceable, such unenforceability will not affect the enforceability of the other provisions of these Terms of Use. The Terms of Use shall be governed by the laws of the State of Tennessee. Any dispute will be resolved in the state or federal courts, as appropriate, located in the Middle District, Tennessee. If there is litigation between the parties related to the Service, the prevailing party can recover its reasonable attorneys’ fees and other reasonable litigation expenses. The sections of these Terms of Use entitled "Limitation of Liability," "Ownership," and this "Entire Agreement; Miscellaneous" will survive after the termination or cancellation of these Terms of Use.
Questions or notices for Rustici can be sent to support.cloud@scorm.com.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:53am</span>
|
My recent vacation seems to have inspired Tim to write a few blog posts. I love that he did, but I think he missed an important point in his post about why we chose not to release the SCORM Engine under an open source license.
While Tim may be the kind of guy to replace the toaster when it breaks, I’m a bit more inclined to do a bit of tinkering before giving up on it entirely. While I certainly don’t agree with the entirety of Richard Stallman’s philosophy, I do agree that a user has the right to tinker. This is something we’ve embraced since the very beginning of our company; nearly all of our licenses include access to the source code of the purchased product. We do not offer a no cost license nor do we offer a license that requires unencumbered distribution. We do most definitely however provide licenses with open source code.
We don’t provide this access out of the goodness of our heart or because we think there is a moral imperative for software to be free. We do it because it makes good business sense. Here’s why:
1) We’re a small company, when we sold our first SCORM Driver license (then known as RSECA), we were two guys working out of a spare bedroom. We’re a bit more established these days, but on the grand scale of things, we’re still a small software company. Small vendors make big clients nervous. Let’s face facts, the odds are against the long term survival of any small company. Nobody wants to be stuck with a product from a defunct company. This is especially true for our products since so much of the value we provide comes from our continued enhancement of the products to track the continued evolution of the standards. Providing our source code in one way to greatly mitigate the concerns that big companies have in doing business with small companies. Even if we disappear, our clients will always be left with something they can continue to work with.
2) Our products are generally very tightly integrated into our clients’ products. To achieve this level of integration, some coding is almost always required. While we’ve isolated all of this work to our customizable integration layer, it is often quite nice to be able to reference the core source code directly to see how things work and explore what methods are available.
3) We sometimes get "free" help from our clients. Our clients are typically software developers themselves, many of whom love to track problems down all the way to their source. On the very, very, very rare occasion that there is a bug in our software, our clients can sometimes point us right to the problem and right to the fix they have already implemented in their system. We welcome anything that makes our lives easier, so thanks!
4) The biggest challenge we face when deploying the SCORM Engine is the fact that every LMS is slightly different. While there are many commonalities, each system has its own set of features and quirks that make it unique. For the SCORM Engine to be tightly integrated, it must be able to reshape itself to be consistent with each of these quirks. Over the years, we’ve seen enough of these that in most cases the integration layer is flexible enough to handle whatever requests are thrown at it. Occasionally however a client has a need that requires a customization. Providing them with the source code allows us to be able to make the required customization just for them while we build the flexibility to make that customization through the integration layer into our core product. Being so tightly integrated, clients occasionally want to modify the SCORM Engine to be implemented consistently with the rest of their code base. We generally discourage any customization since it hinders our ability to provide clients with future updates, but by providing the source code, we are able to let clients make the best decision for their particular needs.
5) Our products are at the very core of our clients’ products and they are vital to the operation of the products they serve. We provide very important and very visible functionality to our clients. It is important enough that it is worthy of examination. We recognize that the decision to outsource vital functionality can be a hard one (but also the right one!). We want to do everything in our power to make our clients feel comfortable with the quality and implementation of our products.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:53am</span>
|
The chips I often eat at lunch give me time to read a bit more broadly on learning and education than our typical SCORM minutiae. My hope is this balance helps us innovate and avoid the myopia that can overcome those obsessed with learning standards.
I found my way to a great article/aggregation of thoughts from Brad Burnham at Union Square Ventures.
Fred is suggesting that the education industry may soon face the same challenges that currently confront the music industry and the newspaper industry. Like those industries, education can be peer produced, delivered as bits, and curated by a community. Like the music and newspaper industries, the cost structures embedded in the education industry’s current business models may be very difficult to support in the face of competition from hyper-efficient, web native businesses.
Unlike the music and newspaper businesses, education plays several roles in current society.
As I’ve mentioned before, my wife is largely anti-technology with regard to learning and education. (Our kids don’t even watch TV, let alone sit at the computer for hours.) This creates a great dichotomy when thrown against the technological nature of my job and the people I’m working with on a daily basis. These folks love technology for its own sake. In truth, I think it results in great balance too… Will what we’re doing actually help learners? Is it accessible for someone who doesn’t love learning technologies for their own sake?
I have no conclusions for you today. These kinds of questions, complicated, deep questions, are what continues to make my job fun. Can we at Rustici Software provide infrastructure that plays a significant role in the reduction of the cost of eduction? Can it be pushed toward "0 + bandwidth" as Brad suggests? Can the SCORM Cloud play a role in that, and further, does SCORM even fit well with that intent?
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:53am</span>
|
SCORM Untethered is our disconnected player. We’ve built it as a set of components, and frankly, we’re not publicizing it a lot these days. It solves certain problems very well, but it has its limitations as well. (It only supports Windows clients and .NET server deployments). As of late, we’ve decided to leave Untethered as it is and see if our customers’ interests dictate changes.
Having said all that, we still do get calls regarding Untethered with some regularity. Often we do an online demo to show folks what it can do out of the box. Occasionally, though, folks prefer to do something on their own schedule, so I put together a little SCORM Untethered Demonstration Screencast. Please understand, we are not a media production company! This is low fidelity… you can even tell where someone knocked on the door, forcing me to stop and restart. And apparently I didn’t get the microphone back in exactly the same spot. Oh well.
I think this tells a pretty good story about what can be done with SCORM Untethered, though. If this is of interest to you, let us know.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:53am</span>
|
Tom King recently tweeted a great blog post on ZDNet by Jeremy Allison that teaches some great lessons about standards and the creation of true interoperability. The ZDNet post is a reaction to a post by Rob Weir that explains how Microsoft created an implementation of the ODF standard that, while strictly conformant, actually serves to reduce interoperability as a whole.
Achieving real interoperability requires that the implementer want to be interoperable. No matter how great a standard is, if an implementer doesn’t embrace it, interoperability for the industry as a whole suffers. Standards are merely tools which can be used or misused.
These discussions so closely parallel what happens in our industry that I had to repeat them here. These are some of my favorite quotes and they sum up the important points quite nicely (note the quotes are mixed from the two links above, and words in [square brackets] and emphasis are mine):
Surely if you implement a standard fully…, then you must have an interoperable product. So long as others also implement the standard as written, then everything should just work together. That’s the way things are supposed to work.
One of the reasons is that standards themselves are often not perfect…[people are] claiming the ODF standard itself is at fault.
Remember, it is not particularly difficult or clever to to take an adverse reading of a standard to make an incompatible, non-interoperable product. Take HTML…I could create a perfectly conformant browser implementation that makes all default text be 4-point Zapf Dingbats, white text on a white background. It would conform with the standard, but it would be perfectly unusable by anyone…you can create 100% conformant, but non-interoperable, implementations of most standards.
Standards are voluntary, written to help coordinate multiple parties in their desires for interoperability. Standards are not written to compel interoperability by parties who do not wish to be interoperable.
…if your sole goal is to claim conformance. If your business model requires only conformance and not actually achieving interoperability, then I wish you well. But remember that conformance and interoperability are not mutually exclusive options.
A complete cynic would say that was what was intended…causing confusion in the marketplace like this was designed to make customers scuttle back to the safety of only using Microsoft Office
Of course, I am not that cynical. I was taught to never assume malice where incompetence [lack of effort / taking the easy way out / having other priorities] would be the simpler explanation.
…the concept of "Working to Rule". When a union is trying to negotiate with management, there are a broad range of options they can take before using the ultimate weapon of going on strike. One of these tactics is "Working to Rule". Normally in a working day, there are hundreds of small rules that people ignore in order to get their jobs done. From refilling the coffee machine for themselves…to fixing small problems with the machines they use for the job. "Working to Rule" means deliberately obeying every single one of these rules…Punctilious observation of every possible rule in order to disrupt orderly working.
This is what Microsoft has done with ODF in SP2.
So how do you do real interoperability?
…we go out of our way to make sure we work with other vendors implementations. We attend interoperability testing conferences, where we work with the engineers of other vendors (including Microsoft engineers) to ensure that customers deploying any of our implementations don’t get any nasty surprises. We’ve changed our code to work with Windows 95 and 98, Windows mobile, Windows CE, Windows 7, Network Appliance, a host of un-named embedded versions of CIFS in different appliances, even old versions of OS/2. It’s not hard, it’s just careful, detailed work. The only rule is to follow the words of the Internet Engineering Task Force (IETF) for interoperability, "Be conservative in what you send, be liberal in what you will accept."
Simply substitute "SCORM" for "ODF" above and you have a great explanation to questions we are often asked.
"Why should I use the SCORM Engine instead of just using the ADL Sample Run-time Environment?"
"I took a look at the specs, I think I can do this myself, it’s just code, why should I buy your products?"
"What’s the big deal, it’s just XML and JavaScript?"
"Why is your SCORM implementation so much better than X?"
"Why does my content work in your product but not in X?"
True interoperability is the answer to all of these questions. Achieving true interoperability requires going beyond the standard. It requires implementing the intent of the standard. It requires understanding what the authors meant to say rather than just what made it into print. True interoperability means you need to be able to read the standard and interpret it as others might, be that interpretation right or wrong. Being truly interoperable requires testing, testing and more testing to ensure that your products work with everybody else’s. More importantly, true interoperability requires you to be ready and willing to make changes to accommodate other companies’ differences of opinions…and to be able to do so in a way that doesn’t conflict with other implementations. Like Jeremy Allison says, "It’s not hard, it’s just careful, detailed work." At Rustici Software, achieving real SCORM interoperability is our mission. It isn’t something we do on the side, it’s not a back-burner task. SCORM isn’t something we do once and then move it, it is a constant process of evolution and innovation.
There are some that give SCORM a bad rap. I can understand where they are coming from. Unfortunately we have an industry where several of the largest vendors have "worked to rule". Their implementations are technically conformant and they have a certification label from ADL, but they have stopped far short of achieving real interoperability. This can be incredibly frustrating to an end user and it’s easy to see how SCORM gets the blame. When you really get down into it though, SCORM is quite a good standard from a technical point of view.
I think the people often underestimate the difficulty of the problem that SCORM is trying to solve. It does look simple at first glance, but the devil is always in the details. The real complication comes from the "very many to very many" relationship between content producers and LMS’s. There are literally thousands of LMS’s out there (a fact that surprised me when we got into this business). Compare that to the number of consumers of HTML or ODF content. According to Wikipedia, just 5 web browsers make up 98.89% of the market usage. The LMS market is FAR more fragmented, yet the expectations for seamless interoperability are just as high.
Let’s just consider our expectations with HTML/CSS. Even after many generations of specifications, there are still slight variations in how web pages are rendered in different browsers. Just consider this blog home page as rendered in two of the top three browsers. Even when using the most common browsers, there are still slight differences. We know about these, they’re annoying, but it’s acceptable and those that seek to create interoperate by and large are able to.
(and as an interesting aside, compare the browser compatibility of this page, designed largely by me, vs our home page which was designed by professionals who know their way around browser quirks)
SCORM is no different, it certainly has its quirks, but by and large it enables interoperability for those who seek it. As Rob Weir says standards can’t "compel interoperability by parties who do not wish to be interoperable". What standards cannot do however, customers and markets can. If your vendor is "working to rule" and hasn’t implemented SCORM in a truly interoperable way, it significantly decreases the value you can realize from their product and it brings down the industry as a whole. Let them know that it is not acceptable. As SCORM evolves, we will certainly do everything we can do close the loopholes, but SCORM will only be truly interoperable if the industry demands it.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:53am</span>
|
I love when I come upon some independent research that informs me of something I didn’t know. Truth be told, I base a lot of my assumptions about LMS cost on the original price offered by my first eLearning employer. (List price at PureSafety back in 1999 was $79/employee/year.) I get the sense that the industry might have changed a bit since then. So, when a random tweet pointed me to this blog post, I was psyched.
Brandon Hall does a lot of independent eLearning research, most of which you have to pay for. I get that, I do, but it substantially reduces the amount of their stuff that I actually get to read. This post, however, shared some really nice aggregate numbers about LMS pricing. The average price for an LMS, based on a three year cumulative price:
HOSTED (Saas) IMPLEMENTATIONS:
500 users: $68,977
10,000 users: $314,444
25,000 users: $568,201
100,000 users: $1,288,054
INSTALLED IMPLEMENTATIONS:
500 users: $48,231
10,000 users: $260,569
25,000 users: $486,076
100,000 users: $1,204,942
This, alone, is likely useful information for a lot of folks who read this blog. Brandon Hall undoubtedly has a lot to add beyond this top level of data. They’re studying, in particular, the low-cost LMS providers in this case. To qualify, a company has to be below average in all four categories. So, if you appreciate the information, follow up with Brandon Hall.
For my purposes, this information is interesting because it allows me to assess the "reasonableness" of our pricing. First off, let me make it clear that I understand we are not selling an LMS. We are selling a piece of an LMS.
What portion of an LMS is SCORM/AICC content delivery?
This question interests me enough that I’ve wandered around much of the day asking folks about it.
@timpmartin a very small percentage, maybe 10%, we use LMSs mostly for instructor-led classes & general reporting.
@pipwerks, a regular reader of this blog
For some, there was an important distinction: functionality vs use. If an LMS has 500 features, perhaps 25 of them relate to the delivery of standards based content. That would put the functionality number at, say 5%. That 5% of the LMS, however, might be used dramatically more than the other features, given its fundamental, core nature. If you were to use page views as a metric, or something similar, consensus among my sparring partners was that the number would be substantially higher. Might 50% of page views in an LMS relate to the delivery of content? My sense is that that might be a reasonable number.
@timmartin expressed as a % of the actual functionality AVAILABLE in a LMS, <5%. expressed as a % of actual usage of the LMS, 50%
Mike Rustici
Also of interest was how an individual’s perspective affected their opinion on the subject. As we’ve long known, learning-focused individuals make use of SCORM/AICC less than training focused individuals. Put simply, people who care about recording completions generally care more about SCORM/AICC.
@timpmartin Re. SCORM AICC. Very little in higher education. Our faculty do not use rapid development tools. No need for tracking.
@mathplourde
I love this stuff… I can’t get enough of how different people perceive value in varied aspects of an LMS.
What’s the point?
Well, frankly, this is all interesting to me in and of itself, but there’s a message about the SCORM Engine here as well. I believe the SCORM Engine fills a fundamentally important role within any LMS. Content delivery, in my mind, is what an LMS is there for.
The following chart shows what portion of the cost of an LMS would be allocated to the SCORM Engine based on the average prices provided by Brandon Hall above. If an average LMS vendor sold one license of their product for 500 users, we would be eating a huge portion of their revenue… 70%. For a company making a single sale with 10,000 users, we’re coming in at 15%, still a large number. But as these "average" vendors resell their product, the SCORM Engine cost burden drops substantially. Take the red line, the 10,000 user line with 10 implementations… the SCORM Engine cost burden is down to 3%.
By any measure, utility, functionality, or even support, content delivery is at least 3% of the effort burden in an LMS. If you intend to sell your LMS more than once, and I certainly hope you do, then the investment in a solid content delivery mechanism makes good sense.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:52am</span>
|
I am a patient man. Slow to anger, slow to annoy. Frankly, some mistake my calm demeanor for apathy. But now they’ve done it. The folks on Twitter (and elsewhere in the community) have made enough comments about SCORM that I’m annoyed. That’s right, I’m actually a little irritated.
I’ve been feeling, lately, like SCORM is my little brother. It’s OK if folks choose to pick on my bro, so long as they are constructive, or at least right. The comments I’ve been seeing lately range from misdirected to out and out wrong.
- @jclarey SCORM? With an M? Gee, I always pronounced it "SCORN."
- @Dave_Ferguson
SCORM arrrgh. Go To HELL !!
- @frdsrcks
maltido Adobe SCORM Packager!!!
- @bloggus
Note: Congrats to @bloggus for catching Adobe in the crosshairs!
Do any of you love SCORM like I do? #sarcasm
- @johndavidblack
Before I dive into a full fledged defense of SCORM, let me say this… I am not an outright fanboy for SCORM. I have implemented both content and LMSs with SCORM, and I understand the hassles intrinsic to the standard. I understand that SCORM can be a complicated problem. I’ll even go off the reservation here, in a way that will likely annoy some SCORM purists with whom we work regularly, and say this, "SCORM 2004’s sequencing and navigation? Well, it pretty much hurts my head." That’s right, there are pieces of SCORM 2004 that are great. I do believe that it’s better, in total, than SCORM 1.2, but it’s not all hunky dory.
With that context, and with my self-loathing credibility intact, I’ll also say this. SCORM is really well put together. If you doubt that statement, I’ll ask you this… Have you read the specification? Can you really say you know the spec? I challenge you to read it as a software developer… the concepts are well documented. The examples are thorough. SCORM’s API is simple… it has a grand total of 8 methods. Seriously. The vocabulary is publicly defined and direct. Failure to make proper use of the standard is not an admonition of the standard itself!
Has SCORM addressed every possibility? No. Is it iron-clad? No, it’s not. But is it fundamentally sound? Can those who are willing to dig into it implement it in a way that increases interoperability in a dramatic fashion? Absolutely. SCORM has moved eLearning interoperability miles ahead. This is undeniable. Complaints about SCORM’s impact on reusability are also more than reasonable. SCORM has admittedly failed in this regard, but that failure stems as much from the instructional design challenges as it does from SCORM’s technical shortcomings.
So I’m going to ask you a favor, "Ye Olde Basher o’ SCORM". If you’re gonna go after my little brother, make sure you’re going after the right guy. If you’re complaint is with the standard itself, go ahead and attack the standard itself. (Say, if you think Javascript is an extremely limiting communication technique and webservices would be a better approach.) If that’s your beef, I’ll join in with you.
But if you’ve got a conformant piece of content, and your LMS won’t import it, don’t jump on the standard, jump on your eLearning vendor! When your content won’t report completion in Saba, jump on Saba. If TestTrack is failing to represent SCORM 1.2 rollup effectively, as it is today, jump down my throat. But get it right; go after the right perpetrator.
So, I’ll be inviting the "haters" to this page as I encounter them. Folks who twitter about how SCORM "kicked their cat" or "blew their house down" will be invited to vent… I’m all for the dialogue. And I’m all for the challenges. I’m no SCORM homer, but I’m also prepared to point the finger at the real culprit. As vendors fail to do their job well, we collectively need to understand when SCORM is failing and when vendors are failing.
If you’re a hater, lay it out for all of us in the comments. Let me feel your pain.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:52am</span>
|
On our website, we invite every visitor to ask us questions. Generally, these questions are about SCORM or something eLearning related. Sometimes, though, they aren’t. These questions, sometimes, are among my favorites…
When you, our peeps, come up with some great questions, we’ll share them… So, challenge us.
Dale, from Appleton, WI, asks this… (OK, he may not really be from Appleton, but Casey Kasam would want it this way…)
On the topic of appropriate sides for schnitzel, the answer is always potatoes. The question is the preparation: fried, mashed, or potato salad?
First, and most importantly, my mom says…
False! Schnitzel is always eaten with spaetzle!
And, it seems, my mom is right. auntcy1, a commenter on America’s Test Kitchen considers the spaetzle a given. From there, though, the consideration of potatoes comes into play.
Potato salad, it seems, is worth dismissing because my wife, the foody, simply doesn’t like it. When you’ve grown up in a house full of women, you understand fully that when your wife says no, off you go.
So, that leaves us mashed and fried. For this one, I’ll take the initiative and say… the answer is fried. Quite simply, a potato that crunches is better than one that doesn’t.
I invite you all to argue, if you like, provided you understand that if you choose something other than fried, you’re just plain wrong.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:52am</span>
|
We’ve been slaving away on our SCORM Engine 2009.1 release around here and John stumbled upon something pretty exciting yesterday. I thought I’d go ahead and share it…
Mind you, these are anecdotal, but fairly representative, numbers.
We often use some old Photoshop courses, provided by ADL, to do some of our testing come release time (in addition to everything in the test suite, and our automated tests). John was using the IE profiler to see how some sequencing/logging enhancements he’d made would affect performance…
Prior to the enhancement, launching Photoshop Linear was taking 1.25 seconds of javascript processing time. Afterward? 0.17 seconds.
Prior to the enhancement, clicking the "next" button took 2.18 seconds of javascript processing time. Afterward? 0.24 seconds.
Our look ahead sequencer is already one of the distinguishing factors of our SCORM Engine. It allows us to avoid server round trips where most LMSs require them, thereby improving the learner’s experience. At the pace it ran in 2008.1, it was already vastly better than most LMSs. Now, it’s running 7 - 9 times faster.
We’d been intending to hold 2009.1 until ADL was ready to test it. We’re getting tired of waiting, so we’re going to release before the testing opens. Watch for further news of the release here.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:52am</span>
|
By background, Mike and I are both technical folks. We went to the same school, graduated from the same program. While we both speak conversational English (as opposed to off-puting tech), neither of us has great expertise in marketing. Opinions? Yes. Expertise? Not so much. We have known for years that we would eventually need help in sharing Rustici Software’s products and abilities with the world. We just knew that finding the right person would be a magnitude more difficult than finding the right developer.
So, what did we do? We punted. We just kept finding great developers, handing over our development responsibilities to them, and taking on more of the marketing work ourselves.
A few months ago, I was perusing Seth Godin’s blog as I often do, and I came upon this post about his alternative MBA program. First off, the program itself sounded incredibly interesting. Second, I came upon someone’s bizarre concept of hiring a boss. This was intriguing. Bold even. So, I clicked through.
Can you say SERENDIPITY? (My mother certainly can; it’s among her favorite words!)
I kid you not… Mike and I both read Susan’s site cover to cover and immediately knew that she got the single most important thing to us… tone. SCORM we can teach. Tone, in our book, is something that has to be innately understood. We were going to be asking someone to help us market our company, and it was fundamentally important to us that her voice, her ethos, be consistent with ours.
So, we started to work our way through Susan’s well defined 10 step process. By about step 3, everyone in our offices knew that I was pretty excited. By about step 7, my dad was wondering what this was all about. (No, Dad, hiring process aren’t exactly what they were when you worked at the industrial brush company.)
And finally, step 10, where Susan comes to work, is set to occur August 24th. We’re thrilled. Sincerely. Susan is going to be helping us define, market, and evangelize the SCORM Cloud and the applications that get built around it. We hope you’ll come check up on Susan, Rustici Software, and what we build together over the next months and years.
Kudos to Susan on a bold approach to finding the right job. Kudos for voicing what we could expect of her and what we couldn’t. Kudos on her great taste in bosses.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:51am</span>
|
You know those framed dollars you used to see in restaurants? Where you walk up to the cash register to pay, and there, behind the cashier is a frame with a crinkly old dollar, torn, written on, but displayed proudly? (OK, so I’m not talking Morton’s here… dives… places where they were so proud of the first dollars that walked in that they put them on the wall?)
Picture courtesy of Jake Wasdin
We’ve been in business for a while, obviously. Our first check from a customer has long since been cashed, and the money Mike used to get started was long ago dumped from a Crayola Crayon piggy bank. But this feels a little bit like starting fresh. The SCORM Cloud is our new baby. Yes, it’s built upon the SCORM Engine, but this is a new beast.
And as of now, the SCORM Cloud is bringing home the bacon. While we’ve been eating our own dog food for a while by hosting TestTrack on the Cloud, it’s exciting to have a paying client running their application against the Cloud as well.
Anttix was among the first to get in touch with us about the SCORM Cloud, and they’re exactly the kind of company we’re hoping to hear from. Go check them out yourself… Anttix is not your typical Learning Management System (LMS) company. They do many things, and they do them well, but they aren’t spending millions on creating the perfect LMS. They did, however, have a need to delivery SCORM training in the context of their application. The SCORM Engine might have been a good fit, but it requires a commitment, both development and budget wise, that wasn’t a good fit.
Jason, from Anttix, asked for an AppID and a secret key and they were off. Very quickly, with the help of the sample code libraries (ask for them if want to check them out), Anttix was able to import, manage, and delivery training in the context of their application.
You know what else is cool? Anttix is already running version 2009.1 of the SCORM Engine, and they didn’t have to do a single thing to upgrade. Cloud apps have certain disadvantages, but they also have some big upside, and automatic, transparent upgrades are one of them.
Jason’s kind words, however, are my favorite part of this story. Is there anything better than an solicited statement like this one?
BTW - Everyone that has seen your product is amazed. I look good just finding it!
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:51am</span>
|
To travel hopefully is a better thing than to arrive, and the true success is to labor.
-Robert Louis Stevenson
OK, fine, he’s right and all. Creating the new version of a product is fun and all. But shipping it, polishing it, finishing it, that’s pretty awesome too.
Today is the confluence of a bunch of different work around Rustici Software.
SCORM Engine? 2009.1 released
SCORM Driver? A new release including SCORM 2004 4th Edition
SCORM TestTrack? 2009.1 has already been applied, so this is fresh and clean too.
I’m psyched. Great new versions of old products out, and a clean slate to start on some new stuff. Thanks to the guys at the office, and, importantly, the cookie intern.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:50am</span>
|
Once upon a time, there was no sliced bread*. And people were happy because they didn’t know they wanted sliced bread.
Then someone gave them sliced bread. Suspicion, amazement and eventually joy erupted. Suddenly, they wanted, no needed, sliced bread. These days, it’s tough to sell bread that isn’t pre-sliced.
It’s a common problem in product development - delivering something amazing you know people will want but can’t ask for because they don’t even know it is possible. (Face it, did you know you needed TIVO before it came along? I’m waiting for a radio version, pretty please!)
I’m seeing a little of this as I explore the LMS world. Lots of talk about reporting and what should be there and whether anyone cares and who should care. I see admins refusing to bother because no one asks for anything other than the bare bones already provided. I see trainers who would love to know more but figure their LMS just can’t deliver so they suffer in silence. I see instructional designers who feel there has to be a better way to judge the success of a course than just a single score at the end.
Lots of talking, not much asking, very little doing.
One of the nice things about SCORM (yes, there are a few) is the amount of data that just naturally gets created. As we wrap up integrating the SCORM Cloud with various open-source LMS packages, the question of reporting has come up. Not whether to report, but just what and how to format the reports. We already know we can slice the bread; we just have to figure out how thick to make the slices and whether to toss in some butter and jam.
Wanna help us shape up LMS reporting? How would you want the SCORM Cloud (and likely the SCORM Engine by default) to deliver reports and what do you think you want to know? We have some devilishly clever ideas but welcome yours.
*After Tim wrote about bread on a software company blog, I had to figure out a way to include it as well. Bread. With butter and jam. Seriously. These posts make me hungry.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:49am</span>
|
Here I go, here I go, here I go… again. I’ve been called to defend SCORM’s honor again.
I caught this tweet yesterday.
E-Learning in Drupal - SCORM RTE for Drupal now released! Watch the demo: http://tinyurl.com/l9des6
-@BusinessCarrots
We are big believers in SCORM being implemented everywhere. Obviously, we like the idea of any system in the world being able to deliver SCORM training. (We like it more if we’re the ones doing it, but really, if SCORM becomes progressively more important, I’m pretty sure we’ll benefit from that.)
So, as you would expect, I went to check out the screencast of the Drupal/SCORM integration. I’d be more than happy for you to do the same. (You can see it here.)
<rant>
DO NOT DO SCORM PART WAY. EVER.
When The Partridge Family famously said, "I’ll meet you halfway, that’s better than no way," they weren’t talking about SCORM. Half of a SCORM implementation is a bizarre form of torture.
</rant>
So what brings me to the point of quoting The Partridge Family today? As you might imagine, the Drupal SCORM implementation mentioned above falls well short of SCORM conformance. How do I know? The screencast indicates that the implementation supports neither completion_status nor location. The first two things I would tell any content vendor to implement in their content would be completion and bookmarking, neither of which will work in this implementation!
Truth be told, I’m not really this angry about it. I appreciate the efforts to include SCORM in more systems, but SCORM really suffers from inconsistent implementations. If you’re going to implement part of SCORM, please do the industry as a whole a favor… finish it.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:49am</span>
|
I am excited to be involved in the LETSI project creating "Web Services for Learning Run-Time Communication". In my mind, it’s the most useful work going on in the e-learning standards world these days (but I’m sure others will disagree). It’s fun, we have a small group of talented folks rapidly making actual progress towards a straight-forward solution for many problems. Our "phase 1″ solution will address several of the limitations of SCORM including:
Cross domain scripting difficulties
Security of run-time communications
Limitations in the delivery of out-of-browser content
Inability to support asynchronous communication
One of the things that makes LETSI unique is its emphasis on developing working code, both to vet emerging standards and as a project deliverable. Today we released a very early prototype LMS that supports this new web services based communication system.
If you would like to know more about the work LETSI is doing, get involved with the development effort, or access the prototype to see how it works and maybe develop some test content, please let us know.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:49am</span>
|
We’re nearing completion of a SCORM Driver implementation with a new customer (Honeytech) and have had reason to discuss with them one of our newer products, the SCORM Cloud. If you follow this blog, you’ve likely seen mention of the product here before. Frankly, for some, the SCORM Cloud is a confusing proposition. It’s not like an LMS, per se, it’s a piece of an LMS. As we work on offering this product to the market, we’re struggling with exactly how to convey its capabilities. (Just today, Susan and I discussed, without conclusion, topics like Software as a Service, Platform as a Service, Software Service, Service Service, etc…)
It’s enlightening, then, when one of your customers gets it. Dan and Lance (from the customer) were discussing the SCORM Cloud via email, while I watched from the "CC" box. And Dan nailed it…
Think of a traditional LMS like a university. You have a campus, classes, students, and teachers. The LMS equivalent is:
Campus = website
class = course material
student = user
teacher = (optional in LMS)
In a real school a teacher will have some kind of grading system that says if you pass or fail, they will take attendance, create some record of how well you did and what you did. That "grading" is what SCORM does. There are a lot of websites out there (campuses) and a lot of classes (course material). SCORM is an agreed upon standard on how that material is tracked and recorded. So, I could take the courses we created and "plug them into" a SCORM compliant LMS. However, not all LMSs will do a great job implementing SCORM. In fact some are terrible.
So, I believe the service Tim is offering is only the SCORM part. So, we can build the campus, create the courses, and get the students however we want. We can choose to integrate with an existing LMS, create our own way of managing content and users, etc but we off load the actual tracking to the SCORM cloud. If we find an LMS that fits how we want to register users and display material but has terrible SCORM tracking capabilities… no problem. Just send it to the Cloud.
So, if I understand correctly they don’t manage users, course materials, or even a public website. They just get data behind the scenes, process and store it, and send it back.
Note to self: Find smart customers, offer them products that solve a challenging problem, and get out of their way.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:48am</span>
|
I spent last night the Music City Future 50 Awards dinner for the 4th year in a row (we were also just selected for the BusinessTN Hot100 for the second year in a row). If you make the Future 50 five times, you get inducted into the "Hall of Fame", and that means you have to give a speech at the awards dinner. This year, there were a record-setting seven HoF inductees…which means a lot of speeches. We listened to Clint Smith and Will Weaver of Emma do a stand-up bit, pink-boa-toting Hannah Paramore managed to (jokingly) credit her success to T&A and Jerry Bostelman of Vaco even busted out a little Kanye West impression (props to him for actually pronouncing our name correctly!).
All the speeches gave me some time to think about what I’ll say next year if we’re fortunate enough to earn the honor again. Every speech includes the requisite thanking of the employees, the spouses, the Chamber, etc. True, but boring, boring, boring. Tim thinks we should do a song and dance routine. That’s probably a little outside my comfort zone, but the possibility should inspire everybody out there to buy a lot of software from us in the 2009 fiscal year.
What struck me most about the possibility of being in the hall of fame next year is just how small we are. It’s amazing what a small group of highly talented people can accomplish. I sat there looking at companies with 150 employees and I felt no jealousy. There’s something special about a small cohesive group doing exceptional work that I never want to lose. Now, how do I turn that into a non-sleep inducing speech?
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:48am</span>
|
The SCORM Cloud is, well, it’s a bit new. We’ve acknowledged all along that this is not how the learning industry has done things before. We like that; we’re excited to be doing something a little different. It also means that we’re going to be making some decisions publicly as we go along, and that we’re going to do that publicly, with rationale. Like us or hate us, at least you’ll be able to see why we’re behaving the way we do.
Today’s question relates to the pricing tiers described here. We chose to go with a tiered pricing structure because we like to buy stuff that way. Our costs for Zendesk are fixed… we’ve picked a tier that accommodates our usage, and we don’t have to think about each ticket carrying a cost. It’s fair to them, it’s fair to us, we’re happy.
There’s a little difference, though. With the pricing of the SCORM Cloud, it’s possible that you would have a month in which you would hit the limit of your tier. So, what should we do with that? Should it be a hard and fast limit? We don’t think so. We think that you, the customer, would want your customers to be able to continue training. So we have to decide how to deal with overages.
We want the overage policy to be fair, but also to be something that doesn’t get us taken advantage of. So here’s the conclusion… Up through "The Big" plan, which includes 300 registrations per month, each registration beyond your chosen plan will be charged at $3.
______________
Update (later on the 5th): Our Ombudsman, Troy, called me out for the "cliff-like" ending to the original version of this post. I would try to argue, except, well, he was right. In setting the overages, we were shooting for something fair to both parties. We didn’t want something that was overtly penal, but we wanted to respect the tiered structure as well. So we went with $3. Truth be told, Mike and I argued about it until David was annoyed, and then we just decided.
And so I close with this… I thank each and every one of you for taking the time to read this post. If our thoughts on overages seem wrong or unfair, please do email me at tim.martin at scorm.com. If my failure to close the original version of this post disrupted your life in any way, I do apologize. It was deeply irresponsible of me.
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:48am</span>
|
I got this question today (and yes, we really do mean you can ask us anything…):
We are making configuration settings for our new LMS ([redacted]) and one of the questions is:
1.3.5. How is the overall score for a SCORM course with more than one SCO computed? With the following choices:
MaximumScore. Highest score of all items (SCOs) in the course.
AverageScore. Average score of all items (SCOs) in the course.
FirstScore. The first score achieved by the user across all items (SCOs) in the course. Note: If this option is selected, ScormScoreUpdateOption should be set to "Never" and the user’s score will always remain the first score they achieved.
MostRecentScore. The most recent score achieved by the user across all items (SCOs) in the course.
What do you recommend?
My first reaction
Well, clearly we’re talking about an LMS that is really SCORM 1.2 centric. This ability to manage scores across attempts and SCOs is one of the things that SCORM 2004 actually does very well. Rollup rules allow the content author to specify these behaviors in great detail, including weighting the various elements and even excluding some. This provides the author with useful tools such as pre-assessment that doesn’t impact overall satisfaction.
My second reaction
There simply is not a good answer to this question. If these settings are global, as they appear to be, I can’t be forced to pick one in particular as it wouldn’t serve other situations adequately. The most common multi-SCO package structure, to my mind, is a course with several SCOs and a single post test (assuming we’re dealing with more than one score). I’m not sure that any of these options serve that package structure well at all.
My ultimate conclusion
An LMS simply can’t afford to make singular decisions about how to deal with content. It absolutely has to provide configurability on a package by package basis. Failing to acknowledge that the world of content is widely varied will lead to content that doesn’t work as desired. This, frankly, is why building an LMS with SCORM conformance is so difficult to get right.
How we handle it in SCORM Engine and SCORM Cloud implementations
Package properties provide our ability to address different pieces of content differently. (Take a look at the possibilities. There are more than 50 options for configuring a course. All are defaulted intelligently, but all are also the answer to a question that has to be answered for certain courses.)
Take a look at how we’ve approached the particular problem of rolling up scores in SCORM 1.2. We have options that aren’t unlike those offered in the question above. The differences are relevant, but only to a degree. Fundamentally important, though, is that you can set these properties for each package.
I hope this provides a bit of illustration as the level of detail required to really nail the SCORM problem. We suffer this minutiae so our customers don’t have to.
Note: Don’t worry, my recommendation for the person who sent the question isn’t as obtuse as, "Use the SCORM Engine"… We’re still chatting via email…
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:47am</span>
|
SCORM is a difficult problem, no doubt. As a content creator, there are countless things that you should do well in every piece of content if you want it to work in as many LMSs as possible.
Today, I’m focusing on particular technical choices at runtime, rather than packaging or "process". (If process were part of this, I think all five things would be "test your content".) Without further ado:
1. Find the SCORM API well
Once a piece of SCORM content is launched, its first task should be finding the SCORM API. Without this API, it can’t communicate with the LMS at all. (And a piece of SCORM content that can’t communicate with an LMS is just a webpage with annoying popup error messages…)
Finding the API isn’t a trivial task. It can be located in a parent frame or a parent window. This distinction is a crucial one, and isn’t tested well by the SCORM test suite. If your content adheres to the standard, it will perform well either in a frameset or in its own window. Take the time to get this right, or you’ll suffer the pain of fixing it when you send your content to the second LMS you want it to work in. (And for goodness sake, we’ve provided you with the code for an improved API discovery algorithm. Go ahead and use it. All of you.)
Lastly, if you can’t find the API, be sure to tell the user. The user needs to know right away that they won’t be getting credit for any of the work they’re doing.
2. Set your status right away
The first thing a piece of content should do with the API after it finds it is call GetValue(cmi.completion_status). [Note: This article is not about syntax. I'm intentionally avoiding committing to a version of SCORM.] If the current status is "not attempted", it’s crucial that the content change it to "incomplete" right away. If the content fails to make this change, the LMS is obligated to consider the content complete on exit, even if it isn’t!
3. For the love of your users, use bookmarks
I suppose this is the least crucial of the elements in this missive, but please take care of your users! SCORM offers a simple concept of bookmarking (cmi.location). As your learner progresses through your content, set a bookmark periodically. Then, when the learner returns, be sure to give them the opportunity to return to where they left off. You would expect that level of courtesy in any piece of content you take, so provide it to your learners.
4. Record completion
The vast majority of SCORM content is taken at the encouragement of another. In a corporate environment, training is pushed on learners for compliance reasons. In the education world, professors often want to know that the learning material has been reviewed. In many ways, SCORM is largely about tracking the completion of training.
The only way the LMS knows that the learner has completed the training is if the content tells the LMS that the learner completed the training. Please tell the LMS.
5. Exit gracefully
top.window.close() is not the right way to exit from a piece of SCORM content. Is that clear? Sometimes, content is opened in its own window. If this is the case, then top.window.close() will probably be just fine. Sometimes, content is opened in a frameset. If this is the case, the world will come to an end.
Section 2.1.3 of the SCORM 2004 3rd & 4th Edition Specs puts it like this:
If the window in which the SCO was launched is a top-level window (i.e., the
window has no parent window, but it has an opener) then the SCO may attempt to
close the window after calling Terminate("").
[...]
If the window is not a top-level window (i.e., the window has a parent window),
the SCO may not act on the parent window or any window in the chain of parents.
For example, a SCO is not allowed to attempt to close the top window, unless it is
its own window.
This is one to get right. As an LMS vendor, content that obliterates the entire LMS (by closing its window) is annoying both from a user experience perspective and from a data perspective (in poorly implemented LMSs). Put simply, don’t trash the room on your way out the door.
________
These five things alone won’t make your content conformant, but they will move you a long way down the path to creating interoperable, well liked content. So, what did I miss? Are these things the top 5?
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:47am</span>
|
We are moving from [commercial hosted LMS] to [open source LMS] for now. But I really am looking at SCORM Cloud as a way to integrate the serving and tracking of training modules into our customer service portal, website and software. I dislike the concept of the standalone LMS.
-A prospect, via email, today
Let me say first, I totally understand the value of an LMS. To this point, we’ve built our entire business around LMSs and the content they deliver. I believe they still have a place, and they provide excellent value… for the right organization.
I also believe that there are companies, schools, and organizations that simply don’t have a need for a full fledged LMS. This is one great case for the SCORM Cloud… This prospect could easily embed the SCORM Cloud as a part of her HR system. In what system could you embed SCORM delivery?
(Now we wait and see if our prospect takes the bait!)
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:47am</span>
|
As you may know, SCORM is a reference model that is composed of other underlying standards. Two of the most important parts of SCORM, the CMI data model and the ECMAScript API, are governed by the IEEE. The IEEE is currently soliciting comments on these standards. That means, now is the time for you to speak up if there are things that you want to see changed.
Does the data model need more elements (for instance interaction results descriptions)?
Do you need more places to store things (perhaps some more storage)?
Are things too complicated? Too simple?
Should the JavaScript API be changed?
Use your imagination and speak up. Now is the time to be heard. The wheels are in motion for the evolution of SCORM. They turn slowly, but they are turning.
Request for Comment on IEEE LTSC CMI Standards
The IEEE Learning Technology Standards Committee (LTSC) is issuing this Request for Comment on three of its foundational standards:
1484.11.1: IEEE Standard for Learning Technology - Data Model for Content Object Communication
1484.11.2: IEEE Standard for Learning Technology - ECMAScript Application Programming Interface for Content to Runtime Services
1484.11.3: IEEE Standard for Learning Technology - Extensible Markup Language (XML) Schema Binding for Data Model for Content Object Communication
These standards were completed between 2003 and 2005 and have been implemented in many different applications around the world.
They derive from portions of the Aviation Industry CBT Committee (AICC) CMI Guidelines for Interoperability specification.
They have been profiled by the Advanced Distributed Learning (ADL) Initiative’s Sharable Content Object Reference Model (SCORM(R)), and SCORM 2004 3rd Edition has recently been approved as an ISO-IEC Technical Report.
They are currently being used in a Web Service interoperability project by the International Federation for Learning, Education, and Training System Interoperability (LETSI).
These standards have been in use for over 6 years, so the IEEE LTSC is now deciding whether or not these standards need to be revised. The IEEE LTSC CMI Working group seeks your participation in submitting comments on these standards for consideration in this decision process.
All comments should be sent to sthropp@ieee.org. All comments received will be made public on the IEEE LTSC website (www.ieeeltsc.org) and will be discussed at a CMI Working Group meeting in the future.
The request for comment review period is scheduled to end on January 22, 2010, at which time the IEEE LTSC CMI Working Group will begin to review and determine the next steps for these standards.
Thank you for your participation in this effort.
IEEE LTSC Chair - Don Holmes
IEEE LTSC CMI Working Group Chair - Schawn Thropp (sthropp@ieee.org)
Rustici Software
.
Blog
.
<span class='date ' tip=''><i class='icon-time'></i> Aug 26, 2015 07:47am</span>
|