Skip to main content
Projects

Canvas – Selective Modules Release

Selective Modules Release for Canvas

Instructors have long sought a way to provide students with customized content tailored to their individual needs. For instance, advanced students might require more challenging assignments compared to their peers.

Currently, there is no efficient method to accomplish this. Instructors would have to manually assign additional materials to advanced students, which is a time-consuming process. Moreover, these extra materials would be visible to all students, potentially causing confusion. There are numerous scenarios where instructors would want to hide additional content, such as when it may carry a negative connotation for a specific group (e.g., students who require extra help) or when the instructor wants to customize content for different groups within the class.

In essence, instructors simply want the ability to display course content exclusively to the appropriate group of students.

It would be great if I could give Modules unique gating rules specific to individual students or groups or sections within the course, similar to how I can create unique assignment due dates for different students and sections.

BRAINSTORM WORKSHOP

My Product Manager and I have agreed on the issue we want to address. We have received feedback from over 25+ customer calls and 100+ community board posts indicating that Selective Modules Release is a significant issue that could greatly impact Canvas’s competitive edge. My PM has successfully presented the business case, and the VPs have approved the initiative.

To address this issue, where should we begin?

We have decided to delegate the ideation process to my team. I conducted a design brainstorming workshop to gather everyone’s input on the issue. The brainstorming session yielded several options for my PM to explore and determine which solution has the most potential.

USER VALUE VALIDATION

I have created a Maze survey with mockups to illustrate our solutions and posted it in the community to gather feedback. The responses we received were insightful and provided us with more use-cases to consider when designing the solution.

USER JOURNEY

I have gained a better understanding of our instructors and their use-cases. I have started to map out their user journey to delve deeper into their usage patterns, motivations, and goals. I utilized Figjam’s template to outline a typical instructor’s workflow throughout the year.

I then began designing the screens we would need for the user journey, carefully considering each screen’s interaction. Since we were working under a tight deadline, we aimed to make minimal changes to the current codebase, which also meant minimal changes to the existing UI. We then created clickable prototypes for both internal and external usability tests.

The UI portion of this project is intentionally minimal to avoid requiring instructors to learn an entirely new system.

The main focus of the design work is on the logic and flows, as there are many complex implications at the sub-levels for each action the instructor takes. For example, when an instructor assigns an assignment to a section, will it override an individual student’s previously set settings?

We often don’t have all the answers, but we do our best to make educated guesses based on intuition.

REFLECTION

This feature entered beta in June 2024. It was scheduled to be one of the major releases announced at InstructureCon 2024. Schools from all over the globe were excited because they could finally enable differentiated learning for their students. There was a lot of excitement and activity in the community, with many praising how this feature would address one of their greatest needs.

I am excited for the feature to be released! I feel that this will solve a lot of problems in cross listing some of our courses. Teachers will love being able to assign a different module to sections in their course. I love to deliver exciting news to our teachers!

I can't wait to see this feature enabled! I have been hoping for a feature like this since I started using Canvas back in 2020.