Monday, January 16, 2017

Using xAPI to roll out MS Office 365

The company plans on rolling out MS Office 365 in early 2017 and approached my group for a training solution. With little budget help on this one we looked for a youtube.com solution with the ability to track who took what. We also wanted the user to be able to watch the videos from anywhere.

Our toolkit for this job started to take shape. We would use youtube to access videos for the hundreds of learning topics on MS Office 365 and xAPI to allow us to track usage. We decided on Bootstrap to make the application work on multiple devices and jQuery to make things happen behind the scenes as well as streamline the javascript code. Other tools were HTML5 and CSS3. Our coding tool was good old DreamWeaver CS6. (Yes, I know). For a learning record store we used the RISC LRS that we use as part of the RISC LMS.

To start with, ADL created a great little application that reads and writes youtube video information to an LRS. It can be found here: https://github.com/adlnet/xapi-youtube

The ADL application sends Youtube Video interactions to an LRS with xAPI. To be more specific, the app sends launched, suspended, resumed and completed statements to an LRS. This is just what we wanted. This means that every time an employee watches a MS Office 365 tutorial we have a record of what they watched. We can see what they launched, when they launched it, whether they suspended or resumed the video and if they completed it.

The next thing to decide on was how our application should behave. We wanted the user to first have to login with their full name and email address. These two things would then turn into the actor information of our xAPI statements. The neat thing is that HTML5 has a feature called local storage that means the browser will retain this login information until it is cleared. This means that the user does not have to log in every time that they wish to watch a video. After the person's initial login we want them taken to a table of contents listing all the videos that deal with learning MS Office 365. When the user clicks on a video link they are taken to another page where they can launch the video.

The desired sequence is:

Login screen ==> Table of Contents ==> Play Video page



The Login page
The login page had two fields, one called Full name and the other for email address. jQuery was used to add these items to local storage and turn them into global variables. For the learner, and their future sessions, the code looked for the presence of these variables and if they were present then the user was taken directly to the table of contents. On the other hand, if the person did want to log out, we provided a logout link for that purpose.

Table of Contents Page
The list of MS Office 365 videos available on youtube is amazing. We had three people including myself curating appropriate videos for learning then building the Table of Contents from that. When we were done the table of contents listed scores of videos and they were all small, granular, and discussed a single topic. This was micro-learning at its best. This page held a series of links and each link passed variables for Title, embed code and description. This information was then used for title and descriptive information for the page displaying the video.

Play Video page
The Play Video page is where the user is taken after clicking the link to the video they desire. It displays the youtube video that person selected and the user clicks the play button to start the video. This sends a launch verb as part of an xAPI statement. Other statements are sent for suspending (pausing) a video, resuming, and completing a video courtesy of the ADL x-api-youtube wrapper. A link at the bottom of the Play Video page takes the user back to the table of contents page in order to watch more videos if desired.

The Play Video page holds all of the code for sending xAPI statements to the Learning Record Store. It receives the query string variables which are sent over when someone clicks a Table of Contents link. This then populates the actor and object parts of the xAPI statement. The finished pages looked something like what you see next, Login Page, Table of Contents, Play Video page.



In order to see the xAPI statements, we open up the RISC statement viewer and that gives us a snapshot of who is taking what. Over time we can make modifications on what topics are needed, what might be removed, and what might need expanded on. We can see the most and least popular topics and we can see if people hang around for the entire video or opt out early.


Statement Viewer

There is a feedback button at the bottom of the application that allows any employee to send us feedback on topics that need added, issues or anything else that crosses their mind. There are also links for additional web based information on MS Office 365 as well as a logout link. The logout link clears the person's session and they would be required to login the next time. We also included practice files in the form of a zip file in case anyone wants to practice their new found skills. A readme file explains which files work best for a certain feature.


Links at the bottom of the application

All in all we were pretty happy with our little, inexpensive application. xAPI and its tracking capabilities were a great add-in and made selling the idea internally easy.
~ John M.

No comments:

Post a Comment