I work across all aspects of OpenCurriculum, a set of tools for teachers to design curriculum and instruction. My work involves product, research, customer interactions and sales, and general management.
In 2010, I had a radical idea.
What would happen if teachers around the world, and not just subject experts hired by governments and private companies, made curriculum meant for their students?
I saw it as a powerful opportunity to improve learning AND make the knowledge and skills of the curriculum represent the needs of the local worlds of students.
But for teachers to do this successfully, they needed an unprecedented level of support and inspiration from other teachers. One of the obvious ways to do this was online, in something that involved community, a lot of work of others to build on, and a lot of guidance and support to make the process easy. While some of these things have been done with some success in the past, there was no easy playbook to follow here.
I have been most proud of my product design and engineering work, and spend a bulk of my time researching, modeling, and testing the best ways to offer teachers curriculum design practices, instructional strategies, pedagogical content knowledge, and existing great curriculum from around the world. There is a long way to go and a lot of problems still to solve.
Over the years, the design and user experience has changed a lot, and hundreds of ideas have been explored and tested. I have learned a lot about the difference between what I wanted to tool to look like and do, and what teachers and administrators wanted. I have also really matured in my understanding of curriculum and instruction.
The earliest version of the tool was designed to mimic sites like Wikipedia. An open free-for-all organized collection of "articles" or textbook segments that could be used to create teaching plans. A lot of effort was spent on things like badges, points, and other socializing elements to build local communities.
The next version was all about the "articles" or textbook segments themselves, without so much emphasis on collaboration. It presented a large amount of "open-source" curriculum, in an easy to navigate manner. It was always important to me that the site not become a dumping ground of downloadable materials; the materials needed to well understood, cataloged, and in pieces that could be reused.
The next version focused on the curriculum development process and collaboration a little bit. The idea was to make a space for housing, organizing, and putting together traditional curriculum documents, but there wasn't much going on here that document building and storage tools didn't do 10 times better.
The next set of improvements went back to an emphasis on existing curriculum i.e. making great curricular ideas by teachers; this time mathematics lesson plan activities and ideas, easily accessible and sorted and tagged. This was something others weren't doing right. It continued my thesis about making parts reusable in the context of where teachers were.
The next iteration came in the form of improvements to the curriculum development tools. It involved adding more detailed functionality, like lesson and unit plan designs with templates and adding differentiation notes.
The next version went all-in on this curriculum design process. This time, the goal was to support schools and districts to map knowledge, skills, resources, and assessments to standards and outcomes. While a small % of schools around the world used such a formal process, if successful, it represented the greatest opportunity in teachers planning with freedom in a way that schools would support.
By this time, I had realized several things:
This brings us to the current version, which is a great space to be supported in the general curriculum design process through tools and the inspirational curriculum of others. And my best work lies ahead of me!
The technologies I worked on have evolved quite a bit over the years, with the transformation of web technologies in the past decade.
Initially, the product was made using Drupal 7 and JQuery; I was and continue to remain fascinated by the CMS and its community. I wrestled with it for multiple years, before I came to the conclusion that its content-friendliness didn't translate to speed of development.
The next version was built using Python / Django, BackboneJS, jQuery, MySQL, and Solr. It initially ran on Heroku, but I eventually moved to AWS, and finally to Azure. Meanwhile, jQuery and BackboneJS were replaced by React, Flux, GraphQL, and vanilla JS. The first few versions of editors were based on CKEditor 4, but everything has been transitioned to DraftJS since then. Direct pushes to VMs gave way to Mesosphere and then back to simple scripted Docker. Several admin tools run on Firebase, and feed into the main MySQL database.
In terms of architecture, everything is modeled after fast modern web apps. The most complexity is in the pipelines for document importing / ETL, metadata preparation, and exporting and reusability of the curriculum.
One of my key hypotheses is that curriculum should be stored and shared in a way that it can only be used by anyone, and not just someone with technological resources identical to those of the creator. It is an important gap increaser between those who have and those who don't.
Let me try to make this a little simpler to understand. Let's safely assume that there is a dearth of options in easily accessible good quality curriculum in most places in the world. A curriculum designer making instructional plans for a wealthy school system builds them in a software suite meant to be consumed in this proprietary system only accessible to schools with access to computers, the internet, the software suite, and training on using that suite and shape of curriculum to match local teaching processes. Irrespective of whether this curriculum is free and "open-source" or not, each of these resources pose an additional layer of hindrance in making this curriculum accessible to those without these resources.
My goal has two parts.
First, to come up with a way to store curriculum such that it can be reused by anyone, with access to paper being the minimum requirement. When this happens, each additional technology resource enhances the learning experience. This also means that curriculum becomes "interoperable" between different technology providers. My first attempt at this in 2017 was: https://open-instruction-schema.readme.io/. The name and approach of this project is a work-in-progress, and I am still trying to discover the best ways to do this.
Second, to make OpenCurriculum the best implementation of such a way of storing curriculum.
There is an important thing that worsens the divide between places where high-quality curriculum exists vs. those where they don't: it's the inability to use curriculum across borders. These borders could be international diplomatic borders OR just divides that separate different education jurisdictions or systems.
At their most basic level, curricula are just expressions of ideas and knowledge. In theory, most of these should be able to cross borders to help teachers students in different places. But they often don't. There are several reasons for this: the form these expressions take are often too specific to the place they are made for, seldom their contents (incl. graphic media) are sometimes highly-locally focused, they are not visible or promoted across the borders, difficulty navigating IP/licensing, etc. But there is one reason that is more acute than others: matching the learning outcomes across borders.
To put it simply, in reality, everyone teaches skills and content differently from another education system's curriculum, if only ever-so-slightly. And two of the core elements of curriculum are its "scope" (the what) and its "sequence" (the when). When scope and sequence change, two curricula are no longer match-able by topic, because they intend to achieve different learning at a different pace teaching the same topic. That's if we even agree upon the bounds of the "topic".
The most granular and rich way to compare learning, if only in theory, is to compare intended learning outcomes. These are called many different things in different places: essential content, standards, objectives, competencies, etc. But they generally mean the same thing. When the intended learning outcomes in one education system match that of another system, some scope of curriculum from either system may be usable in the other system around the time when those learning outcomes are taught. This simple realization is the source of enormous potential opportunities in curriculum.
My goal with a project named Spectrum was very simple: design a system (with various technological tools inside it) that is able to, with reasonably high-degree of accuracy, tell you at what point in the syllabus of any other education system a learning outcome is addressed. It is a work-in-progress, with OpenCurriculum providing the best shot at showing how powerful this can be.