Integration

Engagement analytics for xAPI (Tin Can)

xAPI (Tin Can) records completion and navigation well. Attention is a different measurement problem, and it is solved in the content layer.

4 min read
In short

xAPI (Tin Can) reports completion, progress and assessment results, but has no visibility into attention within a piece of content. Emotuit adds content-level engagement data — dwell, focus, tab-switching and drop-off position — through a sub-50KB script, alongside existing reporting rather than replacing it.

What xAPI (Tin Can) already gives you

xAPI can express essentially any learning experience as actor-verb-object statements, stored in a Learning Record Store.

What it does not

xAPI is a transport format, not a measurement strategy. It will happily carry engagement data — the constraint is that most content emits statements only at coarse checkpoints: launched, completed, answered. The vocabulary is capable; the instrumentation usually is not.

This is not a criticism of xAPI specifically — it is true of essentially every standard on the market. Completion and navigation data is what these systems were built to record, and they record it well. Attention is a different measurement problem, solved in the content layer rather than the platform layer.

How Emotuit fits

Emotuit emits engagement statements to your existing LRS using standard verbs, at whatever granularity you configure. Nothing new to host; the data joins your existing learning record.

The SDK is under 50KB, adds one script tag, and requires no migration or infrastructure change. It runs alongside xAPI's own reporting rather than replacing it.

Details

Statement design

We emit against experienced, progressed and terminated with engagement in the result extensions, so statements remain queryable with standard LRS tooling rather than requiring a bespoke reader.

Works with

Any conformant LRS — Learning Locker, Watershed, Veracity, SCORM Cloud, Yet Analytics.

What you get

Metric Detail
Content-level engagement A score for every section, not one per course
Drop-off position Where sessions actually end
Focus-adjusted dwell Real attention, discounting background tabs
Tab-switch rate The strongest single predictor of disengagement
Replay behaviour Where learners went back — a confusion signal
Cohort comparison A/B test content versions on real attention

Deployment options

Emotuit runs in two configurations, and for standard deployments in the EU the choice matters.

Signals uses behavioural telemetry only — no camera, no biometric data, no emotion inference. It sits outside the EU AI Act Article 5(1)(f) prohibition on inferring emotions in workplace and education contexts, which makes it the default recommendation for corporate L&D and education.

Learn adds a client-side facial expression layer. It should not be deployed to EU employees or students, and is intended for market research, UX and media testing contexts.

Frequently asked questions

Does this replace xAPI's built-in reporting?
No. It runs alongside it. xAPI continues to handle completion, grades and compliance evidence exactly as before — Emotuit adds the content-level attention layer underneath, answering which sections held people rather than who finished.
Does it need a webcam?
Not in Signals configuration, which is what we recommend for standard deployments. It uses browser events only — visibility state, window focus, dwell, scroll and interaction timing. There is no camera permission prompt because there is nothing to permit.
How long does integration take?
Typically a day or two. Most of that is mapping your content structure so engagement data lands against the right sections and modules rather than an arbitrary timeline. The script itself is one line.
Will it slow the platform down?
No measurable effect. The SDK is under 50KB, listens to native browser events rather than polling, and batches its reporting. It does not touch the rendering path.

See it on your own xAPI content

We'll instrument one module and show you the engagement data before you commit to anything.

Request a demo
Get Started

See what completion rates can't tell you

Find out exactly where your content works, where it fails, and what disengagement looks like before people leave.

Request a Demo