Key Points:

  • Should look outside of the learning space for solutions, in particular consider the IHMC KAoS framework.
  • Need something disruptive, otherwise people won’t adopt it unless mandated.
  • Need vision, and a complete technical solution in order to convince people “There’s a bandwagon and now’s the time to get on it.”
  • API should be separate from the data model, leave the data model flexible.
  • ADL should have a plan for handing off the final product to an organization with an open process.

Do you want to start with a brief description of your role with standards and what you’ve done?

Brief recap — it is a long history. It goes back to the late 80’s, where I was doing some innovative work on technology and learning and had to deploy some things across a number of sites, and came to the conclusion that the innovative technologies in a connected world really wouldn’t scale unless you got the interoperability issue down. So I’ve spent some time with Apple, where I became aware of the AICC and thought that was a partial solution and became aware of some other work that I think is actually relevant to what you’re doing now. I was an early proponent of the AICC approach and was with the ADL meeting when the initiative kicked off in 1997 and was instrumental in getting them interested in that approach, in helping out with getting SCORM going. That’s kind of when a lot of consortium standards bodies got going in this field. I participated in a number of them for Macromedia and then later, IBM. So I chaired the CMI working group and LTSC for a while, produced some of the standards used in SCORM.

Later on, I was instrumental in getting LETSI going, which was intended to be the stewardship organization for SCORM and carry it forward. That didn’t quite work out as expected. I reactivated Working Group 11 in the LTSC at ADL’s request, where we’re looking at revising the CMI data model. I’m still interested in standards, The way I see it going is there are these waves of technology that each kind of has their own interoperability requirements, and affordances and sometimes for learning, you need some things beyond that. And the thing that made this area go was in the 90’s, the advent of web-based learning, and now we’re in a slightly different context, where we have a kind of more complex world of lots of different devices, and wireless communication and things of that sort.

I think we’re kind of at the point where the folks who were doing work in this field are a little ahead of the market right now, but there will be an up-tick in the future to come up with solutions for the future for some problems we haven’t been able to solve so far. So I think what I’m doing now, from my own perspective, is kind of helping out a bit with some of the efforts that might get us to that goal.

You mentioned you already had some thoughts you wanted to share. Do you want to address those?

I can give you a perspective of some things I think might be applicable, that actually go back quite a ways. We can see where that gets us and maybe go from there.

In the early 90’s, I started going to the AICC. That’s when I started working on CMI, and frankly, I was a little appalled, by what they were doing, which was very limited. And there were some good folks there who felt the same thing, and we came up with some notions for what we now call “blended learning” over network delivery. And one of the guys who was a key intellectual force there was really interested in agent-based framework. He kind of went off and did his thing, but he wound up being an expert in that field. When we had the LETSI meeting for SCORM 2 at I/ITSEC in Pensacola, the reason we did that was because he was the guy. And because essentially, to see if there was a fit with some of the things he had been working on for quite a while. So I actually think that there might be some technologies out there that could be leveraged to move a Tin-Can-like vision along, to get you further down the road than would be the case if you were attempting to build from scratch.

So in particular, the technology that he had there was something that was actually used for real time battlefield management, where you got people and planes and devices, things you need to coordinate their activities. Especially what it is, it’s an agent-based model, where an agent is just something that can talk to another agent in a particular way, but in the back end, it can be attached to a person, a device, to some kind of software service or to some kind of hardware platform.

The place where it might connect with Tin Can is that the thing that underpins that is actually a very simple service, a stack, of kind of generic calls for things like get, set, notify, publish, and subscribe. And if you have that capability, and you have the ability to connect that to people, software, services, or devices, you’ve got a good, basic, piece of functionality. Beyond that, one of the things they have is a kind of an OWL-based or semantic approach, that’s relatively simple for representing what an agent is and things like context and so forth. And then the question becomes, who gets to say what to whom. Because that’s always been a great bugbear. And they have what they call a policy server. So essentially with this network of agents talking to agents, there’s kind of this declarative, or something that has a declarative statement that says who can say what to whom. And simply by tailoring these, by putting in a new statements or taking statements out, you can shape the communication behavior of the entire network. So that’s probably, it incorporates some of the things you are interested in, and some things you may not be. But what’s kind of appealing to me about it is that there’s a general strategy you might consider and there probably are some things out there, if you keep your eyes open, that might just be able to leverage. That gets you a lot further down the field than you’re likely to get trying to just kind of reinvent them.

The things we’re trying to do, are in large part, probably not specific to learning. The things that people have thought about, but in application areas where there’s probably a lot more money and urgency to actually get something operational there. Especially when you get to kind of looking for technical solutions, I’m a strong proponent of this one in particular from IHMC, but maybe there are some others, you should be looking at these for leverage. Because I think with this effort to ultimately be successful, you’re going to need something that’s perceived as a little bit disruptive. Otherwise, folks won’t use it unless the government orders them to. But if you have something that is kind of seen as qualitatively better, on a number of fronts, that would actually be kind of a good thing to bring into the learning world, and might actually get us a lot further down the field than we’re likely to get otherwise. So that’s my generic two cents. I would be happy to answer any specific questions.

