Friday, March 23, 2018

Understanding today's learners

As learning professionals, we have to be vitally aware of today’s learners. They differ from learners from a decade ago and all share some common characteristics.

Today’s employees are overwhelmed, distracted and impatient. Overwhelmed because with flatter organizations everyone is asked to do more, faster, and with less resources. Distracted because of social media, questions, meetings, email and much more. Impatient because time away from task means more overtime at the end of the day.

Consider these statistics from a recent survey by Deloitte.

  •  The average employee is online 27 different times a day.
  • Workers spend 41% of the time on things that offer little personal satisfaction and do not help them get work done.
  • Most workers won’t watch videos longer than 4 minutes.
  • People unlock their smartphones up to 9 times every hour.
  • 2/3 of knowledge workers actually complain that they don’t have time to do their jobs.
  • Workers now get interrupted as frequently as every 5 minutes, ironically, often by work applications and collaborative tools.

Additionally, 1% of a typical workweek is all that employees have to focus on training and development.

We, as learning professionals have to come to grips with these realities and construct learning experiences that take these things into account.

For starters, we have to have intelligent conversations with business leaders who claim to need training. Is it really a training need or something else? If it is training, how do we find out what is necessary to achieve the business outcome and how can we construct meaningful exercises around those needs? How do we keep the content at a minimum and the practice at the forefront? How do we create measurements from the onset so we know later if the training initiative was a success? Can the information be curated instead of created?

Rather than dive right into the next training course, we need to seriously consider these questions and understand our role is to help increase performance, not disperse a bunch of content. Everyone in this equation, the trainers, business leaders, managers, and participants will be happier in the end. Everybody wins.



Tuesday, March 13, 2018

Microlearning makes sense

Microlearning is an alternative to classroom training and the dissemination of vast amounts of content. Wouldn’t a learner rather consume something at their own pace, on their own time frame rather than through a half-day (or longer) class? Wouldn’t these same learners like learning to be small and compact yet deliver the message just in time and have it be exactly what is needed?

I recently worked for an organization that performed claims processing. It was important to process the claim correctly and there was a lot of money at stake to do so correctly. The method of training a new claims processor was a 16 week, 6 hour a day instructor-led class which everyone but the trainers seemed to hate.

Leadership hated the class because it took their employees away from their desks for too much time. Employees hated it because there was too much information to remember and they were anxious to get to work to do the job for which they were hired. This was a typical information overload class that covered everything from A to Z with the trainer as the purveyor of information both great and small. The trainers would tell you that this was the way that they learned how to process claims. Many of the trainers were subject matter experts before becoming trainers. They learned their job by watching other trainers do an information dump and therefore determined that was the correct way to do it. I dare say that this scenario still plays out with all too much regularity across corporate America.

Microlearning means splitting the learning process up into mostly smaller parts that can be consumed independently of each other. But it doesn’t stop there. Microlearning at its most effective also combines concepts like action mapping, learner expectations, business realities and more. Microlearning is a really a multilayered idea.

Let’s look at these other parts. Action mapping means finding out what is necessary for the learner’s success on the job then designing meaningful exercises as the students’ first step in obtaining a new skill. Some trainers view this as crazy talk. How can you ask a student to do something when you haven’t even taught them how to do it? One of the things that a claims processor must do is search for a claim using something called a “provider number.” Action mapping would say, “give the students a provider number and ask them to figure it out.” Chances are they would click Search, then type the provider number into the field called provider number then click Search. If the student is really without a clue then the instructor can provide a job aid and ask the student to follow the steps detailed there. To understand Action Mapping think 1) performance (actions) necessary for success 2) relevant exercise 3) supplemental information if necessary. Revolutionary but it makes so much sense. People learn by doing.

Learner expectations should be understood. Today’s employee is busier than ever. Many will tell you that they need and want training then later tell you they have no time to attend training. They want training that can be done when they have the time slot to do it and it should match exactly what the job calls for in order for them to be successful. Today’s learners expect what they learn to relate directly to their job or it could be considered a waste of time.

Business realities are tight budgets and the need for employees to take charge of their own learning. Businesses find it increasingly difficult to discover all the training necessary for advancement of a new product or program. They need smart employees to know what they must learn in order to meet the business goal. Employees have to know that the shelf life of their skillset is three to five years. Employees must continue learning and growing to keep from being off-shored and continue to provide real value to the business. The days of saying, “Well, if my employer wants me to do it then he’ll have to send me to class” are over.

