AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Martín Langhoff -
Number of replies: 6
There's an AICC meeting in Miami tomorrow. It's 15m drive from where I live, so I have registered and plan to drop by.

I have done a bit of review of the state of Tin Can support in Moodle, and https://tracker.moodle.org/browse/MDL-35433 seems to track the latest status. As of today, it looks like we have some discussions, a couple of (unpublished) REST-style implementations, but no work on a native mod/{xapi,tincan} yet.

Are there any topics you'd like me to raise at the meeting? I am familiar with mod/scorm, and I read high-level stuff about Tin Can.

Here's the meeting agenda. Unclear to me how technical it'll be http://aicc.org/joomla/dev/index.php?option=com_content&view=article&id=162 - maybe I'll just work on my stuff from the back of the room...

~ m
Average of ratings: Useful (1)
In reply to Martín Langhoff

Re: AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Matteo Scaramuccia -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

Hi Martin,
as per my understanding, it should be technical enough to address some overall thoughts about Packaging and LMS vs LRS role.

I guess that most of the "pure" LMSs claiming now the Tin Can support are "just" providing a "Tin Can adapter" to:

  • intercept the JSON payload
  • read it
  • map it into their pre-existing tracking storage, when applicable1

Packaging is out of scope in XAPI while it is required in CMI-5 (an Application Profile adopting Tin Can) and probably by a significant part of the "traditional" Market: that's IMHO the reason why is still pending with some proposals and some Vendors already guessed among them.

That being said, it would be nice to listen for opinions - even beyond the "cold" technical spec implementation details - about:

  1. In the past Test Suites have been proposed to provide self-assessment tools for Vendors and Customers: is there something already planned for CMI-5 too?
  2. Could CMI-5 be a driver for no more than a partial implementation of the XAPI specs to allow LMSs provide support "just" for Learning Packages tracked via JSON too, kind of slowing down the path to a full LRS adoption and the discovery of potentially new learning paradigms (shortly: less AUs/LOs, more Learning Experiences/Pills)?
  3. Learning Packages have been always part of the Market, to feed Customers' Catalogues and Specifications&Application Profiles have been the required drivers for Interoperability: while it is clear that XAPI has given freedom for more creative (AND track-able!) learning approaches, people is still looking for traditional Learning Packages too. Has SCORM 2004 really failed - probably Vendors first - to provide a well defined packaging structure where the Author has the power to fully control reusability and delivery strategies with no code but XML (complex) rules and opened the doors to just the same LOs but JSON-powered, missing2 the pedagogical fine tuning already available in a "simplified" manner with the AICC and SCORM 1.2 prerequites and then (too much?) amplified by SCORM 2004?

TIA,
Matteo

1That is, at the moment, where MDL-35433 is, though being a good starting point for thougths.
2For those interested, find here the CMI-5 course structure current proposal: https://github.com/AICC/CMI-5_Spec_Current/blob/master/cmi5_coursestructure.md#72-course-structure-xsd

In reply to Matteo Scaramuccia

Re: AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Martín Langhoff -
Hi Matteo -- thanks for your notes!

I did discuss test suites, reference or example AUs. They don't have them for the simple reason that they are still fleshing out CMI-5 (and their stance, which I found convincing, is that XAPI isn't enough in practice).

And once the standard is more complete... well, they are volunteers. Influential perhaps, but still volunteers. We love to have these reference implementations, but we may have to build them ourselves...

I don't fully understand question #2.

I am not sure I understand #3 -- clearly they are pushing for a standard because they want a market where LMSs and LO creators interoperate and compete.

If your question is "why did SCORM 2004 fail?", I spoke with William and as I was apologizing about Moodle's partial SCORM 2004 support, we shared notes on the enormous surface of SCORM 2004 and how it was hard to everyone to implement (and perhaps nobody implemented it all). So they are aware of SCORM 2004 being too large and complicated to digest.

Maybe I misunderstood your question.

Sessions continue tomorrow.
In reply to Martín Langhoff

