Getting out of the LMS

I needed something to point to as a way of visualizing what’s in my head and then this post found its way on here.  I’ve been writing extensively about the philosophy that drives much of my decision-making though not always on this site.

I’m always one to snap at people who don’t put words into action so consider this my beginning to walk the walk.  How do we transform educational technology (and education through its usage) when we are typically locked into the FUD of large vendors.

LTI.  As I wrote about at the beginning of the year I see LTI as an increasingly adopted standard that will help bring about the death of the LMS.  So, now that I’ve started to get to test some stuff in Drupal with LTI, diagram and thoroughly war game a plan of attack, here’s what I see being the solution.

The traditional, monolithic LMS

So we have the LMS.  It’s a monster.  They all are, whether they claim to be new and innovative in an open source technology or not.  All present solutions are huge, one bucket representations of education.  This aligns well with the institutional side of education but poorly with the “boots on the ground” view of how education actually happens: completely messy, ad hoc, and organically tailored to each individual (at least when class size allows).

So first, let’s break out of that mindset of 1 system and users being confused by it.  As I type this in WordPress, which I had to login with its own account in an application called Chrome which had to be downloaded and installed on an Operating system that resides on a screen and associated peripherals that I had to figure out how to use… I think you get the point.  You are adapting to what has been presented to you even as you read this, it’s not a big deal.

What is a big deal is pervasive logins and the sharing of data that systems should already know about.  Which leads us to visual two.

Lots of services all talking to each other, knowing enough to keep the UX seamless

We use LTI to get a person over to a system where we have flexibility.  What is assumed by the LMS community is that this is a website / tool for someone to use and interact with in a specialized way.  More important in my mind is making this the new, eventual star of the show in a series of distributed stars.

In this way, you can effectively start to hollow out the LMS and pick up the entire learning experience / interaction and continue it across other services.  I’ll know enough about who someone is to be able to make the right decision or provide a series of options associated to the decision.  We can use LTI both to register new courses in the new system as well as ask existing ones what other services are allowed to be used.  In this example we have four other services that all talk back to the new center.

This methodology is fitting with the Structured Anarchy approach to systems development.  If the UX associated with our online studio tool is degraded over time (which is typical when new shiny things come out), we don’t need to throw out or mess with the service we provide that people like with our instructional flow, course creation tool.  This will also allow us to run different versions of Drupal on different sites and different services, sometimes in a mixed way, without a break in usability.

Data flow is critical to success of any new system once we get it up and running, hence visual three.

All services are separate yet equal in how the central service responds and delivers back to them

This falls somewhere between a Star and Mesh network topology in networked systems design.  We ultimately want to get things to be completely Mesh based where everything is a node and everything is a hub, but this is a good first step for now.

The great thing about using Drupal for the majority of these services is that once we write the connections for 1 type of communication, we have it across all services.  I’m currently building out the Course Information System distribution as the starting point to create your own “online” infrastructure for the new paradigm in edtech development.  I’m working closely with our virtual server contact to ensure that we can deploy each of these services in a well structured multisite’ed way (Drush is awesome).

From there, each subsequent service will be created off of a common core of modules (typically modeled from the Nittany Distribution).  The courses service for examples is being built off of the Massively Open Online Course distribution.  While we’ll use this approach / tool set to deliver to our students internally, we’ll also be able to open things up (a flexibility we currently don’t possess in our existing architecture).

The ELMS distribution is already running in several units.  It along with the related Ulmus distribution will appear as just one service with in this setup.  The nice thing about the way I was developing both of those previously is that much of the code / ideas have been embodied into all other systems I’m building.  This also doesn’t even cover the asset management system that we have serving up media to our courses currently.

As Drupal development has picked up at the university, my ability to scale has increased.  Already module selection and overlapping development efforts that help create better websites has been used to create new features within the platforms discussed previously.

Development in tangentially related projects / modules is always helping improve the user experience and feature set of our platform.  A couple of years ago I was annoyed that more people weren’t getting into the game and it would appear that call has just started to be answered (to tremendous results).

At several points earlier this year I wondered if 2012 would break us or define us; I’m gearing up for a hell of a free and empowering definition.