What’s Experience API (xAPI)?
xAPI lets applications share data about human performance (broadly defined). More precisely, xAPI lets you capture (big) data on human performance, along with associated instructional content or performance context information (i.e., experience). xAPI applies “activity streams” to tracking data and provides sub-APIs to access and store information about state and content. This enables nearly dynamic tracking of activities from any platform or software system, from traditional Learning Management Systems to mobile devices, simulations, wearables, physical beacons, and more.
For more information refer to adlnet.gov
Q: What we can track with xAPI?
Track micro-behaviors, state, and context, such as…
- Reading an article or interacting with an eBook
- Watching a training video, stopping and starting it
- Training data from a simulation
- Performance in a mobile app
- Chatting with a mentor
- Physiological measures, such as heart-rate data
- Micro-interactions with e-learning content
- Team performance in a multi-player serious game
- Quiz scores and answer history by question
- Real-world performance in an operational context
Why do we need xAPI?
- Track any experience (formal, informal, or operational)
- Platform and subject-matter agnostic
- Built upon RESTful and JSON (so it’s lightweight)
- Human (and machine) readable
- 100% free with no licensing fees or vendor lock-in
- Open source and community maintained
xAPIWrapper – Xamarin .NET Standard Component for xAPI
xAPIWrapper is a Xamarin .NET Standard component built to simplify interfacing with standards-based LRS from any Xamarin iOS, Android or Windows Mobile Application or any .NET Web, Enterprise or Desktop application. The xamarin component provides a simple interface, very similar to adding Log statements to the code. It has easy-to-use API’s for Android and iOS, helpful classes, and methods to track user interaction with any digital assets in a simple Actor, Object, Verb verbatim. The complex interactions can be captured in form of statements, activities or scores using simple log like statements.
Why use the xAPIWrapper?
- It’s a .NET Standard library, that supports the majority of the .NET apps
- An xAPIWrapper.js port implemented in C# that can be leveraged within your Xamarin iOS or Android app to interface with any LRS
- It abstracts the complexities and semantics of the xAPI specification
- It eliminates the need for end-users to know the internals of the xAPI specification
- Using the library to generate statements is as easy as adding log statements to your code
Installation and Usage
Import component in your Android and iOS apps.
For Android
Brief: Following code can be used to send a xAPI statement to an LRS
For iOS
Brief: Following code can be used to send a xAPI statement to an
It’s Free and Open Source!
xAPIWrapper is an open source under an Apache License and is 100% free for anyone to use to enhance.
xAPIWrapper is Asynchronous by Design
Each interface and API has a dual implementation with synchronous and asynchronous calls using the async-await pattern to be inherently high performing. The xAPIWrapper is unit tested from within the web and mobile apps to test each interfaces standards compliance.