What is LRN? What are Webcomponents? Why is it the future?

If you’ve been paying attention to twitter, I’ve been rambling on and on about 1 thing lately. #Webcomponents / #Polymer. Depending on the tweet I use one or both. It’s not that I’ve left the #drupal community or converted elmsln over to a different platform; it’s that I’ve found a design paradigm that I can’t un-see.

Webcomponents

Let’s back up a bit.. What are Web Components? Webcomponents (of which you can find many on the webcomponents.org community site) are moving along as a recommended W3C specification (hasn’t 100% stabilized yet but it’s been in the works since about 2014 when Google really started pushing the idea and currently all major browsers can support them via polyfills or javascript filling the gaps). In other words, really smart people that meet to discuss the direction the web should go have said that all browsers should natively support the concept and are largely in agreement about the way to do it (very different from when they were proposed in 2014 with no route to implementation).

Webcomponents aren’t actually 1 standard, they are 4 standards that when paired together, make web components possible. If you are interested in the 4 specific standards you know how to google but TL;DR version:

  • Webcomponents are made up of Custom Elements that are Imported into the page
  • This is a fancy way of saying a <custom-html-tag-like-this> can be added to any webpage like this <link rel=”import” href=”../custom-html-tag-like-this/custom-html-tag-like-this.html”>
  • Modern browsers implement a “shadow dom” approach meaning that it renders the contents of custom-html-tag-like-this.html meaning that it doesn’t need a compiler like Angular or other web framework in order to render (which means much faster then them at doing so), then at run time sees the <custom-html-tag-like-this> tag and goes “Oh, I should throw this in its place!”. Shadow Dom also enables “scoped CSS” which basically means that elements present themselves exactly like they do in documentation as opposed to influenced by global CSS.
  • Browsers have all agreed (to varying degrees of implementation thus far) that these make sense
  • This isn’t really that different from the HTML5 <video> tag as far as how the browser processes that to build a player to run the video

What’s in a custom-html-tag-like-this.html file?

That’s the best part, everything required for just that single tag to do it’s magic. So you get a very clean file that has dependencies (since webcomponents can reference other webcomponents), css for this component, normal looking html (though it could also be other <custom-tags-that-you-made> since they stack just like normal HTML), and javascript to define custom properties and functions.

We’ve been working on many but I think lrndesign-blockquote is one of the most straight forward examples we’ve produced thus far. This allows us to wrap the <blockquote> element in a structured way so that we can provide new options / attributes. This will allow our end users the ability to write something like:

<lrndesign-blockquote decorate quote=”It was the best of times, it was the worst of times” citation=”An old dusty book”></lrndesign-blockquote>

and have it show up in the browser like it does here.

Polymer

So now that we have working knowledge of what a Webcomponent is we can jump ahead to Polymer. Polymer is a google backed community / open source project that effectively helps solve the chicken and egg issue of developing against new standards:

  • Chicken: Developers will only implement the standards browsers have
  • Egg: Browsers only implement the standards developers will use

To combat this (and provide general efficiency when building) Polymer has created what are known as Polyfills, or javascript that fills in the gaps in browsers to support different aspects of a specification. These Polyfills progressively enhance IE 11, Edge, Firefox, and Safari in order to make them able to support all aspects of the Webcomponent specification as best they can. The idea being that these training wheels can be taken off / modified as the other browsers implement the 4 parts of the webcomponent specification.

You didn’t mention Chrome or Opera

Correct, because all aspects are natively implemented in both which means your webcomponents you produce run crazy fast in Chrome and Opera, as if it’s no different from normal HTML!

Polymer also comes with a Command Line Interface and some other efficiencies when building webcomponents that make it much faster then building without. Basically a single command of polymer init in a blank folder asks you prompts and then starts downloading and positioning code in the right places.

Then running polymer serve –open and polymer will start a mini-webserver to serve up your element as a documentation site like this one. It’s pretty damn magic and incredibly easy to get oriented to.

So this is all on your generally less-technical ELMS:LN blog because…

Because we’re working actively on building out our own series of custom HTML elements intended for ELMS:LN but we are planning and developing them in a way that they will be usable by any educational or non-educational solution. These tags will all be open source individually and packaged in a way via our ontology that allows for remix and reuse in amazing ways.