Surprisingly, trainers did not complain about this 16-week class but they did complain that after one of their lengthy classes, the business unit would inevitably hire someone and they would have to teach the entire class again, this time for one person.

Learning professionals have to know that old models of training no longer work. The “say and spray” method of teaching where the trainers ladles out loads of content just won’t stand up to business needs and realities. The trainers and instructional designers must become “learning experience” providers. They must ask the question, “is this best taught or experienced?”

With all this in mind let’s go back to Microlearning. There are actually three ways to search for a provider claim. Microlearning asks us as learning professionals to ask, “is mastering the search function” necessary for the employee’s success back on the job. If the answer is yes, then the learning experience creator might ask, “can this be broken down into manageable chunks?” Instead of teaching “Searching for a Claim” as part of a bigger class, why not break it down into smaller discreet modules? Each one of these modules could be its own separate entity.
  • Searching by provider number.
  • Searching by patient id
  • Searching by firstname/lastname


Now that I have three separate learning chunks in mind I can determine the best way to have the student experience each of these processes. I could do any of these as a learning experience:

  • Design a step by step tutorial for each of the students to follow for each of these searches and assign them to the students. Instead of teaching them the steps of searching by provider number, show them how to follow a job aid.
  • Give the students a provider number and ask them to try it themselves and report back what they find.
  • Take turns putting a student on the spot and with the support of their classmates figure out how to perform a particular search.


See the difference? The student is immediately doing something and it matches what they must perform back on the job. It also frees up class time which makes leaders and students happy. Trainers are happy too because they are learning new training modalities and experience shorter classes and increased retention.

As an instructor, I might not even have to be in a classroom environment for this. I could convene class, make the assignments, then agree to see the students tomorrow. Since my topics are now chunked I could also quite easily make short, one topic videos for them. Now when a straggler comes on the stage I can refer him/her to the videos as well as the training practice exercises that I mentioned earlier.

If I make small, single topic videos for each of the necessary “success behaviors,” then I have a ready video library that can be combined to meet the need for future classes, student questions, refresher courses and more.

This is what micro learning means to me.



Saturday, March 3, 2018

GIMP for Instructional Designers

Instructional designers and trainers should know how to do routine things to their graphics like adding a border, applying a shadow, cropping and a handful of other tasks.

In this three part video I show you how to do these routine image edits in GIMP.

Part 1: Adding borders, shadows, text and perspective.





Part 2: Cropping,  recoloring a graphic, removing a background color, moving part of an image, understanding layers and rounded graphics.






Part 3: Scaling part of an image, file size and dimensions, opening a Photoshop file.





Part 4: Placing a border around text.





Tuesday, February 6, 2018

Photoshop for Instructional designers

Instructional designers and trainers should know how to do routine things to their graphics like adding a border, applying a shadow, cropping and a handful of other tasks.

In this three part video I show you how to do these routine image edits in Photoshop.

Part 1: Adding borders, callouts, text and shadows.



Part 2: Cropping, moving part of an image, recoloring a graphic, removing a background color, resizing an image, image shadows, and rounded graphics.



Part 3: Saving as a png file, scaling part of an image, stroke around text, bending text, rotating part of a graphic, adding perspective, and creating gradient text.




Monday, June 26, 2017

Sending multiple xAPI statements at one time

Remember back in the day where you had to populate a spreadsheet with data in order to test an equation or function that would solve a problem? The same exists with xAPI statements. Sometimes you want to see what a bunch of statements look like in the aggregate in order to see what the information looks like together and how you will present it as part of a report later. As part of the RISC suite of products they supplied us with a “test” LRS. This has become very valuable for testing xAPI statements and the information connected to a learning record.

With some javascript object knowledge, an understanding of the 'for loop', and setting variables it is possible to write a little application that will send multiple statements at one time to an LRS. I use this video to describe how.

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.

 

Monday, May 22, 2017

Sending xAPI statements with Articulate Storyline 360


Articulate Storyline 360 is Articulate's new subscription model that allows you to send xAPI statements if your Learning Management System is set up for tincan formatted zip files. That's great but what if I don't want my eLearning accessed from an LMS? Maybe I want to place it in SharePoint or a company web server. Maybe in some circumstances I think that the user could have a better experience if I place my Storyline project somewhere besides an LMS. If you are willing to introduce a little code then you can send your own custom xAPI statements with Articulate Storyline 360 without being confined to an LMS. Let's do it.

  • For starters, create a no-frills, simple three page slide story like I show here.
  • Optional: Use Storyline's DESIGN tab to give it a background pattern if you like.
  • Save the Storyline story and then do so periodically throughout this exercise.

