Rustici Software

Rustici Software - We Make SCORM Easy SCORM Consultants
     Home HOME     SCORM Engine LMS STANDARDIZATION      SCORM Driver CONTENT STANDARDIZATION      SCORM Test Track TEST TRACK      Offline Delivery OFFLINE DELIVERY      SCORM Resources RESOURCES

eLearning is evolutionary, I guess
11.28.2008 - Tim Martin

This video, found via twitter posts from @moodler and previously @ralfh is fun to watch. Created in 1967 and complete with content, assessment, and remediation, it certainly shows us that the ideas we're playing with now aren't new ones.



At a minimum, I hope we've progressed far enough on ergonomics that we would tell the kid to face the TV when he's watching it... Poor kid's gonna have a major crick in his neck before long...

Labels:

8:30 AM 1 comments


Challenging Problems
11.24.2008 - Tim Martin

Moodle is the leading open source LMS (based on no real research on my part whatsoever, mostly, I've just heard the name more than Sakai or some other alternatives). They've done a great job creating a product that is broadly used and reasonably well thought of. SCORM, frankly, has been a bit of a challenge for Moodle (as it is for so many folks). Application service providers (ASP's) and companies with in house LMS's come to us regularly for help with this particular problem, but Moodle has taken it on themselves, and I personally applaud them for that.

Recently, some of the folks in the Moodle community have put some real effort into moving the platform toward SCORM 1.2 certification. As Dan Marsden mentions, the most recent versions of Moodle can pass the test suite, and they're moving toward formal certification. He also mentions the following with regard to SCORM 2004:
I couldn't finish this post without "mentioning" SCORM 2004…. this is still a way off for us, the common statement is "some of it's there, but it's missing sequencing and navigation". I don't expect we'd get this done before Moodle 2.0 release, It's hard to balance whether time should be spent on the SCORM 2004 stuff, or the other structural/scalability issues.
I can't argue with his thoughts at all... I would want nothing less than to try to build a SCORM 2004 LMS on a platform that has other issues. SCORM can be finicky, and SCORM 2004 particularly so. SCORM 2004 (and frankly, some of the finer points of SCORM 1.2) are without doubt challenging problems.

They are, however, problems that we've solved to a very large degree with our SCORM Engine. We already have the plug-able architecture that allows us to embed the player in other applications. We've also had "a few" prospects come to us asking if we could embed the SCORM Engine in Moodle. (Older versions of Moodle, in particular, struggled with SCORM conformance. From what I've heard, the Moodle SCORM forums are actually more active than the ADL forums themselves.) So, partly as an exercise, and partly to explore the possibilities, we've started down the path of integrating the SCORM Engine with Moodle. Already, just a week or two later, we have this...

This is one of the ADL Photoshop courses running via SCORM 2004 in the context of our local Moodle installation. It includes legitimate SCORM 2004 sequencing and navigation in a fully conformant manner, and even reports overall status back via the Moodle API. On top of that, the SCORM Engine would allow an integrated Moodle/SCORM Engine to benefit from all of the SCORM Engine functionality, including high end compatibility and delivery customization. (OK, I think it's cool, but I am admittedly a dork, no doubt.) I'm 100% convinced that we can very quickly take this to a state of elegant integration. Which leads me to our...

Challenging Problem

How do we offer this to the community? I am well aware that Moodle is open source. Clearly, I am aware that the SCORM Engine is not. The various open source licenses are a problem for another time (and likely, a lawyer with his or her hourly fees).

What would you (and by you, I mean, presumptively, the Moodle user who has found their way to this post somehow) expect in the offering? We are, admittedly, a for-profit company. We would like to find a way to offer this to you where it solves your problems and compensates us appropriately. In many ways, we think of ourselves as a software cooperative, solving this challenging problem on behalf of many. So how can we do that effectively for you? What would you be willing to pay to have this problem solved?

What SCORM problems, other than SCORM 2004, can we solve for you in particular? Are they already solved by the SCORM Engine (feel free to try the Engine implementation available as the core of TestTrack if you like)?

Would you be willing and able to introduce a non-open source project in the context of your Moodle implementation, provided we could work out the license issues?

Enough questions from the blogger, I say. It's time to cut this off here. Feel free to offer commentary via the blog or by email to info@scorm.com.

Labels: , ,

8:52 PM 4 comments


"Candor" Conveys Competence
11.21.2008 - Tim Martin

I exchanged emails with one of our long standing clients yesterday. I worked with this individual more than two years ago in integrating the SCORM Engine with their LMS, and was aware that he was a solid developer. In this most recent exchange, I noticed that his job title had changed, and so I congratulated him on his promotion. This was his response:

Yes, thanks Tim. I’m the PHB of the dev group these days. Should be no problem to get you that data. I’ll try running it later this afternoon.

This is such a perfect response, and makes me want to hire this guy away from our client (which we won't be doing, mind you.) To me, this conveys so many things... confidence in that he doesn't have to say how good he is, humility in that he can already mock himself.

Note to our prospective hires and current employees: Be so good that you don't have to tell me, but not so proud you can't make a little fun of yourself.

To that end, we make mistakes with our software sometimes. Given the overall quality of the software, we're willing to admit them when they come along. I ran into one of those issues this morning, and I thought I'd share it in the context of this post. For you non-technical readers, this is the point at which I delve into technical minutiae, feel free to evacuate at any time...

One of the core integration layer functions in the SCORM Engine allows us to pass detailed data regarding a learner's progress to the host LMS; it's called RollupRegistration. Like other integration layer functions, it can be implemented however the client likes, but it's almost always implemented via a stored procedure we provide to our clients. In this stored procedure, we collect the current state of two values: success_status and completion_status. In this default procedure, we used the values 0, 1, & 2 to represent unknown, incomplete, and complete (in the case of completion_status). There's nothing wrong with this except that we have values that correspond in our Logic.Types classes... and they correspond poorly. In the Types definition, the enumerated values are 1, 2, & 3... yup, off by one.

This mistake (or lack of clarity) on our part hadn't reared its head to this point. 2007.1 has been in circulation for more than a year, and no one had attempted to establish correspondence with these types in the code... Well, today, we discovered this inconsistency with a client who was confused by it (rightly).

Our answer? "Yup, you're right... that's confusing. No doubt." We offered our apologies.

So, going forward, what's the answer? Our recent release of the SCORM Engine, 2008.1, happens to have addressed this elegantly in our ScormEngineManager class. The ScormEngineManager is an enhanced approach to interacting with the SCORM Engine from the host LMS... And worthy of its own post another time.

On this issue, though, we've handled this by pushing the host LMS interaction out of the stored procedure layer and into the code, where we are handling the types properly and providing the already enumerated values to the host LMS like this:

public override void RollupRegistration(ExternalRegistrationId externalReg, ExternalConfiguration externalConfig)
{
RegistrationSummary regSummary = ScormEngineManager.GetRegistrationSummary(externalReg, externalConfig);

// Completion is an enumeration: UNKNOWN, INCOMPLETE, COMPLETE
Completion completionStatus = regSummary.CompletionStatus;

// Success is an enumeration: UNKNOWN, PASSED, FAILED
Success successStatus = regSummary.SuccessStatus;

// Total time in seconds tracked by ScormEngine (not as reported by course)
long totalTime = regSummary.TotalSecondsTracked;

// Score is unknown until explicitly reported by the course
bool scoreIsKnown = regSummary.ScoreIsKnown;
// Score is from -100.0 to +100.0
double score = regSummary.Score;

// TODO: VanillaCo:
// RollupRegistration is run whenever the course pushes data back to the ScormEngine.
// You should extend this method to update your LMS from the values above.

}


Our hope is that this option is far clearer and yet every bit as powerful. If it isn't, then every prior option is still available to the host LMS. Further, we hope that our candor conveys our competence.

Labels: , ,

10:09 AM 0 comments


Archives
August 2005
September 2005
October 2005
December 2005
January 2006
February 2006
April 2006
May 2006
June 2006
August 2006
October 2006
November 2006
December 2006
January 2007
February 2007
March 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
March 2008
May 2008
June 2008
August 2008
September 2008
October 2008
November 2008
December 2008

Subscribe to
Posts [Atom]




Products

Easily standardize virtually any web-deliverable content.


Case Studies

Considered internal development and contractors... Decided to avoid both.



Call us for a Complimentary Consultation

(866) 49-SCORM  |  info@scorm.com
HOME |  LMS STANDARDIZATION |  CONTENT STANDARDIZATION |  TEST TRACK |  OFFLINE DELIVERY |  RESOURCES

CONTACT


Copyright © 2002-2009 Rustici Software, LLC. ALL RIGHTS RESERVED