Contact Us Support Forum Get Email Updates
 
 

Thanks! Someone will be in touch with you shortly.

Rather just email us? Email us here.
Rather speak with someone in person?
Call any time with Experience API questions:

866.497.2676

Part One: How We Decide to Do Work

Posted by

Categories: Ideas, Spec Effort, Standards, xAPI

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:

  • How does Rustici Software decide to do work?
  • How does Rustici Software decide which work to do?

How we decide to do work

There are two kinds of work that are clear yeses for us.

  • Work that serves two or more other organizations well enough that they’ll pay us enough to justify the work.
  • Work that we can do now because it helps us do our jobs better.


Number one might be pretty obvious to you. This is the essence of a products company.

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.

ADL’s guiding hand

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:

  • ADL funds research of a specific type, with specific organizations, which causes things to happen to the eLearning standards.
  • ADL decides what is in – in scope, in the spec, in the agenda for the specification meetings. This is mostly good, because a community needs organization and leadership.

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:

What should we do from here?

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. 

Have a more nuanced response? Email it to us: info@experienceapi.com.

 
  • As a member of xAPI community, we don’t really care who created and host profiles, and appreciate any community leadership. But the needs are – to have profiles that can meet requirement of analytics, and they are available when the needs emerge.(which could be not predictable) Otherwise, we still need to create our own. That’s the question of this effort if it’s intention is to unify profiles. What can we learn from open source community?

  • bsc_scorm

    Hi Jessie, you’re right, who hosts profiles isn’t really important, we don’t really care who creates and hosts profiles either. That said, we don’t really want to do something that won’t get much use, or that’s duplicating someone else’s effort (as a developer, I try not to “re-invent the wheel”). So if we’re not going to be the central repository for profiles, we’d rather not run a profile server, it would be redundant. I’d also like to make sure that what we’re creating is a compelling enough improvement that it will be used where for the most part https://registry.tincanapi.com/ wasn’t.

    I think your question “What can we learn from the open source community?” is a great one, and I don’t know the answer. I’m not familiar with a successful open source project that solves the problem profiles are trying to. `npm` I suppose does something similar, it provides a central registry of packages, as opposed to a registry of profiles. Did you have any examples in mind?

    People will most likely always occasionally have to create their own profiles. What we can hopefully achieve is that they can quickly determine if there is or is not already an appropriate profile for them, so if they do create their own profile it will be with confidence that they’re not duplicating someone else’s work.

  • It seems, this should be set up by the TAG xAPI and commercial companies profile servers should be harvested or aggregated by this official neutral body. paying membership should cover cost for running it in a centralized place.