A reaction to “A Spartan LMS”

Original post: http://learningnuggets.ca/ed-tech-thinks/a-spartan-lms

My response below (this may be my new blogging style, reacting to the rest of the world w/ commentary, other person provides the prompt, and then I can word vomit :))


So to do the twitter thing: “This.”

This post is great, I love how you’re viewing the LMS as something that needs to be fragmented because of reasons of ownership, pushing boundaries, and the fact that CMS (which I’ll call Domain of One’s own in this case) based technologies can replace so much of the BS in LMSs without the cruft.

To the point of throwing the baby out with the bathwater (and past arguments of walled gardens vs completely open spaces) I’d like to propose this analogy. Envision the baby in the baby tub. Instead of throwing them out, when the baby grows and matures and there isn’t the same fear of drowning, we submerge the smaller baby tub into a larger bathtub. We do both at the same time for a time to get the baby acclimated to the new environment and the new freedoms of this larger space. We don’t immediately remove the baby tub or throw away the water from this tub, but we submerge it in a larger pool.

This larger body of water slowly, naturally, becomes one with the body of water in the smaller baby tub. Once the child is comfortable with the larger tub, they eventually exit of their own free will and eventually, we don’t need the baby tub.

In this worldview, I see the LMSs of the past 20 years to be that baby tub. A relic of the training wheels of online education. A forum system that needed to exist because well, our learners and instructors had no knowledge of the world. But as we’ve gotten our feet wet in the larger ecosystem of the web, we’ve lost the need for these training wheels. We’ve outgrown them.

So, how best to react when administrations and IT silos for 2 decades have handcuffed our institutions with purchasing decisions which are great for “good enough” but not for Great? Well, we need to take this baby pool submerged into the larger body of the web approach. This is where systems like ELMSLN come in (my baby). We know that you need an LMS (for now) and we structure ourselves in such a way that we assume that we’re going to be integrating with lots of things. We do this, while simultaneously besting the last 20 years piece by piece (which trust me, ain’t hard to do w/ most of the vendors out there).

So the question isn’t do we walk entirely, it’s what’s the course we can chart to make a clean break (some day)? I view elms:ln as part of a journey with the higher educational industrial complex. If it wants to survive the coming singularity, IoT revolution, app-ification of knowledge and eventual commoditization of “learning”, then it needs to lay down the vision of how to get off our single solutions before the baby outgrows the baby tub and has no need for tubs at all but instead gets up, plugs into Google “How do I do my job today?” and goes off to work; never having experienced tubs at all.