Re: AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Matteo Scaramuccia -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

Hi Martin,
sorry for having being so hermetic wink. Let me try to expand a little bit: the matter is so big and it's hard to make it simple and short, at least for me.

About #2: I'm wondering if LMSs adopting CMI-5 will "stop" their XAPI implementation just to be able to import CMI-5 packages and track them by re-mapping the data model into their AICC/SCORM implementation w/o creating a fully working (read: compliant) LRS, as per XAPI specs - I know, the real world of Vendors should find a quick way to implement it and XAPI has made it possible.
That's why a Test Suite for CMI-5, XAPI included - provided that ADL will co-partecipate in the development - could be required to be sure that an LMS could be quite a real LRS too. Maybe too philosophical and probably not the first goal to be reached: maybe the key will be to add compliance levels as already done in the past in both AICC and SCORM even if creating levels means quite a nightmare in interoperability if the levels are more than two and not well balanced for the Content (not Vendors wink) Goals.

About #3: I know quite well SCORM 2004 since its very first draft - being involved in my past Company to talk to ADL people while we were implementing the 1.3 early draft support in 2003, providing some inputs to introduce UI best practices into the spec too. The same, with a smaller scope, happened starting from 2000 for 1.2, having attended to some ADL PlugFest too - and I have some ideas about the potential failures of SCORM 2004 adoption by both Vendors and Customers but what I mean here is: if you look at the current proposal for packaging you'll see that that we're missing the basics i.e. the support for prerequisites to make a basic but powerful conditional navigation between the items, here AUs.
CMI-5 is IMHO THE candidate to replace both AICC and SCORM (whatever version) in order to have a modern API to consume a traking data service: no ECMA script required (compared to SCORM, i.e. no Cross-Domain Scripting Issue) and a nicer payload (compared to AICC; still HTTP but JSON compared to its plain text, ini-file-like): why should we drop simplified prerequisites? Do we - with the hat of Content Producers - all prefer Learning Packages structured as a "single item package" where the navigation rules are part of the content VS having kind of possibility to define branching among items without touching any code in the Content (it was part of the reusability aspects, in both AICC and SCORM)? They've already simplified the Data Model based on the last 10+ years experience and should be enough. Instructional Designers, make some noise wink.

TNX for sharing your notes!
Matteo

Average of ratings: Useful (1)
In reply to Matteo Scaramuccia

Re: AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Martín Langhoff -

I'm wondering if LMSs adopting CMI-5 will "stop" their XAPI implementation

As far as I can tell, CMI-5 is a superset of XAPI. So you have to implement XAPI fully to have a CMI-5 implementation. From the PoV of the CMI-5 folks, they state that tehy are using XAPI and defining messages semantically to make it useful.

I am not familiar with XAPI, so I don't know if there are interesting parts of XAPI that aren't "used" by CMI-5. If that is the case, the question is: is feature frotz of XAPI actually useful? If so, AUs will want to use it, and your LRS implementation will be incomplete without it.

CMI-5 is IMHO THE candidate to replace both AICC and SCORM

Agreed.

Actually, it opens the door to a new model, where a vendor can offer complex AU functionality that requires their servers. For example, QuestionMark could give you AUs that are just a "shell", or a just client side code that performs additinoal processing on QM's servers, and then have QM's server call your XAPI callback URL.

Even more interesting than QM, I imagine richer interactions -- webbased video editing, or something like queeky.com .

So a service model is now possible. As long as your LMS is internet-accessible.

why should we drop simplified prerequisites?

I think they (reasonably) expect the LMS to control that, provide more sequencing and navigation support. My gut feeling is that SCORM 2004 navigation and sequencing stuff isn't widely loved nor implemented.

Why?

To control prerequisites usefully across vendors/suppliers of LOs, you need to also standardize the namespace. That's just never going to happen (I've been part of attempts to standardize the namespace across NZ govt, a notably congenial group, and it was nearly impossible -- anywhere else, forget about it). The course author should drive this, tag activities (quizzes, LOs) with appropriate achievement and prerequisite terms from his/her own preferred vocabulary (or the institution vocab).

