Creating a distributed OER App Store

For those following the ELMS distribution’s progress, you’ll probably note that I’ve been talking about Features, Kit, and Feature Server A LOT.  For those that don’t know about these concepts or need to care (most people) here’s a brief overview.

Image Provided by Development Seed

Image from Development Seed

Features in Drupal are the key to the creation and sustainability of LARGE scale systems.  These platforms, like Open Atrium or ELMS, can almost take on a life of their own yet still, at their core, are Drupal.

Features allows developers to not only package code but package configuration.  Configuration, while still drastically easier to work with then code, is still difficult because of the high knowledge barrier Drupal has.

Feature Server and Kit allow for the creation of larger ecosystems to crop-up around platforms built on Features. Feature Server is a Drupal site that can allow other Drupal sites to ask it if they are up to date.  Whenever you download a module from your drupal module can tell you if its out of date or not.  Feature Server essentially allows you to run your own

Distributed Feature Server

Visualization of a Drupal ecosystem

So what’s the big deal with that? Well, imagine if different universities across the globe setup their own feature servers.  You would start to get a picture of Drupal more like what you see on the right.  Instead of code being required to live on, code can live and be upgradable (and ultimately sustainable) from sources external to (like

Here’s the big “so what”: let’s take this concept one step further.  Let’s say we have a platform that makes it easier to assemble learning materials and interaction.  This empowers learning designers and instructor communities to (hopefully) build better materials and interactions.  Create better tools, dedicate more time to the resource generation and less time fighting the technology.  That platform will be built on Drupal Features and Feature server, if you can think of what it might be…

So we have sustainable code and configuration changes, but let’s not stop there.

We’ve already packaged code and configuration at a Drupal level, What’s the next thing to package then? Open Educational Resources.  OER has sputtered in recent years because of a lack of sustainability planning with great press but little “what’s in it for me” factor for faculty.  This is where ELMS and Features come in. ELMS could be packaged with a “Feature server”-like functionality for broadcasting what OER packages it has on it.

Again though, who cares? Oh, I forgot to mention that Features can package content too!  SO, if we map all of these concepts to OER, we now have a sustainable method of passing OER between not just institutions, but directly to distributed learners.

ELMS App Store visual

ELMS App Store Visual at a University

Build something like the Aquia Stack Installer for a one-click installation of ELMS on local machines and suddenly you have a completely distributed system of knowledge produces and consumers.  Producers could even broadcast from their local machine if they wanted that they are producing knowledge for consumption (like Kahn Academy).  Consumers could go to their favorite knowledge producers and download any OER materials they have to their local ELMS instances.

btopro's OER Hub

btopro's OER Hub

This will start to create an “App Store” model for OER content or for-pay content for that matter with limited alteration.  These ELMS Hubs could be thought of much in the same way you think of TV stations or major aggregator websites of today.  All they’re doing is being produced by an individual or group of individuals and you are choosing to consume their content (channels or blog posts or articles or whatever).  This way not only major university bodies could pull together a listing of their resources and share them with others, but individuals have a seat at the table as well.

I believe very much in Connectivism knowledge creation and I’d be curious to see what others thoughts are about this concept.  Drupal is no longer just some neat tool that you should look into for education, I fully believe this is a major component to saving it.  Hopefully when the next release of the platform comes out you’ll start to believe too.



  1. Mark Koester · October 12, 2011

    I love the dream but I think you are missing a critical factor for the propagation of said dream: incentive. For example, money for premium content streams. Or perhaps less distasteful would be some form of gamification. Promote teachers, promote universities, etc.
    I’m still toying with what that “tipping point” incentive would be on my teaching site, but I fear sadly that “everyone sharing learning stuff” isn’t it.

    • btopro · October 12, 2011

      I agree that incentive is always an issue. I think another part of the issue is a barrier to participation. It’s getting the technology to align with copyright concerns and publishing concerns. Based on MIT and others there are instructors out there that want to provide OER materials. My hope that this can grow organically is really in Kahn Academy. All it takes is one person with knowledge to say “I will teach and make a difference”. I think it’s easy enough to create for-pay / subscription based knowledge sources and have them be part of the equation (ultimately isn’t that what taking a course online at a university is? Pay for access to knowledge).

  2. juststormy · October 12, 2011

    Well. Look at that. There ya have it in all its glory. Nothing shy about that.
    Love the concept of an “app store.” It makes total sense. If you build it, they’ll come…eventually.

  3. Charles Severance · October 17, 2011

    Bryan, I love the notion that you show here. I love the architecture and I love the ideas of cooperating servers and information flowing and islands of content production. I have been thinking of building a learning management system that is designed to be lots of small islands that can form together to make what we think of today as an enterprise LMS.

    The flaw in your approach is simply the fact that you use Drupal. It would be an equivalent flaw if you used Joomla, WordPress, Plone, Lenya, Xythos, IBM Content Manager, or a half-dozen other CMS systems.

    Drupal-based systems are far too hard for any normal end-user to install, maintain, and upgrade. Frankly Drupal is just a moving target code base that is effectively forked every time anyone installs it (again the same can be said of any open source content management system). There is no way that teachers can run Drupal-based servers. Drupal is only understood by people that spend 10-15 hours per week *in* Drupal – for those people focused on making new things every few weeks, Drupal is a great toolkit because it gets them up and running quickly – but then they sadly leave in their wake a string of inflexible web sites that are frozen in time, each with a unique tweaked Drupal distro.

    I wish Drupal would turn its core bits into a headless PHP library that could be used in any UI (even a desktop UI). But they won’t because the fun is in making a webapp with a lot of UI and UI that is tightly tied to a data model.

    I thought that Sakai would make the world better if everyone used Sakai. Michael Chasen jokingly says that if everyone just used Blackboard, interoperability problems would be solved. The case you make is in the same vein as these over-simplified comments. If the world would simply adopt and use *your* tool 100% – then everything would be fine. It is not a winning strategy.

    The only winning strategy is interchange formats and protocols that are multi-vendor in nature and supported across a wide range of desktop and server platforms that make up a real ecosystem of interchange.

    It is perfectly OK for your system to have a superior architecture and use Drupal to its advantage. But if it is closed and relies on internal magic that you invent to solve the world’s OER ‘challenges’ – it is largely irrelevant.

    • btopro · October 17, 2011

      I think the word Drupal is a lot scarier then we’re making it. I agree with much of your criticism but the goal is to not require the end-user to understand what Drupal is. Currently we have many instructional designers and staff using ELMS, and they know it’s built on Drupal but that’s about all they know about Drupal. I’ve tried to remove Drupal from the equation and the Drupal Distribution model allows for the creation of Apps that provide the business logic for education / other spaces without people needing to understand what powers it. ELMS could be boiled down to a 1-click installation via something like the Acquia Dev Desktop, which does just that for their version of Drupal.

      Drupal as pure framework would be far superior I agree; wish there was something like what you’re referring to 🙂

      ELMS will be able to communicate with other systems, this mock up is just based on elms-to-elms environments. While I love standards for transmission formats a lot of times when talking to instructors the problem boils down to “I want to use xyz resource” they don’t want to think about how to get access to it, just that they can. To this affect one of the most powerful pieces of functionality in my mind will be the ability to publish to static HTML. Abuse drupal for it’s CMS but then publish to HTML to “give away” to people or run on drastically underpowered technical setups in some K-12 districts is another concept we’ve been kicking around recently.

      Still kicking ideas around structurally but a lot of what I write about isn’t intended for ELMS end-users to understand, it’s to try and attract developers to the notion of writing educational systems in Drupal. There are several Drupal LMS’s out there in the proprietary world so it’s only a matter of time before they start springing up in the O.S. end. I appreciate your analysis though as I need all the input I can get on my decision making!

  4. Pingback: Sustainable Drupal Platform Development | Drupal in Education
  5. Pingback: What I’m really excited about.. | Drupal in Education

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s