Experience API (xAPI), also known as Tin Can API, is supported in iSpring course publication. Let’s figure out what Tin Can API interaction consists of.
The statement is the core of the Experience API. All learning events are stored as statements such as: “I (actor) did (verb) this (object)”. In reality, a set of Statements is used to track complete details about learning experience.
A simple statement example will be: John started Math course Fractions.
These three properties are mandatory and present in any Tin Can API statement. Also, optional properties may be included in any order e.g. ID, context. You may look for the description of each property in the official xAPI specification.
iSpring uses three main properties of an xAPI statement and sets a timestamp:
||Learner or Team object the statement is about. “I”. If not specified, LRS will infer based on authentication, and populate the actor.
||String. See table below.
||Activity, person, or another statement that is the object of the statement, “this”. Note that Agent objects which are provided as a value for this field should include a “objectType” field. If not specified, the object is assumed to be an activity.
||May be assigned by statement creator or LRS.
||Context that gives the statement more meaning. Examples: Team actor is working with altitude in a flight simulator.
||Timestamp of when what this statement describes happened.
An actor property is constant throughout the course. Verb and object properties vary and they are the most important in reporting that provides necessary information about learning experience.
iSpring statement verbs that are used throughout learning activities:
||iSpring object type
||Attempt (make an effort or attempt).
Used at the initiation of many “experienced” activities to mark the entry. Attempts without further verbs could be incomplete in some cases.
A catch-all verb to say that someone viewed, listened to, read, etc. some form of content. There is no assumption of completion or success.
||Answer (give the correct answer or solution to).
||Quiz or a course.
||Pass (go successfully through a test or a selection process).
Used to affirm the success a learner experienced within the learning content in relation to a threshold. If the user performed at a minimum to the level of this threshold, the content is 'passed'. The opposite of 'failed'.
||Quiz or a course.
||Fail (be unsuccessful).
Learner did not perform the activity to a level of pre-determined satisfaction. Used to affirm the lack of success a learner experienced within the learning content in relation to a threshold. If the user performed below the minimum to the level of this threshold, the content is 'failed'. The opposite of 'passed'.
The full list of xAPI verbs is available at the ADL website.
Let’s consider an example to understand which statements iSpring course sends to an LRS:
Michael attempted 'Solar System Demo' – a user started the course
Michael experienced 'Slide #2' – a slide of a presentation has been viewed
Michael correctly answered 'Fill in the blank fields below ' with response 'outer[,]saturn' with score 100% – a quiz question has been correctly answered
Michael incorrectly answered 'Arrange the following planets in the correct order, starting from the closest to the Sun: ' with response '7_Neptune[,]0_Mercury[,]1_V...' with score 0% – a quiz question has been correctly answered
Michael failed 'Solar System Quiz' with score 75% – overall result for the specific quiz
Michael passed 'Solar System Demo' with score 92% – overall course result
All iSpring-supported statements were used in this example:
- attempted (course)
- experienced (slide)
- correctly answered (quiz question)
- incorrectly answered (quiz question)
- passed (quiz or a course)
- failed (quiz or a course)
This is a screenshot of a report view on the Cloud SCORM.com LRS: