2015 was a heck of a year for Learning Locker and xAPI in general. We won some game-changing contracts, made nearly 30 releases and finally found a stuffed squirrel toy that looks a bit like our logo.

Oh and we also integrated Moodle (with the help of the CLC), got installed 2,500 times and signed partnership deals in Europe, USA, Australia and Japan. Pretty good going.

But since October we’ve been a little quiet. Let me fill you in on what we’ve been doing and where we’re going next…

Governance Changes

When we first released Learning Locker as OSS I was careful to try and create a governance structure that was representative of both the xAPI community and the E-learning community. Everyone that we asked to sit on our boards said yes and everyone contributed in their own way to our decision making.

But HT2 was doing 95% of the work on Learning Locker; we didn’t get as many commits to code as we wanted. This meant in reality we were increasingly going in the direction we wanted to go without the need to consult with our governance boards.

Having the governance boards up on our website but not giving them any impactful decisions to make felt dishonest. So having consulted the boards, I decided to disband them back in October. To a person, each supported the decision and supported my plans for what we would do next.

We are still very much open for community contributions however, and somewhat ironically, since that time our community contributions have actually increased. The only difference is that, for now, Learning Locker will proceed under a HT2 Product Owner (Andrew Hickey, our lead developer), instead of a community board. We probably needed to do this before we do what comes next…

The Dreaded Re-Write

It’s never a good idea to re-write software.

That being said, there were some legitimate limitations to a PHP-based Learning Record Store. In terms of accessibility and time-to-competence for the widest possible user base, PHP is still a solid choice. We know that PHP 5 applications aren’t setting many records for speed and that has become increasingly apparent as installations have hit scale of 1 million+ statements. PHP 7 looks like it might change that, but it’s early days.

Version 1 of Learning Locker had met most of its goals by September of last year. Speed aside, we had some new features that we really wanted to start work on, but they would require some changes to architecture.

More than anything else we wanted a straightforward path to developing a suite of evented tools. “If this, then that” sorta stuff. We also wanted to look at some significant issues with using xAPI in the real-world; reconciliation of IDs, scoping of different levels of personally identifiable data and making meaningful data analysis.

All this is happening whilst we’re going up a gear; from storing millions to storing billions of pieces of information. Our v1 architecture wouldn’t cut it.

Welcome, Learning Locker Version 2

The core functionality is still there: it’s an LRS and it stores xAPI statements, just faster than before. It will of course be completely backwards compatible thanks to the xAPI spec. Upgrading will be very simple.

We’re trading out PHP / Apache for NodeJS and a bunch of related technologies. We’ll talk more about the stack in the coming months. In terms of the product itself, the reporting has been overhauled making it much easier to explore your statements, build visualisations and custom real time dashboards.

We’re also working on a suite of evented tools to help Learning Locker be the bit that ties other applications together. For example you can model business processes with xAPI statements and have your Locker trigger actions when they are completed or failed. On top of that, it looks much nicer!

We’re partitioning the work so as not to over-commit ourselves. A wholesale re-write is hardly ever advisable, so we’ve taken a modular approach. But this does mean that for a time the v2 stack is a bit of a handful.

It won’t be something that’s simple to install for a while (oh yea, we’ll work on that too!). As such we’re going to be releasing v2 as a hosted service only whilst we pull together the OSS release later in the year. We’re calling that the Enterprise version.

We’ll be doing previews and our first customers will go live in March. Please get in touch if you’d like to get a look or get us to deploy it for you. The general model is that we’ll push our most cutting-edge improvements to paying customers and then look to push them on to OSS a few months later. We intend to repeat the cycle going forward.

Will v1 continue to be maintained / improved / supported?

Yes. In fact we’ve got an update planned for the coming weeks which will use a fork of the Jenssegers PHP Mongo library to improve speed. We will continue to push releases throughout 2016 to maintain and improve what we have.

We will gladly pull and test any new features with a view to integrating them into v1. It is still very much worth your time to commit code. Community support will run for at least 12 months beyond the OSS release of v2 and we’ll support paying customers well beyond that.

I’m outraged / enthused / indifferent and I would like to express this emotion in public

Lucky for you we’ll be at Learning Technologies in London (Feb 3-4), Learning Solutions in Florida (March 16-18), xAPI Camp Jisc (April 22) and LAK in Edinburgh (April 25 – 29).

So please do come along and talk to us about v2, Learning Locker and xAPI in general: We would love to talk further and we’ve got those stuffed squirrels, plus our xAPI Against Humanity cards will be making an appearance!  

If you’d rather express your emotions with us in private, you’ll find our contact details here.