LRN – Webcomponents for learning

We’ve prefixed these tags with three letters to make them very easy to read and say as a sentence: LRN. This also is abstracted from “education” so that we can share terminology and design needs with training and mooc communities of practice. You can see demonstrations of our current tags we’ve built through our webcomponents.org organization page.

lrn is broken into 4 levels of tags which you can read about in our ontology documents. These are:

  • lrn – an instructionally focused group of elements
  • lrndesign – a design focused group of elements
  • lrnsys – a behavior / system layer group of elements
  • hax – lrnsys tags which are more repurposable then even lrn so named differently

Together, we can build a well documented style guide for the expression of educational concepts that will have no system specific boundaries. These elements can be loaded into any system connected to the internet so long as the tag definitions are imported. In ELMS:LN we are obviously doing this via a Drupal integration, but there’s nothing stopping us (or you) from running these in any other solution you can come up with!

Design elements (lrndesign) are abstracted from logic (lrnsys) and purpose (lrn) driven elements. Instructors / instructional designers would then be able to write an html tag that has the exact purpose of what is instructionally significant about what they are trying to write instead of constant translation of concepts and assets to code tags. It also will allow us to build a method of content construction we are code naming HAX (short for headless authoring experience).

Video showing our shared future

This is a video I shot just as I was about to make a new webcomponent. It jumps in right at the point that I’ve copied an existing one and renamed it, so it’s a bit of jumping around talking through what works and how it works while at the same time me just coding / fixing some issues that pop up. We’re always looking for people to join us both as developers and idea people sharing how they could utilize something like this best for their needs. Let us know what you think!

The LM-essest 1%: Death by IT governance

As with everything, I have nothing to back this up. But anecdotally from faculty and instructional designers I’ve talked to recently, I’d imagine that they love LMSs if they were allowed to change the 1% of the issues that bug them.

For example, if you don’t have the ability to import a rubric and have to enter it manually from a previous system. That 1% capability of the LMS may be so obnoxious that it sours your entire experience. This isn’t really a problem with the LMS, it’s a problem with IT governance and dated policies.

I’d be curious to see the stats on open platforms like Moodle and Canvas when deployed as large central instances vs distributed, smaller ones at college and department levels. I’d imagine that as you get closer and closer to the end users (as far as levels of governance) that perception of quality of the same tool would improve.

I’d do research, but in the age of Singularity, bloated research is dead and gut instinct is the only way to survive. Because structures and institutions won’t change, the LMS community is doomed to a fate of less customers, more requirements. Unless the larger LMS community adopts google-esk, distributed, app-ified, networked services approach to implementation via LTI or lightweight APIs; it will be in a continued state of decline much like the cord-cutters leaching users out of the cable industry.

I think right now the LMS community’s response will be much like cable: you need us, you’ll come back, you’ll never leave, we’ll just raise rates to make up the difference. 4-5 years from now though, they’ll still be saying the same thing and those that get off the sinking LMS ship (now) will be mas money and students ahead of their dinosaur counterparts.

Because they aren’t willing to change their governance or financial model, they will be in a state of staged collapse over the next several years.  The issue at hand is that technology has changed the nature of the way new businesses and ideas can be disseminated and they are still living in the days of brick-and-mortar style buildings that are trying desperately to remain relevant in the “new”-new IT driven economy.

All it will take is a visionary “uber”-like disruption and the entire thing will be threatened; all because the people making the decisions are unable to step back and realize they are the problem.

Earthquakes of a Drupal LMS

Based on recent events (and added traffic to my site through search term “Drupal LMS”) I think it’s fair to say that the rumblings of a Drupal LMS are a bit more intense then a year ago. First some other opinions on the subject:

Hack Education

Moodle Discussion board

Add in the fact that Schoology and GoingOn Networks have their own LMS entries that are Drupal based and you might see where this is heading.  Enter the main event and one of three major discussions to come out of Drupalcon in my mind (for education at least): The discussion board on Drupal.org that’s starting to heat up.

