Benefits of xAPI Profiles Extend Across Development Teams

(Note from the editor: This article assumes advanced familiarity withxAPI. Beginners may find that additional study and use of reference materialwill be helpful to understanding.)

The xAPI profile is one of the most important components of the xAPI ecosystem.Profiles serve as xAPI schema—translations of structures defined in the xAPIspecification into a format that computers can read. They can also fulfill therole of a domain-specific data model by defining both expected patterns of xAPIdata and the building blocks of those patterns.

The open-ended nature of xAPI has led to inconsistentrepresentation of human activity across xAPI providers; xAPI profiles addressthis inconsistency. The pioneering work of members of the xAPI profiles workinggroup, including Jason Haag and Russell Duhon, has made it possible toconsistently record human activity in xAPI profiles via reusable andreferenceable vocabularies, templates, and statement patterns. This requires:

  • Defining concepts—verbs, activity types,activities, extensions, attachment usage types, and document resources
  • Statement templates—blueprints thatoutline the IRIs (internationalized resource identifiers) and rules for thefields within a statement
  • Patterns—groups of statements matchingparticular statement templates, ordered in certain ways

Using profiles, it’s possible to represent logic as data,clarifying what information is necessary and what patterns are important, andestablishing canonical terminology and definitions. An xAPI profile can begeneral or granular, encompassing anything from a simple list of terms to atightly scoped collection of concepts, templates, and patterns specific to adomain. For example, the ADL profile establishes a small set of verbs and activity types, whereas the cmi5 profile is specifically designed for a use case where the learner launcheslearning content or activity from an LMS user interface. This profile definesspecific interoperability rules for several activities: content launchmechanism, authentication, session management, reporting, and course structure.

Ultimately, profiles let developers avoid redundant work,and they improve interoperability between tools and organizations.

Technical overview of xAPI profiles

Profiles use the semantic webstandards resource description framework (RDF), web ontology language (OWL), and simple knowledgeorganization system (SKOS) to publish definitions as linked data. This meansthat profiles and their definitions must be reachable at canonical URIs, which providereliability, consistency, and reference ability. Because profiles are publishedas linked data, they can contain references to other profiles—for instance, ageneralized profile like the xAPI Video Profile might be referenced in a domain-specific profile, like onefor welder training. This cross-profile referencing system is essential forsolving the inconsistency challenges inherent in the open nature of xAPI. To accomplishthis, the xAPI profiles specification outlines the requirements for anddescribes the fundamental functionality of a profile server as well as that of anxAPI profile processor library.

A profile server manages xAPI profiles and hosts a SPARQL (pronounced“sparkle,” an acronym for SPARQL Protocol and RDF Query Language) endpointcontaining the RDF information for those profiles. The SPARQL endpoint allowsan xAPI consumer or producer to query for current or historic versions of aprofile. An xAPI profile processor library is any programming library thatimplements the statement template validation and pattern validation algorithms.

Validation and contextualization

A statement can specify aprofile it conforms to by including the ID of the desired version of theprofile as a category context activity. Validation algorithms verify conformanceof a single statement or collection of statements to a profile. In the case ofa single statement, this validation consists of matching the statement againstall defined statement templates in the profile. With multiple statements,validation runs against templates and also against patterns defined in theprofile.

The ability to validate conformance allows profiles toprovide domain-specific context and thus serve as domain-specific xAPI datamodels. Scope is one of the most important considerations when writing aprofile to serve this purpose. If the domain being modeled is too general, anauthor may run into issues of conflicting semantic meaning. For example, aprofile modeling athletics would need two definitions for the word “shoot”: Inthe context of basketball, to shoot means to throw a ball at a goal, whereas ina biathlon, it means to fire a gun at a target. Another issue that can arise isthe ability to accurately define processes within the domain. Sticking with theathletics profile example, it would be very hard to define the general sequenceof events that result in scoring; the steps required vary dramatically betweensports. For example, in hockey, scoring requires getting the puck into the goal;in baseball, a runner scores by making it to home plate. To accurately modelpatterns of activity with a domain-specific result, a profile data model domainmust be scoped at the correct level.

