I made this acronym about a year ago now after doing some analysis / thinking as it regarded sources for my master’s research paper. For whatever reason the idea has come back into my brain under a different banner…

TLDR; People can mirror what systems do to attack “problems”. Systems can be setup by hackers to do DDOS (distributed denial of service) in which traffic is flooded against a target, knocking it offline. I point to examples like Occupy Wall street / Arab Spring where people demonstrate this is possible in real life as well through non-compliance with social norms. I called this DDOSA or Distributed Denial of Systemic Authority.

The OER social model

Thinking on OER and OER-lite solutions, I see DDOSA as almost a reverse funnel; people systematically and intentionally unplug from previous workflows in order to disrupt through exclusion (the reverse of overwhelm by occupying a space is to disperse from a space). Done effectively, the DDOSA effect can also take place within peer to peer networks (which really, any good social movement is just a lot of these but with financial backing to hit scale at times). In this case, faculty get together informally and reject traditional publishing models.

Through exclusion, they reject the financial norms attached with content and reject notions that authority provided by publishing models is some how lesser then self-publishing. If only universities would recognize this as part of the tenure process… oh wait, they are starting to! Can we achieve this in other spaces? Like, oh I dono, platform centric spaces as well?

As a platform developer with a passion toward one of my university’s missions to transform education, I see DDOSA as particularly useful concept for approaching problems in the textbook and interactive media production spaces. Interactive media, like textbook publishing of olden-times, had traditionally been difficult to create, manage and maintain. So when those three get together, talk about a party!

