What does a self-service Open edX look like? - Appsembler

What does a self-service Open edX look like?

What does a self-service Open edX look like? You’ve launched an Open edX site using our test-drive service, or you’ve spun up the Open edX devstack and have the software running on your laptop, or you’ve got it running in AWS or another cloud hosting provider. Maybe you’ve even created a test course and played around with the Studio authoring interface.

Now what?

Most likely, there are many questions running through your mind, as you think about how to use the software in a real production environment with real students.

You may be asking yourself (or your IT person), how do I change the…

  • generic logo and upload my company or university logo?
  • colors and fonts to match our corporate or university branding?
  • menu options that appear in the header?
  • footer with links to our company privacy policy and terms of use?
  • text that appears on the homepage and course catalog pages?
  • text that appears on the login and registration pages?
  • text in the emails that get sent when a new user registers or enrolls in a course?

Currently, to do all of these things requires making a custom theme and learning about Mako templates, SASS and navigating the Open edX codebase to find out how to override these settings in the best practice way. The new comprehensive theming introduced in Dogwood is making this easier, but it’s still a huge hurdle for most people.

These theme customizations are just the tip of the iceberg, as you discover that you don’t know how to…

  • change the LMS, CMS and preview URLs
  • set up an SSL certificate so that you can get encrypted https URLs
  • install and enable XBlocks that I want to use in my courses
  • activate advertised features of Open edX like:
    • e-commerce
    • edX Insights
    • certificates
    • badges
    • student notes
    • secure video hosting
    • downloadable student grade reports
    • etc.

These types of changes require editing a server-vars.yml or lms.env.json file and re-running an Ansible playbook, and in the case of some advanced features, setting up additional servers to run those services. One look at this diagram of the Open edX architecture showing all the moving parts is enough to scare away all but the most determined engineers.

A common failing of open source

If your eyes are glazing over at this point, you may be thinking that Open edX is not for you. You may think, “this software is too hard to use, and doesn’t come with sensible defaults!”

It’s a sad day when open source software fails to live up to its promise, and a commercial alternative is chosen instead. Too many open source software tools are “consultingware,” meaning that the only way to actually use them is to hire a consultant who tunes and tweaks the software for you.

But what if you could do that tuning and tweaking yourself without needing to have a degree in computer science? Software gets adopted when the path to adoption is as close to frictionless as possible. Anything that causes friction for the user is an obstacle that deters a would-be adopter.

Open source has the advantage that it’s evaluation cost is close to zero, but the cost of adoption still remains high because to do even the most simple changes requires technical knowledge. And that technical knowledge comes at a high cost, either in the form of money to pay consultants, or time for you or your technical staff to learn how Open edX works from a technical perspective.

Lowering the barrier to entry

If you look at services like WordPress.com, it provides a self-service blogging tool that anyone can use to create a WordPress site in minutes, and choose a theme, install plugins and even buy a domain name.

The company behind WordPress.com, Automattic, also has a high touch / white glove service they call VIP WordPress, that targets customers with more sophisticated needs.

WordPress.com provides an easy and low cost way for people to get started with WordPress, and this has helped to grow the WordPress community and get more people using the software and contributing to its success.

A self-service Open edX

We believe that the time has come for Open edX to have a self-service offering. At one time, edX announced MOOC.org, which proposed a hosted Open edX service with support from Google, but I think it’s safe to say that this is never going to happen.

To that end, we’re building the Appsembler Management Console (or AMC for short) which provides a web-based interface to manage all aspects of your Open edX site:

  • Change the site appearance (logo, colors, fonts, menus)
  • Edit existing pages and create new ones
  • Edit email templates
  • Create new users and courses
  • Activate XBlocks which have been vetted for quality and security by the Appsembler team
  • View reports showing site registrations, course enrollments and completions and learner analytics
  • Manage additional features such as e-commerce, certificates, badges, student notes
  • Manage integrations with other systems

The road ahead

We’ve just begun to build out this service, so there’s a lot of work left to be done. Besides building the frontend user interface part, there is also the hosting infrastructure to provide highly scalable and reliable service for 1,000’s or even millions of users. We’re building this infrastructure using Kubernetes, technology invented by Google based on their experience building highly scalable services like Gmail. You can hear more about our work creating this infrastructure by reading this blog post and video by Morgan Robertson, one of Appsembler’s DevOps engineers.

Our hope is that by making it easier to get started with Open edX, and eliminating the technical pain points, this will lead to increased adoption. By offering Open edX in the multi-tenant SaaS model, we also expect that new features can be released more quickly and everyone using the service will benefit from these new features instantly, versus the single-tenant model now whereby each customer site needs to be upgraded independently, and enhancements to one customer site are not necessarily propagated to other customers’ sites.