- Get Started
- Write Code
Posted by Tim Martin
Posted 21 September 2017
A couple of days ago, I wrote about the state of ADL and Rustici Software’s take on it. One of the real community leaders, Aaron Silvers, then shared his perspective, partially in response. If you read them both, you’ll see some overlap and gaps in our responses, but the thing I want to address is that it seemed Aaron was asking a question or making a request of me (Tim?) or Rustici Software in the process.
Important note for those unfamiliar with this space: I work at Rustici Software, a for-profit software company. Since we started working with standards in 2003, we’ve been active within the community and try to build software that spares customers having to deal with the standards. This website, like scorm.com before it, is how we interact with and provide resources to that community.
Aaron may not have been asking these questions, but in order to answer his, I have to explore two questions:
There are two kinds of work that are clear yeses for us.
Number two is a little less obvious, but just as true. Back in the SCORM days, one of the fundamental problems was that it was simply tough to tell what was going on when a LMS launched a piece of content. As good developers do, the venerable Mike Rustici added debugging tools so he could see what was going on. (Keep in mind, this was way back in the days prior to good debugging tools being built directly into the browsers.) Mike was solving a problem he had, but he quickly saw the broader utility of those debugging tools.
We listed that debugging log as a top feature of SCORM Engine from day one. We also decided that it was worth sharing with the world. We wrapped a little bit of code and interface around our core product (SCORM Engine), labeled it SCORM Test Track, and shared it. It’s been subsumed by SCORM Cloud now, but that capability brought thousands of people to Rustici Software and introduced them to things that we do well.
Those debug logs, and Test Track, have had real, lasting, positive impact, for both the community and for us at Rustici Software. If we’re going to do work that fails at number one (making money directly), then we want to have an impact.
For most of the last 15 years, ADL has been the primary organizing force in the corporate elearning standards space. This force is realized in two ways:
This had led to real and important work. Project Tin Can was a successful initial effort on our part, funded entirely by ADL, that led to what you now know as xAPI. Similarly, ADL funded the work that DISC did in 2016-2017 that led to an xAPI profile definition specification. This money from ADL provided incentive, and ADL’s guidance provided direction.
ADL has served as the arbiter, allowing certain things to become a part of the core xAPI specification, and pushing others into other areas (cmi5, for example). They also made decisions about which community projects to highlight, which ones to work from.
Our rules about taking work are somewhat different with regard to standards bodies. On multiple occasions over the last 3 years, work that Rustici has done and offered to the community in various ways (OSS or hosted service) has been passed over or recreated. This includes:
So here’s the crux of it: Based on the current budgetary environment in the US, ADL does not currently have the ability to fund additional research, nor do they have a large number of resources to do work in house. They have retained, however, their position of authority; they decide what’s in, or they do until they don’t.
At some point, we had to start asking ourselves this question: If ADL doesn’t explicitly approve work we’re doing for community use ahead of time with their funding, does it serve us or anyone for us to take on big chunks of work like this? Simply, under what circumstances are we willing to do work to support the community without being paid?
So I have a question for the community… for you, the reader who trudged through just this many words. If we stand up an xAPI Profile Server and a service to test for valid, well-structured xAPI Profiles, on our servers, evolving it at the pace and in the manner we see fit based on the problems expressed to us by our customers and the community, will you use it? Would you allow us to play a significant, central role in that way? And to ADL, would you approve of that?
My sense is that the community would like for us to build these things, but only under very specific conditions.
OK. I’m about 1000? words into a post and I’ve answered one question. But I’m going to stop here. The answer to this one precedes the answer to the second: How does Rustici Software decide which work to do? We’ll come back to that one in a post we publish next week.* Until then, let us know if you’re open to using tools that we build.
* Update: We are still pulling together our thoughts on which work we plan to do based on conversations with standards folks and our own internal team. This is coming, it’s just going to take a little longer than we thought.
Posted by Tim Martin
Posted 15 September 2017
Shelly Blake-Plock announced last night via LinkedIn that he would be leading a Technical Advisory Group (TAG) for IEEE LTSC (Learning Technologies Standards Committee). This is good news, as Shelly is going to carry a real load in leading that group. In his own words, Shelly describes the work in this way:
Our initial purpose is to create an IEEE technical report as a reference and implementation guide for xAPI 1.0.3. More broadly, we’ll be providing an open place for discussion among xAPI stakeholders and we’ll potentially be making recommendations about needs to support widespread use of the specification based on our activity in writing the report.
Our start point is the xAPI 1.0.3 specification. We’ll discuss all aspects of xAPI such as xAPI Profiles and the relation of xAPI to SCORM and cmi5. The end point is open-ended and in our discussion we will work to define the scope of the TAG.
My version: We’re glad the initial purpose of this group points toward standardization. IEEE stamping xAPI would encourage adoption, particularly outside of the US. It would send a positive message to the community at large that xAPI is a real and complete and adoptable thing.
My priority for this group is to remain focused on the standardization of xAPI 1.0.3, rather than evolution. Broader conversations about profiles and other things that xAPI requires (e.g. evolution of the specification and surrounding specifications) are happening in many venues, and I hope this doesn’t spread the community too thin. Instead, I hope they can successfully take the steps that help IEEE consider it for standardization. This is just step one of many in that regard.
So, thanks to Shelly for leading this. We, as Rustici Software, will be sending along one of our experts to participate as well. Ben Clark played an active role in the evolution of SCORM during the 2000s, and was the true leader on Project Tin Can, which led to the advent of xAPI. He’s pretty well informed.
If you’re the adventurous sort, Shelly has invited all comers. His LinkedIn post will point you in the right direction.
Posted by Tim Martin
Posted 6 September 2017
I’ve spent a lot of time over the last couple of weeks learning about some things that are happening with ADL (the governing body for SCORM and closest thing we currently have to a single steward for xAPI right now).
My first tl;dr
Wait. Even that was too long.
A better tl;dr
SCORM and xAPI are both still just fine. Use them exactly as you were planning to before you read this.
Now the long version.
The closest thing we have to news is this. ADL’s funding has been reduced substantially in the short-term. Basically, this means that ADL will make cuts on a temporary basis, and several people who have worked there over the last few years won’t be in the short term. (There are some great people considering their futures, if you’re looking for some expertise.)
ADL’s budget is included in the proper FY18 budget, at a level that is slightly smaller than prior years, but still significant ($11M+ as I read it). Supposing that comes through in February of 2018, they would hire people (familiar faces or new ones) and continue with the same or related work.
Truthfully, we can’t predict what the priorities of that organization will be in the short or long term, but we never really could. Until they say otherwise, I believe that ADL will continue to provide the infrastructure that supports xAPI and SCORM both. This includes the websites that have resources and examples. At Rustici, we have some comparable resources available, and we’ll continue to offer those. If ADL finds itself unable to do certain things at some point in the future, Rustici Software will fill the most important gaps.
Other people and organizations are stepping up and expressing their care and interest in contributing to the evolution and support of xAPI. This can be nothing other than good news. (OK, quietly, and for a small group of us, this can be a little confusing and frustrating. We have to navigate the different bodies and their respective merits. But that’s a problem for a few, not for the many. A service Rustici provides to its customers is absorbing this angst on their behalf.)
Ultimately, what we need as a vendor community and really an L&D community is consensus. We need to agree about how content and LMSs communicate at runtime, and we need to agree about how two systems talk to each other about the things people do. In the end, standards and specifications are a documented form of consensus.
Standards bodies provide some rails for reaching and documenting that consensus. I think ADL’s done a great job of this over time. For as long as there is good, consolidated, effective leadership in these communities, we greatly prefer to defer to and serve that leadership. Should ADL’s leadership wane, Rustici Software would increase our participation and influence consistent with our views on what is best for the community.
Posted by Tim Martin
Posted 20 July 2017
Just a little editor’s note for everyone. You may notice that this site now redirects you more aggressively toward its experienceapi.com representation. In 2015, we heavily revised experienceapi.com and established that, when it came to using xAPI vs. Tin Can, “We call it whatever you call it.” Our goal was to provide resources and advice to people in the way they were looking for it. If they wanted to use “Experience API,” that’s what we’d use. If they wanted to use “Tin Can,” we were on board.
Both in real life and here on the website, we’re pushing a little harder toward xAPI at this point. We’re never going to yell at someone who says Tin Can, but we may just refer to it as xAPI. You’ll also see that we’ve changed all of the references to be explicitly xAPI rather than Tin Can. I promise, we’ve done something more than just “find and replace”, but if you happen upon a place where we missed a Tin Can reference, feel free to let us know. The one caveat is that we’re keeping historical references to “Project Tin Can,” the origin of the Experience API.
We’ll also be updating our prototypes to the new language. As anyone who writes code can appreciate, changing code doesn’t happen overnight, so it will take some time.
Posted by Tim Martin
Posted 14 February 2017
Today we’re excited to announce support for a new specification in SCORM Cloud- cmi5, which is something that doesn’t happen all that often in its history. Along with making cmi5 support readily available in SCORM Cloud, we’ve also added support for cmi5 to some of our other products including SCORM Engine and SCORM Driver.
Obviously, supporting a variety of specifications is a huge part of what we do well at Rustici Software. More than anything, though, I think it’s important for us to be conscious of, and to explain well to all of you, when and why we add support for a particular specification.
So, what is cmi5?
cmi5 is technically a profile of xAPI which means it piggy backs on top of things already well defined in xAPI, but adds specificity in others. For cmi5, this means that certain xAPI statements are required, and launch is handled in a very specific way.
For me, it’s the launch piece that’s so important. From xAPI’s advent years ago, there have been issues with launching content. In the earliest days, we at Rustici Software defined a very simple launch specification that several content vendors picked up on. It was good enough for the time being, but it wasn’t really good enough in practice.
So, over the last couple of years, many people including Bill McDonald (as Chair of the working group) and Art Werkenthin and others at RISC have put a lot of energy into considering how their AICC work could be applied to launch in the xAPI world. The result is that we have a good solution for launching content via xAPI.
Why it matters
Years ago, as we at Rustici Software and others around us started evangelizing xAPI, we made some mistakes. We talked about all of the things that could be enabled by xAPI, the things for which it was necessary but not sufficient. Over the last year or two, we’ve really started to fill in the gaps to make it sufficient as well. And while launch isn’t the dreamiest of capabilities for which xAPI is a solution, it is absolutely fundamental.
If content launch is ultimately going to transition from SCORM to xAPI, cmi5’s support for launch will be a requirement. And further, so many other activities actually benefit from having a well defined, implemented, and adopted specification for launch. So for now, we’re excited to share that Cloud now offers vendors and others a great place to test cmi5 based launchable activities. We hope this helps spur the development of many xAPI/cmi5 adopters.