I’m not on your blog to pitch a product, I’m here to pitch the same world view you are espousing here (which is awesome). How can we best chart a course to an lms-less world (https://btopro.wordpress.com/2011/06/08/envisioning-a-lms-less-university/)? We’d love to have navigators like you join us in this vision to save (via improvement) the educational establishment we’ve all known and love.

Open Innovation Challenge

*This is my submission to the PSU Open Innovation Challenge. In the event it’s not accepted, I don’t want this text lost because of the implications for accessibility on the internet and our ability to transform it.

Accessibility; it’s not just a concept, it’s people. It’s people we make accommodations for; people we do testing for, and people we dedicate resources to in order to ensure they have their unique needs addressed in their educational journey. On campus, we make ramps, brail signage, bumped plates at crossings and other physical things that anyone can see and use, including those who rely on them.

Unfortunately, digital realms structure environments with asterisks. We accept that a website is optimized for accessibility based on highly specific browser versions and downloaded toolsets on the part of those in need. The Universal Design for Learning (UDL) framework, suggests environments should be universally accessible to all without need for additional accommodation.

What if instead of requiring those in need of assistive technologies to have them, we included them natively in all of our experiences?

What if users didn’t need JAWS or Dragon Naturally Speaking and we provided those capabilities natively in our systems?

By leveraging specifications from the W3C found in the Web Speech API, we can have the browser talk to us. The specification also can be used to listen to and process our voice in real time. Using the two together we can make conversational systems with no plugins required that also work on mobile phones!
I currently have this working in our courses but want to utilize the expertise of TLT to produce a more generalized version that could be applied to all websites at the university with little effort! You can see an example of this working in our ELMSLN Learning environment below

A response to `Of OER and Platforms: Five Years Later`

Original post: https://opencontent.org/blog/archives/4892

I didn’t want this to get lost in the comments section but I found this post by David Wiley spot on, especially in his dissection of the LMS in the comments. As long as the LMS is still a dumping ground of stuff as opposed to a link farm out to innovation, it will never be innovation.

My response down in the comments, cleaned up to be a stand alone post:

Hollowing out the LMS is the only road they have towards innovation; if one of those common launch points was an OER provider that could be at least slightly more useful but I agree that when faculty treat their course as more of a website (via Paul Hibbitts GravCMS approach — http://www.hibbittsdesign.org/blog/) it’s the way forward.

Dr. Chuck is working on Tsugi to app-ify the LMS and unbundle it as well, which could make OER proliferation more possible at the system level. In this model, Sakai and other systems are effectively hollowed out *by design* via LTI launches, content item launches, and the items pulled in (innovations) are small decoupled stand alone applications —  https://www.tsugi.org/

I also have my own methodology in the game that sees the LMS fragmented (architecturally) so that policy can be crafted in a way that allows open aspects of course (content) to be open while closed experiences (private student – teacher engagements) can happen securely along side. We are building a self-federated ecosystem meaning any new part of the system can talk to any other new part of the system once it shows up. So we’re always able to account for the NextBigThing (n+1 thinking) in education or build new things the market hasn’t conceived. https://www.elmsln.org/

All three of these approaches are signs of the Next Generation Digital Learning Environment (NGDLE) which is NOT a product but a mindset and a way of implementing education online, which I think will directly result in greater adoption (or at least production as Open first) of OER. When systems are unbundle, ownership and privacy can be unbundled as well, leading to more robust, reusable solutions.

Speaking of unbundling, make sure to checkout OERSchema which ELMSLN seeks to use as a way of allowing Markdown Files (pure, portable, open by default) from Github to be able to populate and flush out content, interactions and more in ELMSLN (or any system).


I’ve been battling a lot of demons recently. You know them, they are the same 3 that we in open source and community work so often face. FUD – Fear, Uncertainty, Doubt. Certain events had led me to this point. Being generally overwhelmed by the pressures that increased success and scope of work bring, I keep focusing on the things left undone, unfinished, broken and still on the white-board; when something hit me the other day.

Daemons of progress

Fear – We won’t finish this, we’ll never finish this. What if it’s wrong? What if it doesn’t do what I think it will? What if I’ve sacrificed thousands of hours of my children’s childhood for something unattainable.

Uncertainty – We’re down a developer, will we get this back on track, how will we replace this need and keep moving forward. What’s awaiting me via email today to derail all progress?

Doubt – This will never catch on. What am I doing with my life. What’s the point. No one gets it. Who cares.

Standing too close


Pointillism is an art form in which hundreds of thousands tiny dots form a painting. These dots when viewed to closely, just look like noise; a chaotic mess of tiny brush strokes, each with minor variations in color perhaps, but at the same time too similar to really tell what it is.


As we back up from the painting slightly we still see chaos, a pattern but yet still chaos of blotches thrown upon the canvas.


Public Domain, Wikipedia

It is only when we truly step away from the canvas that we see it’s true form; the clear picture of what it is we are trying to paint, one dot at a time.

This is elms learning network, from my perspective as the developer. I can see what we’re going for but sometimes I’m so focused on the dots that I miss the big picture of what this really means for well, education. When something is your life’s work, it can be hard to look back on something while building it. Much in the same way we get lost in the whirlwind of building a family, a career, a life so much so that day to day at times can seem routinized, almost mundane; but when we look back on memories, moments in time, we see how special what we have truly is.

At the end of the year, like any year, I’m usually shot; emotionally and physically. I need a reboot, and I got one in a way I didn’t expect. I watched myself. While trying to put together a talk for some conferences, I wanted to see the way I talked about the platform the last time I submitted a talk there (2014). Drupalcon 2014 ELMSLN talk

What I saw I almost couldn’t believe.

As I rambled for 20 minutes, trying to be funny (emphasis on trying), I start demo’ing this crazy thing I’m talking about. It includes no less then 5 different interfaces, all at different states. A build breaks during the demonstration. It’s UI patterns are non-existent, just an idea, a lot of urls, broken builds, no UX, no users. Just an idea being put forth by a crazy person that couldn’t understand why no one got it. Duh, I don’t know how to use it at this point.

What I needed

I got. I needed to see that what we’re doing now is the dots. We’re changing the hue of our dots, we’re sharpening the image a pixel point at a time, but the picture is becoming a lot clearer if we’d only step away from it. As I compiled these highlights below, I am humbled and grateful for the contributions of our budding community. One thing becomes clear as we step away from our dots: We’re killing it!

  • We gained another full time developer on the platform (which, we’ll be refilling in 2017) bringing us up to 3 internally + several IDs across units influencing / bug testing + 2 part time student developers. (in 2014 this was 1 + 2 ids)
  • Buttercups in the UK is hiring a PHP / Drupal developer to help support and build out ELMSLN further for them. (in 2014, this wasn’t a thing)
  • We had 13 different people make core commits to ELMS:LN this year, 5 from primary core devs, 2 from faculty, 2 from IDs, 4 from Drupal developers during sprints (in 2014, there were 4 total)
  • There have been 18 point releases this year, up from 2 the previous year, seeing us go from 0.0.2 to 0.6.3 with 0.6.4 (more bug fixes) & 0.7.0 (stable studio) expected early in 2017.
  • We closed (an insane) 1,215 issues in 2016 and at present have 114 issues open!!
  • We adopted MaterializeCSS as our design framework and unified all themes in our network under this brand (previously we had no design standard) and applied it successfully to all systems in the network
  • We adopted xAPI to start doing learner analytic tracking across all content and starting to visualize it for faculty and staff, as well as doing survey and self-check tracking.
  • We had a faculty member get ELMS setup on his own and talking to Learning Locker to start doing response tracking in H5P!
  • We’re now able to ingest markdown / flat file content and turn it into outlines of material (this is rather insane)!
  • There were 3 ELMSLN Sprints at different Drupalcamps this year (PA, Ohio, and NJ)
  • ELMSLN was presented at 6 different events, did a major drupal podcast interview and was presented in 2 webinars. It’s also already got 3 accepted talks for next year at major education events (2 at Educause ELI, another to be announced soon), an invite to be announced soon to speak at a major FOSS supporting university, and 2 webinars planned.
  • We built multiple accessibility tools, including a voice based navigation system (crazy)
  • We stabilized and moved into production our Media and Interact solutions, moved into beta Studio and are far along into building quiz / testing capabilities for the assessment system.
  • We built 2 core APIs, one for scaling back-end jobs / internal processes and one for Angular / JS based app development
  • We had 2 commits to Drupal core accepted from testing and feedback in use in ELMSLN!
  • We’ve got one deployment on EC2 that’s got 40k users!

As I step back now, I see the picture we’re building together, and it’s pretty amazing. All we have to do is keep going, keep making things easier to use with more capabilities, keep pushing the envelop and keep pushing forward because the only thing we have to fear is FUD itself.

Happy new year! Let’s make 2017 brighter, bolder, and more usable then last year (and the one after, and the one after…)!!!

Just Breathe

Alarm clock screaming bare feet hit the floor
It’s off to the races everybody out the door
I’m feeling like I’m falling behind, it’s a crazy life

9 years now in the game. 3 years into this 6 year cycle. Right before you win you always face the greatest doubt that you need to stop moving forward. Fear, Uncertainty, Doubt, these are the poisens of community and human progress. We see it in politics as much as open source. It’s why I (try at least) don’t spit poison on people’s communities and mindsets. Flustered people are useless people. Focus. Drive forward. See the road we are forging the world we can all build together.

Ninety miles an hour going fast as I can
Trying to push a little harder trying to get the upper hand
So much to do in so little time, it’s a crazy life
It’s ready, set, go it’s another wild day
When the stress is on the rise in my heart I feel you say just

Breathe, just breathe
Come and rest at my feet
And be, just be
Chaos calls but all you really need
Is to just breathe

I do often need to just breathe. I laughed at myself at 26, knowing that with lofty goals and expectations come the likelihood that those would be broken and unfulfilled. Only a blistering pace, resiliency, and unbreaking spirit can win us what we seek to produce in the world. Emotion is good, it comes in waves for me, and at times, I need to collapse in order to reframe my mindset and steady the hand on the invisible wheel.

Third cup of joe just to get me through the day
Want to make the most of time but I feel it slip away
I wonder if there’s something more to this crazy life
I’m busy, busy, busy, and it’s no surprise to see
That I only have time for me, me, me
There’s gotta be something more to this crazy life
I’m hanging on tight to another wild day
When it starts to fall apart in my heart I hear you say just

Oh boy, this part of the song breaks me every time. Every time I hear “busy busy busy” and “me me me” I think of the times my kids have encouraged daddy to play at the dinner table while I work towards some next impossible thing. Some impossible thing when they are right there, tugging on my arm. “Poppa, you play with me”. Yes hunny… just as soon as daddy answers this email, this issue, this cool idea, this request. Really, all the screen does is demand more attention then those around me.

A quote from Man in the High Castle Season 2 (Episode 2) cut right through me tonight: “Are you here right now or are you often nowhere?”

“What do you mean?”

“Well.. are you not here right now or is it that you are always lost in thought everywhere. Such a sad idea. If your mind is somewhere else, are you really here at all. And is this reality if you aren’t really here?”

Breathe, just breathe
Come and rest at my feet
And be, just be
Chaos calls but all you really need

And I have. Do you stop and take a breathe? Really, just stop everything, close your eyes, and focus only on your own breathing. With all the chaos and spinning of life around you, we all need a moment to drown out the noise with silence.

Is to take it in, fill your lungs
The peace of God that overcomes
Just breathe (just breathe)
let your weary spirit rest
Lay down what’s good and find what’s best
Just breathe (just breathe)

Just breathe, just breathe
Come and rest at my feet
And be, just be
Chaos calls but all you really need
Is to just breathe
Just breathe

I believe. More now, then ever; because I see how close we are. I know what pieces are in motion and what more are possibly in play. These discussions, invites, acceptances, affordances, open minds, and good vibes wouldn’t come if it wasn’t the case.

The cycle is just beginning. Time to reset in this season. Enjoy time with friends and family (actually enjoy it). Then, in the moments of silence and still. Open the keys, and obliterate complacency one line at a time.


Right Click -> Inspect -> document.body.btopro

I’ve read a lot of articles by management in the web design industry over the years about unicorns. Primarily about how it is that you don’t want one. Everyone thinks they do (or so the tales go) until they have one and experience all the problems. They don’t work well with others. They destroy teams. They ruin moral. They take on too much of the operations of the group, burn out, leave and then your both crippled.

Everything about these articles is the negative side of developer unicorns.

And they are all true. So now let’s lay out why I’m trying to foster more of them.

I am a unicorn

2016-04-23 15.33.19.jpg

Let’s inspect my meta data for a moment to try and understand why.

  • Loves my job and the people I work with and serve
  • Extremely passionate about what I do (see above)
  • Abrasive and doesn’t always play well with others (see above)
  • Works endlessly, far more then asked, borderline addicted. (leading to, see above)

Why do I consider myself a unicorn? Have you even attempted to follow the project I’m leading up? It’s confusing as hell. There’s this platform Drupal (duh) and it’s complicated for sure. This makes that look adorable by comparison given that it’s heavily networked Drupal that has a site factory system baked in (so Drupal requesting and building Drupal) that then automatically sets up network connectivity to the new sites it produces and stitches the UX together in such a way that people are constantly confused that they are going between different sites.

This isn’t “just Drupal” for sure. It’s a bit insane; but let’s start to unpack the notion that unicorns are a bad thing shall we? Anyone, can copy and paste something into a server and get an identical working copy of everything the team and I have done the last 3 years now. Millions of lines of code, dozens of databases, server libraries orchestrated together perfectly to produce a living, growing platform. This now forms the new baseline we stand on and as others grow to realize what it’s capable of (and we improve UX for sure) then they’ll also start to say “where did this come from?”

To which I’ll say, it is the thing of unicorns (plural). Because I’m no longer a unicorn. If you are a unicorn, something the blogosphere wants to stomp out and tell you not to go with, you have 2 paths options:

  • You can stop being special; stop being what makes you unique
  • You can make everyone special; empower everyone to make everyone more vibrant

And so, here we are today and the trajectory forward. Fostering, building up, encouraging and yes, actively seeking out unicorns. We’re going to have a whole flipping heard of unicorns, stampeding together. A flock of unique thinkers who are empowered to empower others to change the world.

How to grow unicorns


[ ] Become a Full-Stack developer

Never paint yourself as “only” front-end, only back-end, only anything. If you aren’t in development, this is the equivalent of being a jack-of-all-trades so to speak or master carpenter, and painter, and mason, and logger, and foreman, and any other job in the construction of a project of any kind. You know how to do everything. You are Emit when he achieves master builder status.

[ ] Pass up promotions that only give you “power” over others

I’ve been offered “management” types of jobs and promotions and said no each time. I don’t want to just manage people and tell them what to do, I want to become a more powerful, efficient, better, smarter full-stack developer. I want to be the best full-stack developer on the planet, and you do too. Find those that want to be Master Builders. Encourage them, shape them to be even better builders. You don’t want to be the one-eyed king in the land of the blind, you want to give others as good or better eye sight then you possess and to genuinely be equals.

[ ] Find your passion, follow that

You can always get a job that pays different, or different benefits, or different people; but you can’t always get a job doing what you love. If you aren’t genuinely in love with what your doing and the mission it serves (or it has no mission) then it’s time to be looking if you aren’t already. You need a mission to inspire one in others.

[ ] Worry about the people that actually matter

I’m passionate about my work but only because I have an amazing support network in my family. They make me want to make a better world for them and other families like them. If you don’t stop and focus on the people that actually matter at home then the work becomes empty and meaningless. I am incredibly blessed.

What’s this all about anyway?

photo (2).JPG

I needed to write this because I’ve been realizing why I came here. Why this place chose me to be where I accomplish something amazing. Where we accomplish something amazing…

Because I started many years ago. I’ve been searching for architects, builders, visionaries, and for a long time would get frustrated, sad and lonely.  At first, I loved being the only one who could “remake the matrix” so to speak. But it wasn’t till I stopped caring about the rank order and started caring about helping friends and colleagues that I got what I actually wanted. I needed to stop expecting architects to just be there and instead start helping to shape and mold and grow an army of Emit’s.

It’s the scene at the end of the Lego Movie where Lucy gets on the TV and says that everyone needs to be ground-breakers, tearing up the bricks that had been laid for them and create new things, things that no one’s ever thought of. Weird, amazing, stupid at times, unique, snowflakes of their own.

By fostering and helping build up the capacity of the Drupal community in higher education we have created an army of potential future LMS builders. Through investment in organic deployment methodology, we will create systems that can be scales fragmented, broken apart and scaled 3 dimensionally with limited to no effort. The more we democratize that process, improve user experience, increase capabilities, the more we will come closer to achieving my actual grand plan. My magnum opus.

If successful, it won’t be my great work, it will be all of ours. Run wild Unicorn developers. Wild open pastures await you. Be free.

Our tapestry

I heard a quote on the way into work today.

“Sometimes you work too close to the canvas to see the beautiful tapestry you are creating”

No, it’s not some famous quote you can google, it was by a speaker in during an inspire spot on k-love radio. (As I’ve detailed before, I throw everyone off as I cycle between Tool and Christian radio quotes, yeah, I know).

It immediately made me think of another quote by a friend and colleague as we were joking around at the bar one night over a beer. It had been a stressful, but productive week. I was detailing something that was rather ridiculously complicated about how network transactions work in elms:ln and how the spider web of snake calls allows for (theoretically) infinite scale without infinite load. I was boring myself as I was talking about it (wow is it ever a “why is the grass green dad?” and then responding with how photosynthesis works in detail style answer).

“What did you ever do before I came around?”

To which I said I was lonely… cripplingly lonely…

Having a vision of the future and no one to share it with (that would understand what you are talking about at a technical level) is an incredibly lonely feeling. I’ve always had a strong family network and my wife is wonderful, but my excitement over architectural design and how it will influence education isn’t the easiest thing to keep up with beyond “Bryan thinks he can change the world” or “How’s taking over the world going?”. It’s why I sway so violently between sheer joy (like someone over the moon about collecting xAPI statements from their students) and utter despair (like someone being excited about the color of a button while not comprehending where spoken interfaces will take us).

I don’t “just show up” to work, I live it, I take it very seriously (even if I don’t ever take anything seriously seemingly). I don’t just “live to work” though, I live for my children and the world that I think I can help bring about as a result of this social movement.

…Social movement?

If xAPI coverage on youtube / video assets is my canvas I’m too close to, and elms:ln at the college I work is a portion of that tapestry, the project as a whole is the rest of the tapestry; but at the end of the day, it is all just a carpet in a large warehouse. By the end, I want to use my voice to stand up and manage the thing that manages the warehouses. So much automation, so much ease of use, so much free and open source software will continue to put pressure on the social fabric that for centuries has dictated that human capability be measured in dollars per hour, where you went to school, etc.

What if systems were free? What if the tools to build them were free? What if the automation setting them up was free? What if they were self-healing, never needing human intervention for maintenance?

More important then “wow that’d be neat”, what would that do to society? What does that do to the cost of education when all the systems powering it are free?

You socialist

Far from it (actually techno-libertarian but I’ll write about that another time) but the network effects of elms:ln are already out there in the global economy. I want the world (and so many others do) to be better, write more, build faster, deploy more accurately, deploy at higher scale with less human and physical overhead then they did yesterday (and the day after, and the day after). This is a continual building up the infrastructure society has available (for free) to build on. Over enough time (decades here), businesses are effectively forced to offer more for less because people can click a button and get billions of dollars of work for free (and if it needs no maintaining / humans… well.. there need be no businesses in that space).

Code produced for this project (not people using the project itself) has been downloaded over a million times and has 15,000+ reported installs (typically thought to be 10% actual real world usage). This is the real impact of the project, the ability to improve the social fabric of the internet at scale through contribution. There are over 120 listed projects on drupal.org credited to me, which doesn’t count github, elms:ln itself, or the other projects that have benefited from the act of contribution thanks to this project.

But this isn’t just me anymore, it’s multiple full time developers (starting next month 3 full time senior developers, right now 2 senior and 1 junior full time). So project. Project all our open contributions. I’ve been at this for 9 years (elms as a named idea is 9 years old, open contributions around 8 years). We can already produce (today) through a copy and paste, what previously took 5 years to create; minutes to give (for free) what should cost millions of dollars to assemble from scratch.

So focus on those lines on the canvas team. The picture we are painting is unlike anything the world has seen and we’re only growing. Never give up. A more free world is in reach.

Fix education, fix everything.