And navigation... the LMS wants to control that. Trying to reimplement that puts both the LO interop standard and the LOC content in a collision course with the LMS... so many ways this can go wrong...

These are my opinions -- actually, I'll ask more about these topics here today.

In reply to Martín Langhoff

Re: AICC meeting in Miami tomorrow (CMI-5/Tin Can/SCORM)

by Martín Langhoff -

Here are my notes from the CMI-5 presentation by William McDonald. I hope I can get the slides too...

"ML" indicates my personal opinion.

  • Better than SCORM, overcome limitations
  • all media, any media
  • potentially huge courses / media
  • user can upload any media, large media
  • recording of events/tracking can be very granular, and largely left for the content to define granularity and meaning ~ ML: this is great but makes reporting both an opportunity and a headache
  • "technical framework that different communities of practice can put more structure on" ~ML: so it punts on some aspects.
  • CMI-5 is an XAPI "profile" -- maps XAPI to the traditional LMS model **launch interface **session mgmt **course structure
  • CMI-5 = XAPI + "some extra rules" ** from AICC PoV, Tin Can is not quite complete, because "profiles" aren't established; so interop isn't there. CMI-5 will be the first XAPI profile, and defines a few more things so that interop can be achieved in practice. Docs at github.com/AICC - git://github.com/AICC/CMI-5_Spec_Current.git
  • Aiming for end of year ~ ML: he didn't say which year wink

What's already defined:

  • Web browser launch interface -- more planned: native iOS/Android/Windows (this covers when the LMS is a native app, and wants to launch CMI-5 content and how that content gets a handle on where the LRS is, auth, etc)
  • other things I missed mixed -- need to get the slides!
  • State API -- ML:stuff the LO ("AU"!) stores in the LMS, and can be used to resume a session
  • Statement API ~ ML: stuff stored for reporting
  • Verbs
  • Activity Types
  • Move-On criteria
  • more things I missed - get slides!

Scope of CMI5:

  • launch by LMS
  • runtime communication (XAPI)
  • LMS course definitition (as needed for this)
  • reporting requirements for LMSs ~ ML: actually they are not wanting to define this, prefer to leave it open
  • CMI-5 runtime interface is dependent of course structure stored in the LMS (?)
  • Launch API - The LMS builds a URL and calls the "content" url with some extra params that should be ignored by the server -- they are meant for the content, client-side (JS code should read the URL from the DOM and parse it).
  • State API -
  • Statement API - used by the AU to record progress to LRS/LMS - verbs & activity types. CMI-5 adds rules to require that statements are tied to a sessionid. ** ML pushed for a discussion -- launch API doesn't contain session ID. Martin here thinks it's a problem -- current launch dance is brittle and racey. We may be able to influence this. If we get sessionid added to the launch API quite a few things get simplified.
  • Verbs ~ ML: this makes sense to me. I would join handling of abandoned and exited; mobile usage blurs the line.
  • Activity types : fluid string names / descriptors ~ ML: they seem to be "static" -- this was unclear. If it is static, it should be in metadata so the LMS doesn't have to "run" the LO to know if it's a video.
  • ML: Looks like the AU can store anything (pics, videos, etc), and the AU can retrieve anything it has stored. It splits "state" from "statements" so it is clear what is reportable and what's state.
  • ML suggestion for reporting - add some metadata to the AU that provides hints about the datatypes that the AU will store. Perhaps JSON schema. This allows the LMS/LRS to store the data in matching DB columns for better scalability & perf.

It was a very informative session, and William indicated several times we have an open invite to join the standards committee, this is mainly through confcalls. This might be a good idea. If we can't, we can interact via email of via their "tracker", but it is not so smooth.

If we participate, we have a voice. To have a formal vote, we would need to be a "member organization". However, the voice of a developer does carry weight smile

My notes are a mess. Apologies...

Average of ratings: Useful (2)