There were a lot of discussions at Drupalcon about what it would take to make Drupal a full blown LMS.  Many vendors and organizations in the past have mashed up Drupal and Moodle to get the best of CMS world and best of free LMS world.

The reviews in the room (about 20ish) were mixed as to the result.  It was ok but not great.  There also seemed to be the feeling that the moodle community might be in decline from an outsiders perspective.  Based on the last 24 hours, it would appear that Moodle is about to be at an inflection point in adoption.  Either BB will help bring about the death of Moodle on FUD (fear, uncertainty, doubt) alone; or the community will continue with an influx of passionate educators and edtech leaders taking the charge.

As some other interesting notes from the shake up worth mentioning:

  • Dr Chuck from Sakai is also going to be involved in getting Blackboard to be promoting that project.  I’m not sure what impact this will have on that project but I know there’s a lot of fear about a project lead of his clout “jumping ship”.  While I don’t view it that way, especially from talking to him in the past, there will still be that perception (FUD)
  • Moodlerooms had a bunch of ex-Angel employees; funny how now suddenly BB isn’t going to be sun setting Angel.  Curious to see if those Angel people who jumped ship once will do so again to other moodle shops.

I also mentioned that there were three important things for Drupal in education as a movement to come out of Drupalcon Denver 2012. The second one was that Drupal in Education Unconferences will now be a yearly thing thanks to FunnyMonkey.  Drupalcon is in Portland next year (Funnymonkey’s hometown) and so the Unconference should be epic!

The last point is something that’s currently in the works and has been active for about six months, just under the radar.  A Drupal in Higher Education UnConsortium which is currently in the process of adopting a charter and more official name.  This un-developer network was announced at Drupalcon Denver and has had about 10 active members that meet monthly and have standards they are working towards to the benefit of all of education.  I’ll have more information about that in the coming weeks.

What I’m really excited about..

I’ve been really excited about the progress I’ve been able to make with the ELMS distribution for the latest version.  To most, it will seem that this has to do with adding functionality and additional stability to the platform.  Those are great, but there’s something far more subtle that I’ve been able to establish in the platform with this version: Something not specific to education.

As I’ve written before, I believe fully that better technologies / frameworks breed better, more sustainable solutions.  As such, it may seem counter-intuitive to put all this effort into something that is inherently non-educational.  I’ve done this to maximize the impact and eyes that can get on the code at all levels.  If this was just something that worked for educators (like Moodle is) then I’d be more or less barring 80% of the community from caring.

While previous versions of ELMS were mired in the context of Courses and Offerings of courses, as of Alpha 6 I’ve been able to break free of these connotations at a code level.  Everything you see with ELMS that makes you think it is specific just to education has been abstracted.  Here’s how:

  • Install Cores – ELMS ships with two install cores as of Alpha 6.  This is mostly just to showcase that it is possible to install the system towards very different purposes off 95% of the same code-base. The Instructional CMS (ICMS) is what was originally being developed towards solely, this will now enable me (or anyone) to develop towards a more collaborative learning environment (CLE) while reusing almost all of the work I’ve done for ICMS.
  • String Overrides – All language that references Courses, Versions, Offerings, and things specific to the ICMS have been written back to a single variable in the database.  The module providing this is called String Overrides and essentially allows you to alter the context of the system’s language globally with a simple form.  ICMS alters this language a little different from CLE, and suddenly we start to have two very different systems.
  • No required Theme – This is a major difference between ELMS and all the current distributions out there. ELMS has no required theme. While it ships with a theme called Cube enabled for the system layer, this and any theme from drupal.org should be able to be used in the mini-sites that are created.  Most of what a system is to people is in the theme layer so this is critical in my mind.
  • Regions – ELMS as a system layer is more of a wrapper on top of traditional Drupal.  This wrapper (provided by a project called Regions) enables the user to do one very important thing: Never have to touch Drupal pages. I think this will take some getting used to for some devs but ultimately it provides much more consistent, touch friendly interface elements that keep people focused on the site without detracting from it.
  • Kit Compliant Features – if functionality works one place it works many.  That’s what Kit packaged Features in Drupal allow you.  It’s like modules and configuration of how to use them all rolled into a simple enable button.  Because ELMS features are kit compliant they will work in the various implementations of ELMS that are going to come down the pipe (ICMS and CLE are the beginning)