If there are things out there that meet the requirements, that’s great. Going outside of learning is a way that makes sense to do that.

Do you think the problems that we’re looking at, if we solve those it will be disruptive?

Frankly, the way I look at it is it’s a difficult circumstance. Because I think the level of technical problems we’re solving, in and of themselves, aren’t going to be disruptive. Because what it comes down to is adoption. And in order for something to be adopted, it has to be understood and perceived as doing something that is qualitatively not what other folks have. And another dilemma for our community is that as we work away under the hood of these lower level issues, having a conversation about them is not going to persuade people — who are going to need to get excited for something significant to happen. What you’re really going to need is something that’s perceived more as a killer app. I think not just a general capability or API, or something like that, but some kind of concrete application that people can look at and go Wow, this is something I want to do and this is a bandwagon I want to get on. So if you have something that has the potential for that and you have one major player out there, a big player to endorse it, that could actually create interest and demand. But solving the technical problem, in and of itself, unfortunately in my opinion is not going to get you where you want to go. You almost need a kind of marketing, packaging, and a vision, something that’s beyond what people can do, and something they’ll recognize as something they want to do. And that’s a bit of a tricky thing for technically-oriented, low-level folks like us to come up with.

Once we’ve doing prototypes to solve the technical problems, we’ll want to get some of the more interesting prototypes, I guess, and try to not just prototype technical proof we’ve solved the problem, but something that has a wow-factor.

I think the vision thing is an important aspect of it, but also, for technical solutions, having enough complete technical solutions so that people can see, Wait a minute, this is real — so, an example: I know standards groups who worked for a decade on a set of paper documents and no one has yet implemented them. So in a sense, there’s been a lot of intellectual cogitation there, and something’s been produced, but that’s not going to cut it. So you really have to have something that’s enough of a complete technical solution in a prototype stage, that that combined with a vision, convinces people that here’s a thing we want to get involved with. There’s a bandwagon and now’s the time to get on it. So I think it needs to be a fairly complete prototype, so not just a particular capability, but an integrated set of capabilities so people can get a sense of this is a whole new way. It’s not just a piece, it’s essentially a new paradigm.

Do you think there are technical issues, or needs, or trends, in which the market is going to go or the needs are going to go that we don’t seem to be hitting yet in areas I talked about?

Maybe if you could go through some things on the list, I could comment on them.

  • Simplicity
  • Getting out of the browser (getting rid of the JavaScript API requirement)
  • Cross domain
  • Track anything (content doesn’t have to be in an LMS it can be launched without the LMS triggering the launch, and that needs to be tracked as well).
  • Disconnected/offline: We’re not necessarily talking about releasing software that handles this, but if it’s a web service API, the content would be able to handle it, or you would be able to put a proxy in the middle that would be able to handle, in a standard manner, disconnections.
  • Two Way Communication
  • Content as a Service
  • Profile / Context
  • Assessment & Competency
  • Discovery
  • Security

That’s fine for us technical folks, it’s good. But in order to present this in a way that gets people fired up, you’re probably going to have to talk about things like blended learning, working with smartphones and e-book readers, things like that. So there’s a whole — I know, because I spent 20 years doing this — when you talk to people, about stuff down at this level, there’s only a handful of folks who will get why that’s important. So a trick is to represent this in terms of things out there that people see going on, and that they want to do. Like collaborative learning, blended learning, e-book readers, smartphones, etc. Making a connection to how it’s going to bring some of that stuff together and let you do things you haven’t seen done before. That’s sort of a higher level message that I think a broader audience is going to be attracted by.

That makes sense and some of what you are describing, when I’ve talked to people about their needs, those are more specifically some of the needs they’ve mentioned, and I’ve kind of rolled that up into being able to track anything and offline/disconnected. All the mobile cases, a lot of it really falls under those two things. Being able to track something that’s initiated off the LMS, and being able to deal with something that’s offline or disconnected. And then getting out of the browser, not having browser dependency. So there absolutely has to be a kind of marketing side to this, and I haven’t quite taken those requirements and turned them around that way. And Mike and Tim will be able to help do that more effectively than I can.

I think that there are a couple strategies you can go when you design your API. They’re polar opposites, considered way back when the API wound up being in SCORM was being first contemplated. The original approach, which Macromedia and Oracle were pioneering, was to have specific function calls for every piece of information you can imagine. What was gone with was the opposite approach, which was just to have the generic “get, send, set” thing and just leave the data model aspects as separate, something you could be bound to. I think actually that that’s what you should be going for. Is the kind of generic approach that will work with all kinds of data. And as an example, a way you could incorporate specific kinds of data into that. So actually, competencies and assessment data, that’s really more of a use-case that will fit within this new template rather than explicitly being called out in function calls. The problem there is that, having done this for a while — you’ll never get everyone to agree. There will always be some set of learners out there think that you have violated some fundamental pedagogical concept that you can’t even imagine.

