
Every Click Tells a Story
If you’ve heard me talk about “digital body language,” you’ll know I’m slightly obsessed with xAPI. But what actually happens when a learner hits play on a video, pauses, or rewinds to catch something important?
That moment of interaction is more than just a click — it’s a signal, a data point, a story. And with xAPI, we can track that behaviour and turn it into insight.
In this article, I’ll walk you through the lifecycle of an xAPI statement using a video demo as our example. It’s a behind-the-scenes look at how one tiny action turns into meaningful data.
📅 Try it yourself here: https://xapi.com.au/demos/video
The Activity: Learner Watches a Video
Picture this: a learner presses Play on a training video.
That action, seemingly simple, is captured using the xAPI video profile, designed specifically to track video-based interactions. Depending on how it’s set up, we can capture:
- play
- pause
- seek (forward/back)
- complete
- percentage watched
These actions help us understand how learners consume video, not just whether they watched it.
The Statement is Born
Once the learner interacts, an xAPI statement is generated. This is a structured piece of JSON that answers: Who did what, to what, and when?
Here’s an example of a statement when someone hits pause:
{
"actor": { "name": "Julian", "mbox": "mailto:julian@example.com" },
"verb": { "id": "https://w3id.org/xapi/video/verbs/paused", "display": { "en": "paused" }},
"object": {
"id": "https://xapi.com.au/demos/video#1",
"definition": { "name": { "en": "Motorcycle Safety Training Video" }}
},
"result": {
"extensions": {
"https://w3id.org/xapi/video/extensions/time": 62.45
}
},
"timestamp": "2025-06-25T10:32:00+10:00"
}
Each part of this statement is critical for downstream analysis. It’s not just about tracking an event — it’s about making that event meaningful.
Transport: Getting to the LRS
Once the statement is created, it needs to be sent to your Learning Record Store (LRS).
This is usually done via HTTP POST with authentication to ensure it’s securely delivered. If the learner is offline, statements can be queued and sent when connectivity returns.
This part of the journey is like shipping the rock from the learner’s bucket to the central collection point.
Storage: Safe in the LRS
The LRS receives the statement and does a few things:
- Validates it against the xAPI specification
- Stores it as JSON
- Indexes it for reporting and querying
Once it’s in the LRS, it’s part of your learning analytics history. A digital footprint, waiting to be explored.
From Data to Insight
Now the fun begins. Once you’ve collected enough statements, patterns start to emerge:
- Where do learners pause most often?
- How much of the video do they actually watch?
- Is there a drop-off point?
This is where dashboards, AI tools, or something like Remote Reviewer can come into play. You turn a flood of little actions into insightful stories about learner behaviour.
Why This Matters
With xAPI, you’re not just measuring completion — you’re measuring engagement, comprehension, and attention.
Every statement tells you:
- What learners value
- Where they struggle
- How they navigate your content
And that helps you design better learning experiences.
Takeaways
- Use the xAPI Video Profile to structure video tracking
- Store data in a proper LRS (Learning Locker, Veracity, or custom)
- Make sure you’re capturing the right verbs and extensions
- Ask: “What do I want to learn from this data later?”
See It in Action
Try out the xAPI Video Demo: https://xapi.com.au/demos/video
Press play. Pause. Rewind. Then check the LRS Dashboard and the xAPI Statements — and see what your digital body language says about you.
Need help implementing this in your organisation? Hit me up at xapi.com.au or connect on LinkedIn. Let’s make your learning data work harder.
Written in collaboration with AI