It is for these reason that I’m so excited about the potential for the types of systems that ELMS can create.  It also puts my mind to rest knowing that I can swap out the entire connotation of the system on install. This vision is of a picture I’ve had in my head for the better part of a year, driving me slowly to madness :).

I’ll be presenting at Drupalcamp Baltimore Friday on this concept of using one distribution to mutate into many. I think you could reduce the development time of many complex systems as a result of the ELMS code-base.  The code / feature set allows for anything that meets these requirements:

  • There is a wrapper of some kind (parent, or course) that has micro-sites associated to it
  • There is a micro-site (site, or version) that can function also to the same level of flexibility as a full Drupal site

Here are some concepts that I think could be built with ELMS pretty quickly:

  • Popular Blog site dot com – This web service has a User to Blog relationship (ELMS + blog theme + blog + simple aggregators)
  • Popular Survey site dot com – This web service could have a User to Survey or Organization to Surveys relationship (ELMS + Webform)
  • E Portfolio –  1 to 1 Student to slightly different kind of blogging platform (Popular blog site dot com + a few image views)
  • Rubric Management service — Course to Instructor relationship (ELMS + Rubric)
  • Student Club management — Club to website relationship (ELMS + a few themes + features from atrium / commons for collaboration)
  • Asset Management System — Organization to Project relationship (ELMS + few content types to handle media implementation)
  • Traditional LMS – While i wouldn’t recommend this, it’s certainly not far off (ELMS + Quiz + Gradebook + LTI)

I know a few people have asked if this is an LMS platform to which I say, this is about transforming the LMS model.

My 2012 Prediction for EDTech

Many others will give you their predictions for 2012. I am not many others, so I will give you one prediction.  In typical fashion, this will be probably seen as completely over the top, but I never could paint with pastels.

2012 is the year that Learning Tools Interoperability (LTI) starts to hollow out the Learning Management System (LMS).

Last year—and flowing into this year—the groundwork and infrastructure has been laid that will bring about the death of the traditional, single point of entry LMS.  I believe that technology standard is something known as  (LTI).

What is LTI?

LTI works essentially the same way Twitter and Facebook do when authorizing other apps to share a login.  Using a standard called OAuth, FB and Twitter are able to generate a secure one-time login time of address that is only valid during the current connection.  In plain English, it’s a secure way of letting you login without creating an account.

LTI brings this same type of security standard to the LMS world.  Site builders can create trusted login relationships between the traditional LMS and toolsets outside the LMS.  This allows you to pass information about students and instructors (and other roles) between systems, creating a seamless experience for the end user. You can then pass someone multiple directions as needed.

LMS (e.g., Canvas) to LMS (e.g., Moodle or Sakai) and, more importantly in my mind, LMS to non-LMS.  Maybe you can understand the next heading when framed with the following context:

  • All major LMS projects (proprietary included) are getting behind LTI;
  • LTI is far less complicated to understand and implement than SCORM; and
  • LTI can easily be implemented in non-LMS systems to bridge them with LMS systems

The Trojan Horse

LTI is how we finally escape the pit of singular system that has boxed up educational experiences for so long.  Why do you think faculty and students always end up utilizing ad-hoc methods to manage and communicate knowledge?  We provide them with tools for drop boxes, they use Flickr. We give them email, they want light-weight chat integration.  We give them forums to structure content, they use Google Docs.

LMSs and the scale they need to be built to, combined with the pace at which universities adopt new systems is a perfect storm scenario.  We constantly are behind the needs of our users, off-the-shelf and custom solutions never meet needs for long or fully satisfy audiences.  It’s not because the tools are poor, it’s because the structure is wrong.

LTI allows instructional designers, instructors, developers and management to think differently about the way they plan and implement learning systems.

A Structured Anarchy Future

Many of my ideas for my original Structured Anarchy post were borne from trends I noticed in the non-edu space with regard to technology; ideas that have turned into my obsession.  LTI/OAuth is the solution to a problem that the corporate/Web 2.0 crowd solved many years ago — pervasive logins across multiple websites / servers.