A recipe for infinite vendor success

  1. Find a difficult UX problem (where difficult is only unique to education’s demands of adopting incredibly piss poor solutions historically)
  2. Form a company that has really awesome marketing, so much marketing that you can really trust that they know what they are talking about, even years after all the actual innovative people have left for greener pastures after the VCs and the marketing department took over. Who knows, maybe even use Twitter Bootstrap as your design framework and Facebook’s React for your application development. Talk up how impressive you design expertise is; I mean hell, you just took these two AMAZING frameworks and smashed them together so pat yourself on the back yo!
  3. Provide LTI integration, because this allows you the ability to either not extend the usefulness of your product fully OR entangle your client in potentially hundreds of micro-contracts that they will never be able to migrate off of. WINNING!
  4. Mark the code open source, even though your company authors 99% of the code base and doesn’t have a community driving development beyond support forums (I mean, PURELY hypothetically)
  5. Draw from a seemingly infinite well of university level RFPs from CIOs that call for the previous 3 requirements to be met, simple ways of explaining these complex problems, and then an organizational context steeped in tradition that makes everyone believe they need these products int he first place to be successful (I mean it was on hacker news and the Today Show, it must be good!)
  6. After establishment; put forth almost no effort knowing yes, you have “solved” a problem for education and done almost nothing to automate the deployment of this “solution” to 1000s of institutions thanks to the miracle that is entirely open source, F’ING FREE, automation, programming, server, and front-end technologies then funnel these “innovations” out through LTI, allowing the RFP process to be streamlined (hash tag #thanksDrChuck!)  *</end-snark>*

Another way out

But what if there was another out? (spoiler: there’s always another way out). What if we leveraged a technology and released the code for it in such a way that it couldn’t be put back in the bottle (aka behind endless paywalls and SaaS solutions that ride the same bare metal AWS instances that open ansible scripts loaded into jenkins servers could handle without humans…). What would such a solution look like? What happens when education leaves the technologies we provide behind? What if we encouraged faculty to abandon the solutions we’ve held to for so many years? What greater success stories would we write.

A recipe for infinite student success

  1. Treat existing vendor based implementations as base line, starting point, and legacy. Craft a support team and directive around sustainment and gathering of requirements for the innovation team. As Troy Martin, enterprise architect @ BYU told me: I tell vendors that we are the lego grid and they are the bricks, not the other way around. They can play on that grid, but ultimately, they are just building blocks.
  2. Form a crack development and innovation initiative. The entire goal of this group is to transform the processes of the existing organization. Disrupt one’s self or be disrupted.
  3. Release everything produced under GPLv2, MIT, BSD 3 Clause and other open licenses that can be repackaged and utilized by other platforms. Through open contributions that can be repurposed across communities, we can eliminate the current market place formation. Remember, divest from existing spaces in order to funnel dollars away from existing spaces into new areas of innovation and research. Your small changes in behavior and activism to encourage others to do so as well have lasting network affects on the organizations you divest from (and your own as you invest in your own future).
  4. Standardize all front end development practices on web components. I can’t stress this enough. If you remember one thing from this entire thing, it’s that what we’re doing with LRNWebComponents will be transformative for education long term because of the mindset. We are liberating our application layers of back end systems and making a pedagogically informed HTML specification that all major browsers can read nativelyI’ve been blogging a ton about this recently, here’s the latest in case you want to see the most recent insane thing we did (insane always relative to time investment to produce).
  5. Build your technology around the pedagogy, not the other way around. Take an instruction and instructor first approach to development and technology production. Don’t just select products; embed your team in classrooms and analyze what’s working in that context; then prototype around that. (I know a certain platform that’s been used successfully to do this at scale for years at a certain land grant institution….)

By encouraging faculty to utilize new, different, faculty-centric, and decentralized approaches from the norm; we can better explore what new norms we have yet to forge. What ways work better, or worse, or somewhere in between. By having a prototyping arm you also set yourself up for future success because you will always have noodle-y problems not being addressed or met with “we just don’t have the resources to attempt that” all over the place.

Imagine what world we will build when we all play on innovation’s team instead of who got the most users to implement X vendor product. What technology will we dream up when dreaming is faster, freer, sustainable, secure, and well designed ByDefault.

Then stand up, and help build the revolution.

“Universities can’t make software”

“I mean. I’m just saying, that sounds a lot like a company. Have you thought of making a company?”

Yes. In my mid 20s (so 2010-11ish), when I plotted out the impacts of the work we would do, I thought about not writing about it, burying it deep in my notebooks and taking it to someone, anyone who might understand. Maybe some VC somewhere would throw money at it (had one or two on the phone but I would never elaborate).

Why wouldn’t I give it up… because.. it’s not mine to give. As a Christian, I don’t claim my ideas as my own. I was gifted with talents that I am the steward of. You were as well; whether or not you attribute them to a higher power, it is a moral imperative to humankind, our children or the future in general, to make the most of our time on this earth and our talents to sow the seeds of a better future. We owe it to those who made the world in which we live (no matter how imperfect it may be).

So..what happened to the idea? I let it go. I unleashed it on the world, and published it under the banner in which I represent my ideas as (legally my ideas are their IP). The reason for this “alignment”? My banner told us we can publish everything as open source (copyright us of course). And so, under the banner of open source and transforming society we lay in wait, building infrastructure for years that no one could comprehend… Knowing that one day, some day, people would come. (If you build it, they will come).

Well.. the chickens are coming home to roost. ELMS:LN has picked up 1.5 core developers in the past month, with the prospect of potentially another core developer in the coming months. Sitting in the “bull pen” today (because that’s what it’s become when 5 people are there writing code, SVGs, and learning how to build the future) I realized how special the season of life we are all in. We’re walking in the same direction.

So what is that direction? Transforming education. (minimalist goals as always from me of course). But what does that even mean? I relate an example I related to the newest member of the project;

I dono… maybe examples help. 8 years ago, we replaced a $250 textbook with a $30 fee to help make the material sustainable. Now you, as a student if I told you I was saving you $200+ dollars you’d say…. “Oh wow cool, 200 bucks I have for something else” right? You get the benefit but economies of scale, not a huge deal.

But, that course has run for 8 year, across 300 students a year. That’s $600,000 in savings distributed across 2,400 students but more important then the students, that’s $600,000 out of the pocket of knowledge arbiters of yester-year. Now this is one course… and we’ve been doing this in close to a dozen….

Now… take this story and extrapolate it. What happens to when we intentionally devalue the nature of information over time? What happens when that 100$ chemistry textbook with all it’s interactive content is now free (or damn close to free)? What happens when those SaaS are replaced by free, better, more open, community and faculty driven alternatives? What happens when those require no effort to maintain at distributed scale? With services like lets encrypt automating (and eliminating profit motive) in the SSL / HTTPS space; we’re not that unreasonable of a space to attempt similar offerings in.

It’s the waves that the publishing industry (print media) has been sacked by. NYT, Time, etc have no idea how to craft a publishing model when anyone can blog for free (and unfortunately, opinions come close to free then we devalue knowledgable sources in media).

So I ask… is it that crazy to think we can intentionally cause this singularity in educational technology? What happens when we give faculty access to multi-million dollar toolsets for pennies on the dollar (salaries) running on servers that continue to push the boundaries of performance and efficiency simultaneously? What impacts on society does this intentional application of technology provide? What if we had access to deploy these technologies on AWS and the same ecosystems that all of our vendors are?

“That sounds like a company” — too many to count now…

Yeah.. it does doesn’t it. But as I keep responding to much confusion… “yeah… but what if it didn’t become a company.. what if it just kept growing.. what would happen then?”

When we intentionally devalue work we collapse traditional business models in that space. As an example…

It’s the year 2009. Websites cost most units 40k to build (oh… I dono, random number). Single websites, let’s say less then 50 pages of content; 40k. Now, that 40k is either in personnel or it’s in SaaS style offerings that have that price tag. What happens if I come in and can offer the same services, at higher quality, for cheaper? Well, capitalist market forces come into play and lower cost for higher quality = success right? Well, what if instead of accepting more money for this, we just let you ride on the services that already exist; assuming a form of “basic income” stream attached with keeping a service afloat at all.

What does this do to market forces when there’s nothing to combat them? When money is no longer the bargaining chip and all others are equal. In this scenario, let’s assume all tech rides on open source, and the only thing people are paying for are contracts that make them feel good about their decision (ala every LMS the last 20 years).

“Universities can’t make software”

But what if they did? What if we attacked this narrative. What if our institutions didn’t have to pay multi-million dollar contracts for software that other spaces get for free (pages + educational content = education; no liberated space pays the insane money we do for so little in return. I’m talking about you LMS vendor space).

What if we decided to start making software, free software.  The most accessible, usable, open, software imaginable, built off of the latest technology and powered by secure, scalable backends. Built with a philosophy of technology in mind and an eye towards where we know we can take society instead of just meeting the needs of the next meeting objective.

What if the up-tick in processing, combined with a growing chorus of voices that believe in something more then just “getting rich” or “making it big” decided to make a difference. What if we all decided to realize what we’re waking up for every day for work and that that work is transforming education through low cost, high quality, customizable, user-driven educational technology platforms and solutions?

Then what if I told you this isn’t the world we hoped to create, but the world I Know we will create; you will create.

I’m 33.

and Hey….

I’m playing this game with an eye towards 40. and then 45. and then 50. and so on till expiration.

This isn’t some job to me. This is my mission; more importantly, no longer just my mission but our mission. Some of us have kids, some of us have a desire to make education cheaper, whatever the reason, we have a need to make things better tomorrow then they were yesterday. But I assure you, all of us have motivation and enough fuel in the tank to make it happen.

We will transform education. And it won’t be from the side-lines or silicon valley or endless committees. It will be from within. Because we recognize who we have to be. And we hope you’ll join us in our journey to make education a better, 0 cost place.

One Open sourced webcomponent, bash script, docker image, vagrant vm, jenkins script, Drupal module, css, javascript, and html line at a time.

Buckle up. Things are about to get even more real; real fast.

Together, we’ll cross this river.

Nature, nurture, heaven and home
Sum of all and by them driven
To conquer every mountain shown
But I’ve never crossed the river

Braved the forests, braved the stone
Braved the icy winds and fire
Braved and beat them on my own
Yet I’m helpless by the river

Angel, angel, what have I done
I’ve faced the quakes, the wind, the fire
I’ve conquered country, crown and throne
Why can’t I cross this river?

Angel, angel, what have I done
I’ve faced the quakes, the wind, the fire
I’ve conquered country, crown and throne
Why can’t I cross this river?

Pay no mind to the battles you’ve won
It’ll take a lot more than rage and muscle
Open your heart and hands, my son
Or you’ll never make it o’er the river

It’ll take a lot more than words and guns
A whole lot more than riches and muscle
The hands of the many must join as one
And together we’ll cross the river

It’ll take a lot more than words and guns
A whole lot more than riches and muscle
The hands of the many must join as one
And together we’ll cross the river

Nature, nurture, heaven and home
(It’ll take a lot more than words and guns)
Sum of all and by them driven
(A whole lot more than riches and muscle)
To conquer every mountain shown
(The hands of the many must join as one)
And together we’ll cross the river

Braved the forests, braved the stone
(It’ll take a lot more than words and guns)
Braved the icy winds and fire
(A whole lot more than riches and muscle)
Braved and beat them on my own
(The hands of the many must join as one)
And together we’ll cross the river

And together we’ll cross the river
And together we’ll cross the river

17 – 1

He sets up behind his own net, walks out in front, defender 1 attacks (toe drag), defender 2 goes for the poke check (play off the boards and past him). Defender 3 is out of position and now only 1 defender left, a simple inside out move, now we’re on the outside on the backhand. Time to apply “the can opener”. This involves 3 weight transfers while doing a short tap on either side of the ball, followed by a toe drag. Now, instead of a normal approach where this would involve a shot 5-hole, I do a 180 hop and then drag to the far post around the poke check while moving left to right and tap the ball in while falling down (the directional transfer at my weight is still too much for my like-new skates with indoor wheels to handle).

Nothing but net (and congratulations from teammates / the opposing goalie because it’s men’s league and quite friendly). 26 years of practice leading to this moment, being able to awe 20+ people in a no-name town with all the speed and stick handling practiced in my driveway. Reliving past memories, or simply escaping reality for a bit. Usually, it’s enjoyable, a way of reliving a bit of my past when I did play some competitive hockey for the school team. Reliving that play in my head against Drexel in the post season where I walked the entire team in my 1st season with my best friend growing up watching me torch his college. This day though, was about something else though; escapism.

I don’t write about hockey, and I don’t talk about how much I play because I try to compartmentalize the worlds a bit. But I noticed something in me that I haven’t felt in a very long time. It wasn’t enough to just score, or to setup teammates. I wanted to.. no, HAD, to embarrass the competition. I wouldn’t just play to relax or have fun, I was playing to escape. And I haven’t felt the desire to escape in over 12 years. Hockey to escape, as friends have noted previously, isn’t the same as hockey to have fun. When I’m having fun, I try stuff, I mess up, I play a typical lackadaisical pick up style. We score some, we let up some, someone steals it (oh well).

No, this wasn’t fun hockey. This was escapism hockey (we’ll get to from what). When I play to escape. I don’t just play, I destroy. For example. I missed the 1st period of our game. At the end of 1, the score was 2-1 our team. At the end of the game, it was 17-1. When I play to escape, I don’t let up. I don’t just want to win the game, I want to make it boring for all involved with how much non-stop scoring there is. I want to toe drag every member of the opposition then tip it off to a teammate for a tap in. I don’t like that person. I’ve kept escapism hockey down for a long time not because I don’t like winning; but because I don’t like the person I am that “accomplishes” the winning.

What am I running from?

I’m running from being trapped in this career without any real way of expressing it that doesn’t seem like it would “get me in trouble”. I’ve always been told I have a “don’t give to F’s” attitude which gets others in trouble and leaves me unscathed. Trust me, it doesn’t make me friends when applied to a work context. I’d love not to be this way, that would be really nice at times.

But I can’t deny who I am. I want to make education a better place. I also believe in pursuit of singularity technologies; technologies that bring about a fundamental transformation in a space of practice, where the previous laws that dictated norms in the space are no longer valid. I’m trying not to allow the words of a keynote speaker drown my enthusiasm (and hopefully at the end of writing this I’ll be back on track) but….

“There has never been a successful open source project that’s stemmed from academia” – Computers and Writing 2016 keynote speaker

This and a few other platitudes that seem incongruent with how our project team sees things:

  • Academia doesn’t produce software, that’s for industry.
  • Have you thought of making this a company, companies can do what the academy cannot?

I’ve been wrestling with these harbingers of doubt. Why keep going? Who’s “Waiting for Superman” (movie, see it) that you are supposedly going to help? No one cares, no one gets it, no one here believes in you that wields power.


These thoughts keep haunting me, especially when overloaded with projects that I push myself to get done by impossible deadlines that seemingly have no end in sight (even if “finished”). Why keep fighting, what’s the point? I don’t write to dissuade you from pursuing dreams, but only to realize that imposter syndrome strikes us all from time to time.

After hockey, a friend who I’ve been a sounding board for years returned the favor and I can appreciate why advise seems to go on deaf ears at times. Through all this ranting (though with the real issue at hand involved), he just kept telling me to have fun. To remember, that all of this is about fun. If it’s not fun, it’s not worth doing. And I kept trying to find in my mind more and more “Ya but…” ‘s. My mind wants to rationalize that things couldn’t be that simple. That it couldn’t be me allowing things to crush me in my mind more then they should.

“You’ve built an empire, stop and appreciate that”

In a world where our empires are digital, it’s so hard to actually appreciate them. Anything can be built up and torn down with a simple series of rm -rf *

‘s. When this is true, it is hard to stop some times and realize there are real world consequences for the technologies we build, advocate for and implement….

We’ve mobilized everyone* (almost everyone) in a uniform development paradigm. We’re on the edge of the industry right now when it comes to Web Component architecture (Youtube and McDonalds just released, but I mean, other then them what REAL people are using polymer?).

And maybe because it’s the edge, that’s why it feels so lonely…. but my friend is right. It’s important to keep perspective. To stop, and listen. To enjoy the spring time, focus on what is attainable and keep polaris fixed in her seat as that north star. That ultimate goal of transforming education and educational technology. I’ve been buying too much of my own marketing.. and wanting us to be something more then we are. But then again, no one said there wouldn’t be repercussions, and self-doubt associated with the intentional by-pass of management tracks. It’s just so hard to get over sometimes when the people you trust the most abandon not you, but your ideas…

The game is scheduled, it’s sunny weather outside, it’s time to play… I just need to talk to the sports psychologist before puck drop if I’m going to actually have fun playing the game. Because.. if it’s not for fun… what’s the point of playing at all?

5 reasons to come to Open Apereo 2017 in Philly

I’m here to tell you, yes you, that you should join us at Open Apereo 2017 in Philadelphia June 4th – 8th. Why though? Well, as someone who only attended last year by accident (a friend invited me to join him in his presentation) I can say that I was overwhelmingly impressed by the event. I attend a lot of education / ed-tech / Drupal events, and Open Apereo was by far and away my favorite event I’ve been to; right up there with DrupalCon, OpenEd and UniversityAPI UnConference.

Early bird registration ends this Friday (May 5th) so now is a great time to register and save some coin.

So, here are my 5 reasons you should be there (ok well 6):

1. The people

This beyond any other reason is why you should attend. I absolutely loved the people of Open Apereo when I went in 2016 at NYU. I knew 1 person coming into the event (Dr. Chuck Severance) and left with a nice little network of people that I’ve still been keeping in touch with regularly a year later! Everyone I talked to was interested in why “A Drupal person would be here?” and would leave our conversations with a greater understanding of where I was coming from and why I felt (increasingly as the event went on) that it was important that I be there and get our community to unite with this one.

As an example, I had a 15 minute speaking slot in a session and when I mentioned “I’m thinking of pursuing incubation to join this community” the room of 50 or so people all started clapping (mid session). It was cool to know there’s a group of people beyond my traditional communities that was openly encouraging a technological outsider (nothing there is GPL and nothing there is PHP to my knowledge, and no way is anything there Drupal till now..) to unite with them.

The only other audience of attendees I can relate Apereo to is Open Ed. If you’ve been to OpenEd you know that everyone there has this unified mindset of “We are going to make education better by making open textbooks, open materials, and lowering costs to access as a result, through free or at least advocating cheaper solutions”. Well, take that and apply it to educational platform development. Everyone there whether administration, developers, management, faculty or staff, EVERYONE is unified in mindset that we can improve education and innovate best when we do so as an open community.

2. The mission

Open Apereo is like the Apache Foundation but for educational technologies (What do you mean?). Think of Open Apereo as a way for open source edtech communities to all get together and speak with one unified voice. Does it mean that everyone in the community HAS to use other platforms of the community? No. But it does mean that cross pollination can happen more easily because of proximity and it never hurts knowing what other people with similar mindset (open source all the things!) are up to and thinking about for their next releases.

3. The sessions

[See schedule here] Sunday has a lot of training opportunities and is sort of a “pre-event” if you will with workshops including one on xAPI from the Aaron Silvers and company! The bulk of the sessions of the event run Monday through Wed morning with related events specific to communities within Open Apereo taking up Wed afternoon through Thursday.

One thing I loved about the session selection last year is that it’s all over the place. By that I mean there’s something for everyone to learn and find something at their level. If you want to just get an intro to something there’s Audience tags on all sessions and these are very different from most events I’ve been to. Audience tags include: New comer, student, developer, faculty, staff, Technical, Administration member and Advocate. This along with the Project tag, help to indicate the types of users this is speaking to but also the project it’s about.

*There are four ELMS:LN related sessions this year so we’ve got our own tag 🙂

4. The platforms

Sakai, Open Academic Environment, CAS, Xerte, and uPortal are just a few of the communities involved that play a prominent role at Open Apereo. “But we don’t use Sakai as our LMS?” – Me neither. The best conferences where I’ve learned the most are the ones where I “didn’t fit in”. Innovation doesn’t lay with the same group of people with the same platform all talking to each other, it’s when an “outsider” comes in and provides a new perspective based on their experiences. Open Apereo is an incredibly diverse group on multiple levels, very important for educational technologists though is thought diversity. So many different platforms with different use cases, different countries and world views of education, different clients, different different different. It’s awesome!

ELMS:LN will be represented as well formally now that we’ve gotten into their incubation program (and believe me, we’ve got nothing in common with Sakai, this ain’t no Sakai exclusive event if my rag tag band is accepted to speak anywhere in public).

5. The location

Philadelphia is a hub of educational institutions, along with PA in general. It’s not far from major cities and has a lot to do on its own if you want to roam around post conference / find great places to eat while there. Make sure you spring for a Cheese steak or two (with or without “Wiz”).

6. Lightning Talks (BONUS REASON)

There are 3 lightning talks scheduled for Tuesday afternoon. One of which is mine entitled: You can’t buy the ocean so PLEASE stop trying to purchase your way to NGDLE. I highly recommend you attend if your looking for someone to just “be real with you” about NGDLE and where open source and edtech are situated currently. As someone building in a completely different community (intentionally) I think I bring a very unique perspective to more traditional edtech world views.

Also given the fact that I recently gave a talk at DrupalConNA (Drupal’s yearly, US based national event) and said (well, my colleague Michael Potter said) we are here to save Drupal from itself by declaring the end of the web as we knew it. We plan to do this by eliminating the Drupal Front end way of authoring content in Drupal, I’m not above being as provocative as possible to forge a new vision of the world.

I spent much of this post talking about how much I need / love Apereo, but I think Apereo needs me and what our team is working on just as much. How can ELMS:LN be the best platform it can be? By actively building up communities and technologies not currently in ELMS:LN (huh?). I’ll explain it in this talk and how it applies to everyone in the room working in their cubby-holes on different UX patterns when we could all be working on open UX elements via LRNWebComponents and disrupting ourselves to prevent anyone else from doing so.

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!

University API Un-conference Debrief

I recently attended a new conference (well new to me anyway) called University API Un-conference. This is the 3rd time it’s run at BYU and is sponsored by the CIO / BYU Enterprise Architects group. They didn’t ask me to write this but in favor of transparency they sponsored me coming out to talk to expose attendees to the ideas driving ELMS, especially in areas of xAPI.

But anyway, I’ve been to plenty of “unconference”-ish events given that Drupal is usually pretty informal, hosting Birds of a Feather (BoF) rooms where anyone can write down a topic and meet informally. Room number, whiteboard, and go. I was pleasantly surprised by the quality of a facilitator lead unconference!

We started the day writing a brief topic descriptions on big sheets of paper, then we sat in a circle and gave like a 20 second pitch of what our topic idea was. Then we put them up on a board based on room and timeslot we wanted. It was an interesting collaboration and meet and greet in one. There were also ground rules associated with no worrying about who was in your session or how many and also not getting offended if people moved around.

Topics were all over the place. From university API (they have an API-frist architecture that all systems integrate with, it’s pretty incredible in and of itself), “help me learn about API” style working sessions, pet projects, LRS development, Swagger.io documentation talks, Event management APIs, ELMS / OER family of topics; really anything edtech builders it was there. As I expected, there were several past Apereo attendees / member organizations including Duke represented. I figured as much because I felt incredibly comfortable with the audience, people knew how to build things instead of just buy them, and the open culture really creates a vibe not present at some other edu events.

My big take aways:
– Swagger is something I really need to learn more about. BYU has a system similar to the elmsln read the docs integration where documentation can be ingested and replicated in a drupal site (funny, same workflow, same starting point, same endpoint, different bridge code to do it). It would really help us with our Polymer elements long term I think since it’s for building and documenting APIs clearly.
– Tone is incredibly important. During an OER discussion, I mentioned the notion of overthrowing past governence structures (said much more flippently then this even) and someone challenged me as to what I meant by it. She then described what she thought I was saying, which was the same thing basically but sounded way less threatening. This stuff only happen in Open and when all parties are willing to question and be questioned as equals.
– API centered design, several years after being put into practice, is something incredible to behold. Day 1, it can be painful and those painpoints were expressed, but now a few years out it’s rather amazing the kinds of integrations / solutions BYU can craft as a result of this approach.
– The idea of an “event” / “activity” API endpoint is something I’ve never thought of before and something they have working very well (even if it’s early on) at BYU. The idea is that any action that you want to track / report of any kind gets sent to an events endpoint. Anyone can create a type of event / action and supply the data to back it up
– Sovrin – I’ve never heard of it before but Sovrin the technology for global distributed identity (think blockchain but for identifying individuals securely across any solution out there) is a pretty awesome concept that’s gaining some traction. There were several discussions around the idea of Sovrin the technology and Sovereignty as individual student ownership of data and empowering students to be able to take their credentials / skills / badges with them. They are calling this Learner Profile and while it’s still in the early dreaming phases, I understand why we see eye to eye on so many things. Once you start thinking in terms of redecentralization, you can’t unthink it.
– I love hallway / lunch conversations. I met someone who had a PhD in the History of Technology; which is an STS topic that’s right up my alley from my Information Altruism work.
– Get off the island is more then just code – I was able to provide a unique perspective to attendees (and them to me) as a result of my bulk of experiences. Several times I referenced the Writing conference I attended (cause no one there did), Apereo / Sakai work (which I’ve been to and others have / use Sakai so shared experience from multiple perspectives), and being a hard-core Drupal developer when many people were sysops; which gives me a unique perspective from the “inside” of a very different open source community from the open culture of the event. Overall, this really validated that I need attend less Drupal events with people I’m immediately at ease with and instead try and search out these hidden gem events.

I don’t require it, but wow does it feel good sometimes. It was very nice to be some place with people I didn’t know, who didn’t know me or my work, and have them see the totality of the work our team has been doing (both PSU college centric and ELMS:LN developer centric) and be floored by it. It’s funny, I kept saying how blown away I was with the level of open culture exhibited and the API infrastructure they all were apart of, while at the same time people kept telling me my work was the first sign of a way forward beyond the thinking of the LMS without breaking the student / faculty cognitive load issue of multiple solutions. I had a couple people tell me this was the first tangible example of a NGDLE they had ever seen and I had many long conversations
Other things:
– People are looking for what OERSchema provides but not realizing it. In describing the problem it solves and demo’ing it to a small group they were very impressed with the idea. Always fun to present someone else’s work and have it validated.
– We’re on the right track with Polymer, BYU’s been doing it with different components in the form of straight up webcomponents for some time and have been happy with the results.
– ELMS:LN is maturing to a point that I can present the idea at a high level and delve into the trenches and not have to hide anything along the way

Going forward / Next steps
– Hopefully we can get another voice from Duke to vouch for us to the Open Apereo foundation board of organizations. We need 1 more voice to say ELMSLN should be accepted into their incubation program. This would help the project gain visibility but more importantly provide our community mentorship in what practices we could be doing a better job of with getting people on-boarded and sustain efforts.
– We need to do a better job justifying xAPI in the age of Caliper among some people, but because of our worldview with regards to data (anything is a course, anything an action, anything learning, not just what happens in higher education LMSs) xAPI will always be more flexible. It might be messier, but it’s going to always allow for more flexibility in design over Caliper. This isn’t to say we shouldn’t be open to supporting Caliper, but it might be more of a filter that converts xAPI statements into Caliper ones based on skimming off the ELMSLN context properties we’ll mixing into xAPI to extend it.
– Standards all the things; We need to work more on the external tool integration aspect as well as supporting LMS APIs natively. This would be the next step in suggesting this system is higher then the LMS in what it can do and what it’s meant to provide as an ecosystem driven experience.
– Libraries need an OER hub / routing solution: Members of Duke & BYU had an interesting perspective on the OERSchema / Git ingestion workflow for markdown files. What if a library was the curation engine for OER to vet it for quality, and then much like an old library, provided an open bookshelf of sorts that people could checkout the books from. In this connotation, checking out a book would be cloning the repo so now you have a copy. This would allow distribution and help ensure knowledge never dissipates (a critique Michael Collins has of Database driven / single point blogging platforms / silos). OERSchema becomes icing on the cake as it would incentivize faculty to not just tell people to draw from an online text but allow them to legally and easily pull the book apart and remix it into new forms

Overall this was an awesome event and everyone was very approachable. Thank you all so much more having me and I can’t recommend this event enough and hope it comes out East Coast (Duke tossed out the idea of hosting toward the end of the year which I’d be up for coming down to).