xAPI vs SCORM. A battle that won't happen

image



In the last article about using xAPI ( https://habr.com/ru/post/508624/ ) I wrote about how to practically organize interaction with LRS. To my surprise, I received a lot of letters and questions regarding why even use the new xAPI / CMI5 standards if there is SCORM? What are the benefits they provide? I heard a lot of opinions about the impossibility of using such an abstract approach (as they think) xAPI, that it is weakly supported by many LMS, etc.



I personally switched to xAPI (TinCan) as early as 4 years. And I can clearly imagine the difference between these specifications. Often experts try to compare "head-on" xAPI and SCORM. Like IMS CP and SCORM or like SCORM 1.1 and SCORM 2004v4. Moreover, when solving the same problems in the same conditions. And this is absolutely not necessary. SCORM is certainly convenient and must be used if:



  • The electronic educational resource must be stored in the LMS
  • All that is needed in terms of reporting from this resource is the time spent studying it and the current “assessment” (completed / not completed, progress (% of completed tasks), “correct” completion of tasks)
  • "Grade" must be factored into the general course in any discipline, along with tests and other non-SCORM course elements.


Indeed, if you do the same thing on xAPI, there will be no significant advantages, but the complexity will increase significantly. Immediately, you will need to decide which LRS to use, how to connect it to the LMS, how to include grades from the LRS in the LMS course, etc. And in this case, we can really come to the conclusion that the standard is “bad” / “raw” / “too abstract” / “it is not clear why it is needed”, etc. This is what I often hear from specialists.



But you will agree that it is strange to think that respected consortia and organizations such as ADL, which have been dealing with the SCORM specification for many years, did a great job, a huge amount of consultations with well-known experts in this field and ... suddenly decided to release an absolutely useless standard? When I ask this question to "SCORM supporters", no one can answer it ... And then this specification was "picked up" and released CMI5. And here the thoughts begin to come that, perhaps, maybe someone needs it? But to whom and why?



To answer this question, let's temporarily forget all our SCORM experience and consider one interesting task ...



It is necessary to develop a simulator for grouptraining, for example, specialists in working with any equipment. We will not go deep into the requirements for 3D, VR, etc.







The simulator should provide some kind of performance report for instructors who conduct training, which contains not only estimates and execution times, but, for example, should provide:



  • Hazard and Related Problem Investigation (HAZOP) report schedules;
  • diagrams of possible consequences of failure or failure of the system ("fault tree", FTA);
  • diagrams of the possible consequences of the event (“event tree”, ETA), etc .;


For example, in this form ...





Probabilities of events related to the human factor on the ETA diagram





Probabilities of events related to the human factor on the FTA diagram



Moreover, it is the results of the group indicating all who were in this group. + results for each student from this group.



Or even more interesting -



image



Now let's remember SCORM and decide that, in principle, we can write the necessary information for these graphs using cmi.interactions.X.description, cmi.comments_from_learner.X.comment, etc., but we catch ourselves thinking that the data the capabilities were not created for these tasks and we just use these "data fields" to store the information we need. But it gets even more interesting. Suppose instructors want to view these graphs, how do we display them? Rewrite LMS source codes that show the SCORM? Report, write plugins for Moodle? We cannot use an external program, because all LMSs store reporting data differently. We do not have an interface for receiving data from the LMS by an external application. All sailed.



Now let's remember that there is xAPI. We study books.ifmo.ru/file/pdf/1772.pdf... It is immediately revealed that:



1. Just "unnecessary abstractness" will help us to strictly describe all the data on these diagrams, exactly as we need it.



Using the xAPI ( actor - verb - object - extensions - result ) approach, you can build reports that are orders of magnitude more complicated than is possible in SCORM.



An example from the official documentation:



{
  "actor": {
    "name": "Sally Glider",
    "mbox": "mailto:sally@example.com"
  },
  "verb": {
    "id": "http://adlnet.gov/expapi/verbs/completed",
    "display": { "en-US": "completed" }
  },
  "object": {
    "id": "http://example.com/activities/hang-gliding-test",
    "definition": {
      "type": "http://adlnet.gov/expapi/activities/assessment",
      "name": { "en-US": "Hang Gliding Test" },
      "description": {
        "en-US": "The Solo Hang Gliding test, consisting of a timed flight from the peak of Mount Magazine"
      },
      "extensions": {
        "http://example.com/gliderClubId": "test-435"
      }
    }
  },
  "result": {
    "completion": true,
    "success": true,
    "score": {
      "scaled": 0.95
    },
    "extensions": {
      "http://example.com/flight/averagePitch": 0.05
    }
  },
  "context": {
    "instructor": {
      "name": "Irene Instructor",
      "mbox": "mailto:irene@example.com"
    },
    "contextActivities":{
      "parent": { "id": "http://example.com/activities/hang-gliding-class-a" }
      "grouping": { "id": "http://example.com/activities/hang-gliding-school" }
    },
    "extensions": {
      "http://example.com/weatherConditions": "rainy"
    }
  },
  "timestamp": "2012-07-05T18:30:32.360Z",
  "stored": "2012-07-05T18:30:33.540Z",
  "authority": {
    "name": "Irene Instructor",
    "mbox": "mailto:irene@example.com"
  }
}


2. We discover that we have a mechanism for receiving data from the LRS by a third-party program, which we immediately use to show beautiful reports to instructors. Instructors ask us to show complex samples based on the results of training groups in different cities, there are no problems. We collect and analyze this information.



This is where objections usually begin, for example, what about the LMS scores? Integration in LMS. The answer is very simple. If desired, the xAPI / CMI5 learning resource can be easily integrated into the LMS course. In the end, it's just a link. The simulator from the example is launched by the link simulation: //virtual.oilfield.test. It is also not difficult to write a SCORM package that, when launched, asks to select a record from the LRS and publishes the same estimate in the LMS (if it is really needed). This is relevant when personnel are trained in a field where there is no Internet. In this case, the results can arrive in the LMS at the moment when this connection appears (which is not available for SCORM, since the "session" cannot be broken). LMS can now "not be", which is also often simply necessary (communication conditions, for example).



I hope this article will help you better understand the essence of xAPI and no longer compare these 2 specifications, because in my personal opinion, they are designed to solve completely different problems.



All Articles