Product Vision

In this essay, a deep dive was done into the Open edX project, to ascertain its product vision. This vision describes what the system aims to do, and for who. While also keeping the future in mind. For a short introduction into Open edX and what it aims to do, see our intro page.

End-user mental model

When designing software, the end-user’s value should always be kept in mind. The main goal of Lean, actually, is to “create a value stream, every one of whose activities adds value to the end user” 1. Mental models consist of beliefs, not facts. It is about what they think or expect from a given system, not what actually will happen. We will go over what we believe to be the two main mental models that exist for the Open edX system.

Teachers

Teachers are a big part of the end-user base for the Open edX system, as they design, maintain and teach the courses available on it. Their beliefs can be specified as follows:

  • The ability to design courses using videos, slides, quizzes and assignments.
  • The ability to set deadlines for assignments, including penalties.
  • The ability to query important statistics about their course and its participants, as well as past participants.
  • The ability of the system to do assessments automatically based on defined rules.
  • The ability to send out announcements to all participants, or particular subgroups, of a course.

Learners

Learners beliefs can be summarized as follows:

  • The ability to enroll for a given course.
  • The ability to browse courses systematically (filters, categories).
  • The ability to view all enrolled courses, upcoming deadlines and course announcements centrally.
  • The ability to approach teachers and teaching assistants with ease.
  • The ability to interact with courses on any device.
  • The ability to receive credentials for passing a course.

Key capabilities and properties

In this post we provide a short summary of the key capabilities and properties that the Open edX system provides and discuss some of the main features that it has to offer.

System goals

The main goal of Open edX is to deliver inspiring learning experiences on any scale. This means delivering online campuses, instructor-led courses, degree programs and self-paced courses using a single coherent platform. In order to achieve this goal, the Open edX platform needs to easily and confidently scale from supporting small learning to thousands of simultaneous learners.

System capabilities

The key capability of the Open edX platform lies in its ability to empower learners and instructors with the tools they need for either learning or facilitating the learning process. This directly translates in the tools the platform provides with examples such as support for interactive forms and discussion boards, advanced learner and instructor dashboards and live video conferencing capabilities. Moreover, the platform provides cross-device as well as cross-platform capabilities with the ability to seamlessly integrate with other third party tools such as Salesforce. In today’s world where most of the online traffic is taking place on mobile devices, offering support for these types of features is therefore very important.

Users of the Open edX platform are also able to customize their learning platform within minutes, having access to a set of tools that offers a rich authoring experience. From interactive content with adaptive video streaming, multimedia animation and simulation to AR and VR support, the Open edX service truly caters for all use cases an instructor might have. The intelligent analytics provided by the platform also offer instructors and researchers key insight and real-time data analysis over their courses and how students enrolled in those courses perform.

System features

In the tables below we present the most important features of the Open edX platform.

Accounts Authentication Interface options
Add a new user Active directory/LDAP integration Block management
Archive users Custom user login page Language settings
Browse list of user Manual accounts Media embedding settings
Bulk user actions No login Multilanguage support
Custom/Mandatory user fields SAML2/API integration Ready-made themes
Upload users Self-Registration w (or w/o) admin confirmation Calendar settings
    Location settings
Activity grading Certificate management Gamification Learning types Format Security
Course History Certification life-cycle Badge customization Asynchronous Instructor-led Course Discussions Anti-spam
Gradebook Manage certification templates Badges Asynchronous Self-paced Gamification Format Anti-virus
Gradebook audit trail Predefined certification templates Customize Gamification mechanics Blended Learning Learner Upload IP Blocker
Gradebook comments Unique Certificate by Course Leaderboards Synchronous Virtual Classroom LIVE Chat Option Restrict registration to specific domains
Manual Grading (“Marking”) Unique Certification by Curriculum Levels   LIVE Videoconferencing / Webinar Strong passwords
Multiple grading scales   Points   Social Format  
    Rewards   Topics Format  
        Weekly Format  
           

Note: crossed out fields are features which are not currently supported by the Open edX platform.

Stakeholder Analysis

To get a clear picture of all the relevant entities that might have an interest, or concerns with the realization of the Open edX platform, a stakeholder analysis was performed. This was done with the classes of stakeholders defined by 2 in mind. Some classes are omitted due to irrelevance in the context of Open edX.

Acquirers

Open edX is the open source platform developed by the MOOC provider edX. edX itself was created in May 2012 in a joint venture between MIT and Harvard.

Assessors

Open edX is based in the United States, which means that the legal conformity of their platform according to American educational laws would ultimately be assessed by entities such as: the Office for Civil Rights of the Department of Education, the Department of Justice, the Department of Labor and the EEOC 3. For GDPR laws, national bodies have been selected as assessors.

