Wednesday, June 7, 2017

xAPI enabled scenario-based training with Articulate Storyline 360

Scenario based training provides the learner a chance to think through behavior choices in response to situations that match what they will experience on the job. Articulate Storyline 360 has great graphics, visually enticing buttons, backgrounds and other graphic elements that allow the user to compile a compelling scenario based project.

There is also a way that you can track learners' choices by combining xAPI into your storyline project. In this example we'll say that management is not interested in knowing individuals by name but instead is interested in general patterns. For example, if a high percentage of people are missing a certain scenario response then that may be something that should be emphasized in other training or perhaps the scenario is not worded properly or perhaps they are not receiving the proper instruction. Because of this we do not need to include a mechanism for obtaining the user's name and email address. We just need to know whether the question is answered correctly or incorrectly. Examining the data later can give us key insights on each question and perhaps the learner.

Note: if you would like to save time setting up this example, download this Articulate Storyline 360 file from my github account. If not, go into Storyline and create a slide similar to the one that you see below.

Take the Storyline slide below. The learner is supposed to answer how they would respond to a caller who says, "I've been waiting here forever!" The learner should click Choice 1 or Choice 2 depending on how they would respond in real life.

If they click Choice 1 then they get this angry response from the caller:

If the learner clicks Choice 2 then they get this more polite response:

The "look and feel” of this slide is easy to setup in Storyline 360 and the blue buttons are a standard type that can be selected from the Button menu. We now know that Choice 1 is the incorrect answer and Choice 2 is the correct answer. We need to send statements from both of these buttons.

First we will send a statement from the button entitled Choice 1.

  • Click the button entitled Choice 1 then click the Create a new trigger button from the Triggers panel.
  • For Action, select "Execute Javascript."
  • Next, click the elipses next to the word "Script."
  • Paste this code in the Javascript window that appears.

 

//creates a new object called stmt which will then be populate with an actor, verb, and object
var stmt = new ADL.XAPIStatement(
new ADL.XAPIStatement.Agent(('mailto:learner.@gmail.com' ), 'company learner'),
new ADL.XAPIStatement.Verb('http://adlnet.gov/expapi/verbs/failed', 'failed'),
new ADL.XAPIStatement.Activity('http://abc_company.com/clickThruExample', 'Been waiting forever scenario')
);

ADL.XAPIWrapper.changeConfig({
'endpoint': 'https://lrs.adlnet.gov/xapi/',
'user': 'xapi-tools',
'password': 'xapi-tools',
});

ADL.XAPIWrapper.sendStatement(stmt);

 

  • Click OK to leave the JavaScript window then click OK to leave the Trigger Wizard window.
Note that the verb in this snip of code is “failed.” In other words, this would’ve been the ‘wrong’ selection and a 'failed' statement is sent to the Learning Record Store.
  • Next click the button entitled Choice 2 then click the Create a new trigger button from the Triggers panel.
  • For Action, select "Execute Javascript."
  • Next, click the elipses next to the word "Script."
  • Paste this code in the Javascript window that appears.

 

//creates a new object called stmt which will then be populate with an actor, verb, and object
var stmt = new ADL.XAPIStatement(
new ADL.XAPIStatement.Agent(('mailto:learner.@gmail.com' ), 'company learner'),
new ADL.XAPIStatement.Verb('http://adlnet.gov/expapi/verbs/passed', 'passed '),
new ADL.XAPIStatement.Activity('http://abc_company.com/clickThruExample', 'Been waiting forever scenario')
);
ADL.XAPIWrapper.changeConfig({
'endpoint': 'https://lrs.adlnet.gov/xapi/',
'user': 'xapi-tools',
'password': 'xapi-tools',
});

ADL.XAPIWrapper.sendStatement(stmt);

 

  • Click OK to leave the JavaScript window then click OK to leave the Trigger Wizard window.

Publishing the Storyline story

  • Click the Home tab then click the Publish button then select the Web menu on the left side of the screen.
  • Select a folder on your computer that will hold the web files and select Publish. (No need to change or set anything dealing with LMS's or tincan).
  • When the "Congratulations" screen appears, click Close.

The application will create a folder by the name of your story and publish web related files to it. When you open that folder it will look something like this:

 

Tweaks

We still have a few necessary tasks to complete in order to make this all work.

  • In your favorite HTML editor, open the file called story_html5.html.
  • Copy and paste this code somewhere in the head tag area. (I placed mine below another script src tag).
<script src="xapiwrapper.min.js"></script>
  • Re-save the story_html5.html file.
  • Copy the file xapiwrapper.min.js into the same folder with all the other web related files. This is a special file for sending xAPI statement and can be found here in the Dist folder.

 

Testing it out

Note: This was successfully tested in Google Chrome so I recommend you try it there first.

Did it work? Let's find out.

  • Find story_html5.html and open it into Google Chrome to start the app.
  • Move to the 2d slide.
  • Click the Choice 1 or Choice 2 button. This sends a statement to the LRS.
  • Go to the ADL Public Viewer to see if they are shown there. Note: Normally you would see only the passed or the failed statement but not both. For this example I decided to send both just so you could see what both of them looked like. Note that the verb is either ‘passed’ or ‘failed.'

You could repeat these steps for the rest of the scenario slides in your story. Obviously this is the most basic of scenarios. More sophisticated scenarios are several layers deep and the learner can go far into a story before learning that their course of action was not the best. No matter, the principle holds the same. Equip each button to send a statement and you’ll have a complete record of each participant’s responses. Now you will be able to see trends with scenario questions. Does one question have a higher incorrect response than others? Is a question too easy? xAPI can help answer these types of questions and more.

John Menken is a learning professional excited about the boundless possibilities with xAPI. Email John if you would like to talk more about xAPI and what it could mean for your business.

 

No comments:

Post a Comment