Get started with xAPI in my product
You’ve got a product and you want to implement xAPI. How do you do that? How do you add xAPI to your product?
What kind of product?
Your product might be an authoring tool, a Learning Management System (LMS), a mobile learning app or something different altogether. Actually, we’re seeing the borders between product categories blurring with LMSs that include content authoring, authoring tools that include hosting and reporting and new types of product that simply didn’t exist a few years ago.
Many of these changes have been facilitated by xAPI opening up new possibilities for product vendors. See The Enterprise Learning Ecosystem for more about the different types of product in Learning and Development’s new ecosystem and What role will my product play in the xAPI Ecosystem? for help working out how your product fits. Whatever your product and the role you envisage it playing, the steps below will help you to get started.
Step 1: Requirements and Features
Most of the product vendors that we speak to, whether they’ve implemented xAPI in their products yet or not, tell us that their customers are asking them for xAPI. The barrier for those vendors that have not yet implemented xAPI is often that their customers haven’t been able to articulate what they actually want to do with xAPI. We’re working to help organizations to get better at that, but there’s also a role for you to play in listening to what your customers really want to do and educating them about the benefits of xAPI.
The first step in implementing xAPI in your product is gathering requirements. You need to decide how your product will make use of xAPI. To do this you should:
- Talk to your customers; some may have an idea of what they want with xAPI.
- Look at what else your customers are asking for and features on your roadmap. Do the solutions to any of these involve data about learning activity?
- Look at similar products; how are they making use of xAPI?
- Read How will xAPI improve my learning product? Which of the use cases and examples will add most value to your product?
Talk to us if you need help figuring out where xAPI might fit in your product.
Step 2: Design
Once you’ve worked out what xAPI-related features your product will have, you need to design those features. The design section of this site contains resources and guides to help you do this.
If your product will be involved in sending and receiving data, you will need to:
- Identify the events that you want to track and the data that you want to capture in those events.
- Identify any events and data that will be inputs into your application, for example if your product will display data from experiences outside of your product or will personalize the learner’s experience in your product based on prior learning outside of it.
- Design xAPI statements that your product will generate and identify the statements that will input to your application. You will follow and possibly create recipes when you do this.
If you’ll be launching content, you’ll need to consider with your developers:
- Will you implement the just simple launch spec or cmi5 as well?
- Will your customers need to be able to upload packaged content to your system or will it always be hosted externally?
If you need to chat your plans through with somebody, or need more help getting started with design, please get in touch. The choices you make in this step might be with you for a while, so it’s important to get them right.
Step 3: Write Code
Adopters often tell us that writing the code is the easiest part of the process. As part of your development you should:
- Make full use of the resources and documentation on our site, especially the code libraries.
- Test your product against three well-established LRSs.
- Ask us to review your statements and answer any questions you have.
Follow the in-line links above or use the menu to continue to explore the site to find any other information you need. Then get started implementing xAPI in your product! Go on, get going!
Need more help?
The advice above may be enough to get you started, but if not, please contact us for for help. We’re happy to help as little or much as you need, from answering questions to offering consultancy to take you through every step.
In particular, if your product is something that will launch content, we have some tools and products that can save you from reinventing the wheel. Let’s have a chat.