What we hope to be doing, in IEEE LTSC is we hope to be re-architecting interaction data, coming up with a generic data-definition mechanism that could be kind of a common denominator for mapping all sorts of things. Competency-data that’s out there, and other things, so that you can have them fit together, and have conformance. So that might be a point of connection working with us, because it’s not clear how we’re going to fare. But regardless of that, my preference would be not to make data-specific function calls. Just go for generic things that can accommodate different data models.

I agree with that, and that’s part of why, there would be limits to how strongly the API can affect this, because if we allow a fairly generic data model to pass through, then assessment can obviously be supported and — some improvements can be supported, and we can prototype that. It’s not necessarily directly addressed in the API. Hopefully if we can set up an API, then a lot of the same technical points will solve a lot of the requirements at once.

I think we’re probably blurring the lines on this on both sides. ADL wants TinCan to use CMI 5 and therefore for CMI 5 to work with TinCan. CMI 5 discussions wander into the API realm, and TinCan discussions wander into the data-model realm.

I think we’re at an interesting place right now, where after a kind of period of stagnation and people meandering about, it seems like there’s some synergy and good stuff cropping up and people starting to contemplate and do some useful things. And there are overlaps, and the fact that all these groups have been talking together a while and that not getting much done is actually paying off. They’re talking together and trying to define complimentary problems. It’s good.

So, any technical things – do you think we’re hitting the right technical problems, any others you can think of we should address?

I just really wish, when you get to the part of doing technical evaluation that, if it would be possible for you guys to consider the IHMC KAos framework, because I think it solves a large part of the problem. And you had top tier research people working on this for like ten years. So the only issue with them is, they’re top tier research people, and they normally get paid for doing things. So I don’t know if that would be an issue. But one of the things we talked about with them in the past is actually trying to map their technology onto SCORM requirements. And there have been a lot conversations about that, going to various parties, trying to get money from NSF, those sorts of things. So I don’t know if it would be possible there, but it might be worth a conversation, just to see if there were some way to look at what they’ve done, because it could be that it’s essentially a solution. It just needs to have a little delta applied to it to make it perceived as working for learning. So that was my hope; I know it’s different from what you were thinking, but as you consider technical solutions, I would just like to put that out there as one that maybe a little evaluation of whether it might fit or not and what that would actually take. That might be a good thing.

Do you have anything else you wanted to bring up?

I’m just a little concerned about things working with ADL, having done so back from literally day one of the initiative. There’s some things that worked out very well. The R & D aspects. There are some things, that when the government gets involved, it helps. There typically isn’t funding to do these R & D sorts of things. The area where there have been problems in the past, it’s been kind of a government notion that it’s a closed process, and really on the transition. So there have been times, like with SCORM, where ADL kind of goes, Okay — we’re done. Let’s hand this off. And that’s not so easy to do. So I think, since this is an ADL-funded effort, you really have to put some thought up front into identifying the areas where there have problems in the past, trying to work through those in advance, so they don’t happen.

For example, this is an R & D effort; it would be useful if there was kind of like an end to it, at which point it gets handed off to some other organization, like LETSI or some group like that where it’s an open process. Because the thing that typically winds up being a problem, especially now days, where there are all these weird government budgeting issues and all these ups and downs, the government, when it runs these things, it’s really a closed governance model. Also where just because of budget issues and things that happen, it’s hard to predict precisely what events are going to follow, so I’m totally supportive of government R & D assistance, but just think about, if this is something that’s going to be successful, at some point, it needs to get transitioned to an open process.

When you say it’s a closed process, SCORM itself, people came to the working group meetings, we talked things through, it seemed to be out in the open, but then ADL makes the final calls.

Ultimately, the decision-making power is with them. Typically in standards groups, that’s not what you want. And there’s a bit of a disconnect, because sometimes their priorities aren’t the same as what you want for reasons that may be quite innocuous, but nonetheless real. Like budgets getting delayed, priorities get shifted.

With this project, there’s certain things they want to come out of it, some requirements coming from them. And they definitely will want it to meet those requirements.

That’s fine. But if it becomes where someone wants to say, this should be a general purpose decision for the world, that’s the point where you need to think about moving it into an open process. For the purpose of this call, that may be largely philosophy. But that’s my spin on it.

Ben is literally one of the top experts on SCORM and xAPI in the world. Heck, he wrote the first draft of xAPI. He’s the Lead Developer for Rustici Engine and enjoys visiting us because we usually get in a Magic: The Gathering draft or game of Commander when he's here.