Developers

Since Open edX is open source, developers could be people from all over the world. In practice, however, active frequent contributors are mostly part of the edX team. Other developers include coders from other MOOC platforms which implement Open edX as their backbone. Including educational companies DataQuest and Labster.

See Appendix A for current developers to approach about the Open edX system.

Suppliers/System Administrators

To setup your own platform using Open edX, two options are offered: self-managed and fully-managed.

Self-managed solutions include distributions of the Open edX platform with added functionality. Open edX lists 3 suppliers who offer such distributions, namely: IBM, Tutor and Bitnami. When hardware is not available/feasible, cloud providers such as AWS, Google Cloud or Microsoft Azure would be a popular choice.

Fully-managed solutions are provided by other service partners who offer the Open edX platform without any management necessary: EduNext, Learniphi, MOOcit, Appsembler and Edly.

Users

Enrollments across all edX courses are over 70 million4, which is not including rebranded MOOC platforms implementing the Open edX platform.

Besides that, edX lists 57 partnered schools and universities of which 16 are stated to be contributors4. Some of these universities include: MIT, Harvard, TU Delft, Boston University and Berkeley University.

Competitors

Several other MOOC Providers exist, such as:

Of these platforms only Canvas is also open source.

Context View

The context view is used to delimit the system from all its communication partners. To be more precise, in this section the relationships, dependencies and interactions between the Open EdX platform and the external are specified.

Context View

A short explanation of some of the components in the context view model:

Developers: As an open source project Open EdX gives the opportunity to individual developers to contribute to the project. Active GitHub users can take part in adding new features and in code maintenance.

Databases: Courses are stored in MongoDB. Per-learner data is stored in MySQL. The analytics that occur from events describing user’s behavior are also stored in MySQL.

Documentation: The edX Developer Documentation is created using RST files and Sphinx.

Communication: Technical questions posting and chatting with the community can be achieved at the Open EdX discussion Forum. Moreover, JIRA is used as an issue tracker by the developers. Finally, real-time conversations are available on Slack.

Open edX roadmap

Open edX creates named releases which are different from the daily deployments with a longer release cycle on the order of six months between every release. The named releases are tested by the edX and Open edX community in order to ensure early detection of bugs and fix issues quicker.

Future Version: Juniper

The upcoming version is called Juniper5 and it contains several architectural differences:

Changes to architecture regarding login credentials:

Login and Registration is now solely handled by the LMS component. Studio redirects to the LMS for registration[^StudioSignIn/Out]. A new component called learning portal is being introduced.

Documentation necessary for:

Gradebook Proctoring ORA-2 Course Dates

A new feature component called frontend-app-publisher:

Frontend-app-published integrates between course discovery, ecommerce, and Studio services and can be used to create new courses and course runs that will be pushed out to Studio for content authoring 6.

  • “there is no standard process for installing Micro frontends, but Publisher is still being provided so the community can become more familiar with it and possibly configure and install it on their own.”

Additions to studio:

Reorganizing data structure for course metadata7: Each course run now holds a record of the seats in the course, and E-commerce products in the course metaData.

The addition of multiple LMS modes such masters being available now, it has created a divergence between the seats in the course and e-commerce product attached to it. The course run now will hold the ground truth in the meta data. This allows to easily add new LMS modes or products.

something 8

Juniper main references features:

Appendix A

This table lists the most active developers working on Open edX from the edX team.

Name Github handle
Calen Pennington @cpennington
Ned Batchelder @nedbat
Diana Huang @dianakhuang
Nimisha Asthagiri @nasthagiri
Feanil Patel @feanil
  1. Coplien, J. O., & Bjørnvig, G. (2011). Lean architecture: for agile software development. John Wiley & Sons. 

  2. Nick Rozanski and Eoin Woods. Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives. Addison-Wesley, 2012, 2nd edition. 

  3. National Association of College and University Attorneys (NACUA). (2019, 22 oktober). Higher Education Compliance Matrix. Consulted on March 5th 2020, van https://www.higheredcompliance.org/compliance-matrix/ 

  4. edX. (z.d.). EdX, Schools and Partners. Consulted on March 5th 2020, van https://www.edx.org/schools-partners  2

  5. , https://openedx.atlassian.net/wiki/spaces/COMM/pages/940048716/Juniper 

  6. , https://github.com/edx/frontend-app-publisher/ 

  7. ,https://github.com/edx/course-discovery/blob/master/docs/decisions/0009-LMS-types-in-course-metadata.rst 

  8. ,https://github.com/edx/course-discovery/blob/master/docs/decisions/0009-LMS-types-in-course-metadata.rst 

Open edX