Students don’t want to have to learn multiple interfaces, yet Google seems to have over a dozen services strung across different addresses and different functions and are very successful.  Have you ever not used Google maps because the interface was strikingly different from Gmail? I realize I’m just pinging on Google, but Yahoo, Apple, Microsoft and many others are doing similar things.

Ultimately, you need to make a focused Web service; do something REALLY well; create project teams to sustain development for it and then feed users to it; create a singular method of login; make the experience seamless or reduce it to a “click to connect to {XYZ};” and provide standard UX / UI elements.

Personal Learning Environments

A Personal Learning Environment (PLE) is the suite-of-tools approach to learning systems designed to minimize the LMS.  Look, we need an LMS/central system (at least until this gets wider implementation) —it’s just the role of that system needs to be far more minimalist.

An instructor wants to create a blog for their course. Let’s provide them with the best tool possible. Name the LMS that handles blogging well, please. (while I don’t support using this) WordPress comes to mind for blogging.

An instructional designer wants to create an e-text that’s separate from the LMS because it’s mostly static content. Name the LMS that handles content really well. Hence the need for an Instructional Content Management System.

An instructor wants their students to have a conversation around video / audio assignments.  Name the LMS doing that well.  I’m told they are getting better at it but will they ever be youtube or a youtube clone?

Students want to collaborative work in teams and manage their project.  LMSs project group spaces and areas for document management, but do they come close to Google Docs, Basecamp, or Atrium?

Now, rubrics, gradebooks, email communication…I’ll leave these to the LMS.  Social interaction on the Internet is changing at light speed, while university and college infrastructure was built to house knowledge in a similar form for decades at a time.  It’s time for a change.  Universities and colleges need to transform or fade away.

An old adage is that college is an experience, and that many people are paying for that experience.  As that experience becomes increasingly more digital, let’s build systems that can help provide the best experiences possible.

If only there was a system positioning itself as part of the learning platform revolution…

Rumblings of the Drupal LMS

I’ve been seeing a lot of chatter recently about Drupal as part of the university landscape.  One system that has yet to be created but there seems to be rumblings of is the Drupal LMS.  Conversations with various colleges and universities about the potential of using Drupal as the next LMS seem to be popping up more and more as well.  There are lots of closed source LMS out there, which I’m obviously in love with but a Drupal based LMS is a massive undertaking and currently, one does not exist (that’s an open distribution at least).

I was accused of starting to build an LMS a couple years ago when we started talking about ELMS (pronounced elms like the tree not E {pause} LMS).  I say accused because many open source LMSers will tell you to use Moodle and that anything else is a replication of effort.  As a side note just to make sure its in writing: ELMS is not an LMS, if anything it’s closer to a LCMS — Learning Content management system but as there is no fine grain user tracking or grade book component it’s not a learning management system.  I’m writing this to give exposure to a larger movement that seems to be afoot to make drupal a LMS.

Now as I’ve found in the past, you don’t bad-mouth Moodle, especially not while sitting in a MoodleMoot presentation ;).  Trust me, I’m sure you’d get a lot of platform fan-boyism from me about Drupal if criticized too, everyone loves their own kids :p.  But here are the reasons I usually steer people to Drupal away from Moodle.

  • Moodle is just an LMS
  • Drupal can be anything
So applying these logical conditions to the following problems, which makes the most economic sense long term (not tomorrow)?
  • We want to build a website for our college (Drupal)
  • We want to build an intranet for our department (Drupal)
  • We want to build a community site for our students (Drupal)
  • We want to build a mailing list for our alumni (Drupal)
  • We want to build an asset management system (Drupal)
  • We want to build a content management system (Drupal)
  • We want to build a LMS (Moodle?)
  • We want to build a blogging platform (Drup…ok no seriously just use WordPress)

So let me get this straight.  You’re telling me that Drupal can be used for all these different systems?  And that we will hire Drupal people and train people in Drupal for all these different purposes and can share employee knowledge / skills across the different units of our university… except for the LMS?  That’s a special exception because of the size and scale and it just can’t be done.  We need specialized programming knowledge in order for that to be achieved.

Really? I think what we need is access to specialized end-user knowledge.  Based on some discussions and presentations floating around the web I think you’ll start to see some movement towards a Drupal LMS.