Fig1. - 3 slide Articulate Storyline story


Creating a place for the user to log in.

We need to know the user's full name and email address in order to complete the actor part of the xAPI statement. A login screen will get us that type of information.
  • On the first slide, create two text entry fields and two labels that say Full Name: and email address:
    • Text Entry fields can be created by selecting Insert > Input > Text Entry Field > then dragging the cross hairs across the screen to form the actual element.
    • Labels can be created by selecting Insert > Text Box.
    • Optional step: Instead of leaving the default text in the Text Entry Fields, I changed it to read "Enter full name" and "Enter email address."

When you are finished with this step your first slide may look something like this.


Fig2. - Our login screen takes shape


Giving the text entry boxes logical variable names

Since we will be using the login information in variables that are used to build our statements it makes sense to give them logical names.
  • Click on the first text entry field (the one for Full Name).
  • In the Triggers panel click the "Manage Project Variables" button.
  • Click on the variable that is named TextEntry  then click on the Edit button at the bottom of the screen.
  • Give it a new variable name of "fullName" and click on OK. It is important that you spell it like I have it here since the code that you copy and paste later references the variable with this spelling and case.
  • Do the same with the variable named "Text Entry Field1" and give it a new name of "emailAddr" and click OK.
  • Next, click OK to leave the Variables window.

Note: One point worth noting is that the timeline continues to refer to the text boxes and the text entries by their previous names. This could potentially get a little confusing but we will leave it alone for now. You can rename any of those items by double-clicking on their respective names and typing the new name.

Fig3. - Articulate Storyline's timeline



Creating a Next Slide button

  • Remaining on the first slide and place a button by selecting Insert > Button > pick a button then drag it out across the screen.
  • With the button selected, type Next.
This button will do two things. It will send a statement via javascript and xAPI and it will move the user to the next page.
  • With the button still selected, select Add Trigger from the Triggers panel. This displays the "Trigger Wizard" dialog box.
  • 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 player object
var player = GetPlayer();
//creates a fullName variable for use later
var fullName = player.GetVar("fullName");
//creates a emailAddress variable for use later
var emailAddr = player.GetVar("emailAddr");
 
//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:' + emailAddr), fullName),
new ADL.XAPIStatement.Verb('http://adlnet.gov/expapi/verbs/launched', 'launched'),
new ADL.XAPIStatement.Activity('http://abc_company.com/clickThruExample', 'slide 2')
        );

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

    ADL.XAPIWrapper.sendStatement(stmt); 

This is the code that will send the statement that says the user is launching slide 2.
  • Click OK to get out of the Javascript window, then click OK again to leave the Trigger Wizard window.
  • With the button still selected, select the "Create a new trigger" button.

Fig4. - Trigger Wizard window


  • Set Action to "Jump to slide."
  • Set Slide to next slide then click OK.
  • Copy the button and paste it onto slide 2.
  • Select the button on slide 2 and in the Triggers panel, double-click Execute Javascript.
  • Click the Ellipses.
  • Half way down the screen, change 'slide 2' to 'slide 3' then click OK > OK.
  • This button will now send a statement that says that the user is moving on to slide 3.


Publishing the Storyline story

  • Click the Home tab then click the Publish button then Web.
  • 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 tin can).

The application will create a folder and publish web related files to it. When you open that folder it will look something like this:

Fig5. - Files created after a 'Publish'

Tweaks

We still have a few necessary tasks to complete in order to make this all work.
  • In your favorite HTML editor, open one of these files 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>

Fig6. - The reference to the xapiwrapper.min.js file

  • 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.

Fig7. - Placing the xapiwrapper.min.js file in the same location as the other files



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 double click on it to start the app.
  • Enter a full name (which consists of first and last name, example: Mary Smith).
  • Enter a correctly formatted email address (example: mary.smith@abc.com).
  • Click the Next button. This sends a statement then moves to the next slide.
  • Click the Next button again. By now, your little app should've sent two statements. 

Fig8. - Records as they appear in the Learning Record Store

If you can see your statements then congratulations, you just sent a couple custom xAPI statements with Articulate Storyline 360. Now THAT deserves a badge !

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.