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.


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.


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.

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…