In a classroom situation, teachers use many apps and systems to capture learning data. The problem is that most of those data sets live in different systems and different formats. xAPI makes it possible for all of those systems to report data in a normalized format, and in one system.

To prove this could really work in the real world, we worked on a project with Metryx to take 3 separate educational games/activities and send very similar statements from each. These similar statements are then picked up by a Metryx server in near real time and presented to the teacher formatted in a way that makes sense with the Common Core items with which they are associated.

Using Common Core with xAPI

The Common Core piece of these examples is particularly interesting and useful when looking to use xAPI statements in a K-12 environment. To make it easier for you to get started with Common Core/xAPI, we’ve created a K-12 Statement Generator that includes Common Core Identifiers in the statements it generates. See it here. To see some examples of what xAPI statements look like with Common Core identifiers included, click here.

The 3 applications used in the initial scenario are ABCYa’s Math Bingo, Quick Touch Math and a handwriting example from the TinCanAPI.com blog. In each case, when the student loads the webpage, they are prompted to enter a special code given to them from the Metryx system. Once they do this, the game knows how to report their results in a safe way that doesn’t expose any student information. This identifier is stored with the xAPI statement in the LRS but only Metryx knows what it means. There may be, in the future, a standardized way to identify a learner without exposing private details. For now, it is up to the reporting application and the games to define.

Math Bingo is Flash based so ABCYa modified their game code to make FSCommands (how Flash communicates with javascript) to the webpage to make the actual xAPI calls. These FSCommands execute code that uses TinCanJS to create and send the statements to the LRS.

Quick Touch Math is available as both iOS and javascript, but only the javascript version was used here. Similar to Math Bingo, as the student answers questions, statements are created and sent to the LRS in real-time. These statements include the CCSS identifier for the skill being tested as well as the result of the interaction, what the student answered and how long it took them to answer the question once it was displayed.

The TCDraw handwriting example allowed us to demonstrate open ended results by presenting the student with a simple handwriting exercise and capturing the input. The actual image data (base64 encoded) is included along with the statement for the reporting tool to display for the teacher to grade with a slide bar.

Javascript-based applications can take our code examples and use TinCanJs to send their own data and be included in the overall results for the teacher. iOS and Android app developers can use the corresponding SDKs and statement samples to enable their applications to report this data to the teachers’ fingertips. This not only opens more doors for educational game developers in schools, but allows them all to ‘speak the same language’ to the ultimate benefit of the teachers and students.

Brian Rogers is the team lead for the DevSecOps team at Rustici Software ensuring our products are running securely and optimally. He is one of the O.G. Rustici employees with years spent on the inner-workings of countless customer LMSs and even his own LMS.