Some postings I’m referencing as my “evidence” that there is movement here:

Ultimately I think various Drupal LMS platforms will start to emerge or at least good recipes for people to follow in building their own.  A few reasons as to why since I don’t need to go over them endlessly:

  • Drupal’s community is huge
  • Wide variety of Drupal themes
  • Tons of Drupal usage in higher education
  • Drupal is NOT educationally focused, so solutions are tailored to solve big architectural problems of the web (= lots of devs) and then viewed through the lens of an educator, modules can be selected and developed
  • Quiz, Gradebook, Content Outline Designer modules already exist and I’m sure others will start to pop up

Structured Anarchy

A year has passed since I first talked about the concept of Global Success vs. Global Failure of the LMS.  I am writing now to talk about how I’ve begun working towards that goal that you might better plan for a decentralized future as well.  Decentralization can be scary, after all, it’s everyone for themselves.  The fear was well expressed to me in a phone call recently:

anytime I’m told we’re building it ourselves I feel like we must be doing something wrong

And yes, historically this is accurate.  If you went it (truly) alone without any underlying structure you were “doing it wrong”.  Starting from a single line of code and working from there is not the way to go about tackling our problems.

What I’m calling for though isn’t to start from nothing; far from it.  Today I would like to introduce a phrase I heard recently that hit me so hard I had to write about it.  It’s the phrase I’ve been looking for to describe what I’m building towards and what I’m personally calling for in future development strategies: Structured Anarchy (SA).

At first glance this phrase may seem set against itself.  How can something be structured and have order, while at the same time lacking order and structure entirely?

Take the forest as an example:  While you can look at the forest and say that the trees have been chaotically dispersed; you can see the trees as individual components of that random landscape.  They have defining characteristics and all have a similar underlying structure.  Some trees are different shapes after years of growth, but they are all generally the same (having leaves, branches, roots, etc).

This is what I hope to build with our future implementations of ELMS.  A forest, so dense and seemingly random in layout that there is no organization.  Some trees having more branches than others, or different colored leaves; yet, still all sharing the same underlying structure and coming from the same source of seeds.

I have been implementing our own form of SA in-house by slowly moving us further and further from centralized systems.  Here is a chart of our move towards Structured Anarchy since 2006:

This slideshow requires JavaScript.

We start out very centralized, only housing our own core content in Dreamweaver files.  Then you can see we slowly transition from a centralized system, to our own.  The process continues and increases in pace as we shore up more and more of our own Information Architecture.

My plans of structured anarchy, often referred to as project Ulmus, has helped us put our destiny in our own hands and given us greater control of how we want to develop and structure course materials going forward.  The idea being that we can continue to provide better experiences for our students and staff through continued refinement of our own infrastructure while centralized authorities must remain relatively static in order to serve the general population.

Part of our success with SA involves the organic spread of the technology.  We’ve had many early adopters locally but now the time has come to attempt to spread the reach of ELMS further.  Later this year, a full version of the ELMS core platform will be released with more systems to follow by the end of 2011 into 2012.  Currently, I am working on ELMS Core – Alpha 3 but it is planned to be production ready by August 2011 (in-house) with public and internal releases shortly there after.

ELMS Core is just the first in a series of distributions that you’ll see released in an effort to not only nudge us further away from central systems but help increase platform sustainability through adoption.  Currently the second and third distribution releases are:

  • Asset management component to simplify the embedding and copyright management of media
  • Student collaboration component with a heavy focus on critique and community

The idea isn’t to make each of these “products”,if you want to call them that, do Everything.  The idea is to have each one focused on meeting a certain goal and using minor APIs and authentication to knit all the systems together. This has shown to not be an issues for students or faculty (through anecdotal evidence as well as minor surveys) over the last five years that we have been moving in this direction.

So the message hasn’t changed from last year.  Technology has been empowering in the past and it continues to be today.  As such, we are constantly able to do more with less (ELMS is still a one-shop, one-person show) and look to keep moving in an increasingly independent direction.

I look forward to the coming year and where this discussion may take us instructionally as well as technologically.  Please feel free to offer your two-cents on the concept of Structured Anarchy or our direction in general.