Who benefits from using xAPI profiles

Data model authors

An xAPI profile serves as a medium for creating a domain-specificxAPI data model. Previously, when trying to implement a complex system withxAPI from the ground up, the data model author had to essentially create a pseudo-profile.An author typically created a document to track important aspects of the domain,such as key objects and how those objects related to one another, how usersinteracted with those objects, what those interactions meant, and whichpatterns of interactions would be reported. The author had to ensure that ananalyst could use statements representing these concerns to gain meaningfulinsight into the domain. The statements were the only standardizedrepresentation of these concerns; there was no formalized way to validate thestatements against the pseudo-profile, only against the xAPI specification.

Using xAPI profiles, the data model author can representdomain-specific concerns in a standardized format. Statements generated withinthe domain can be validated against the profile to ensure that meaning ispreserved. Patterns of statements can be validated against predefined patternsof activity to ensure that domain-specific logic is not lost in a sea ofstatements. These features allow the data model author to be more expressive;they also serve as a reference for the xAPI analyst.

xAPI analysts

A useful—but potentially overwhelming—feature of xAPI is trackingof granular interaction alongside larger completions. This wide range oftracking typically results in large datasets. Statements contained in thesedatasets may originate from different sources; each source might use xAPI indifferent ways to convey the same meaning, or it might use the same xAPI fieldto convey a different meaning. The inconsistency complicates the analysis andcan result in missed patterns of activity, incorrect assumptions, and inaccuratereports, and it can slow the process of statistical evaluation.

While an xAPI profile does not eliminate all of thesecomplications, it can help the analyst deal with them. An xAPI profile canprovide predefined patterns of activity, help clarify ambiguity, and functionas a reference or a statement filter during data discovery.

Profiles can alleviate a portion of the cognitive loadimplicit to data analytics, potentially resulting in the discovery of patternsof activity not defined by the profile. These new patterns can be reported backto the profile author, setting up a feedback loop between author and analyst thatstrengthens and matures the profile. The xAPI profile specification outlinesstrong versioning requirements for this exact reason; profiles are expected to evolveand improve over time.

Instructional designers

The value of xAPI profiles to instructional designers hasprimarily to do with reducing the legwork necessary to instrument xAPI in alearning system, as well as establishing contextual meaning.

For example, an instructional designer working with a videolibrary in a manufacturing organization might be using multiple profiles—say,the video profile and the welding profile in this case. Each profile providesactivity definitions, so there is no confusion about what “completed” means,and the instructional designer doesn’t have to manually assign a definition.

The profiles also provide statement templates, meaning that thedesigner doesn’t have to craft each xAPI statement from scratch. The designercan bring new tools into the system without worrying about terminologyinconsistencies—if each tool references the same profiles, the data producedwill all be tagged and formatted consistently. Thus, profiles make implementingxAPI a much simpler task for any instructional design team.

The future of xAPI profiles

With all the value that profiles provide now, there is stillroom to grow. The profile server and xAPI profile processor are the foundationfor future xAPI profile tools.

Profiles do not currently support many attractiveapplications, such as badge assertion, measuring key performance indicators(KPIs), or laying the groundwork for machine learning systems trained onexperience data. This should not be viewed as a limitation; rather, it is a strengthof the xAPI profile specification that speaks to its longevity.

The specification defines the essential aspects of a profile and leavesthe rest up to the xAPI community to build upon in new and interesting ways. This is very much in line with the xAPI specificationitself; the authors knew that they would not be able to account for every usecase. So, instead of restricting the scope of the specification, they wrote itin a way that allows for extensibility and adaptation. This goes to the heartof the power inherent in the ecosystem of xAPI specifications—they are specificenough to capture data in a structured way, yet provide the extensibilityneeded to capture data as diverse as experience itself.

Share:


Contributors

Topics: