Berkeleytime Scheduler

Streamlining course planning and scheduling, enabling users to select from 11,000+ courses with ease.

Responsibilities
As a product designer at Berkeleytime, I worked in a cross-functional team to pitch, design, and ship Berkeleytime Scheduler. I also validated feature functionality and design system expansions with the front-end engineering team. Features I focused on primarily were editing schedule drafts, as well as course addition user flow.

Role
Product Designer

Duration
9 months

Team
5 Designers
9 Engineers
1 Product Manager

BACKGROUND

Berkeleytime is a course info platform that students use when planning next semester’s schedule.

It allows students to look up courses from previous semesters, view current enrollment trends, and examine past grade distributions.

PROBLEM

CalCentral, Berkeley’s official scheduler, is difficult to use due to its convoluted information architecture and navigation.

79%

of students use CalCentral as their main semester schedule planning tool

93%

of students said that Calcentral is difficult to use for scheduling classes

2.1

was the average score for convenience students gave for Calcentral

OPPORTUNITY

How might we utilize Berkeleytime’s existing course database to reduce friction in students’ course scheduling experiences?

SOLUTION

Berkeleytime Scheduler allows users to view information and make schedule modifications all within a single page, reducing the cognitive load when enrolling in classes.

View and select from 11,000+ classes in a single page, step-by-step.

View and pick from all possible sections for a class, using either the dropdown class lists on the left or the calendar blocks on the right.

Hovering over a specific discussion timeslot will change it from semi-opaque to fully opaque.

For courses with multiple class sections scheduled simultaneously, a dropdown arrow enables picking from different class locations.

Saving classes will bookmark interesting courses for the future.

Bookmark potential classes to quickly refer to them later.

Students can later view saved classes in their Berkeleytime profile, and then add these classes to schedule drafts.

Immediately modify schedule drafts to make necessary changes.

Schedule overlapping classes, temporarily or permanently, without irritating error messages.

To delete a timeslot, click on the calendar block to access the delete option, or unselect it in the list view.

APPROACH

Addressed pain points gathered from user research and internal audit to minimize the amount of work required to plan schedules.

We carried out an internal audit of the first iteration of Berkeleytime Scheduler to identify areas for improvement. Designers split off into smaller teams to work on certain features in pairs, then reconvened at the end of each session to check-in and plan next steps.

I prototyped all iterations in high-fidelity, to adhere to the existing design system. We also met regularly with engineers to clarify and guide them through design updates and facilitate handoff.

RESEARCH AND INSIGHTS

Scheduling classes on CalCentral is a convoluted process.

Based on user research and and an internal UX audit, I identified the main painpoints of current scheduling via CalCentral:

  • Class shopping cart is text-heavy without additional visual aids

  • Must keep mental track of info on multiple pages to compare different timetables

  • Course conflicts are difficult to resolve

Made a user persona to inform priorities for Scheduler and keep in mind whom I was designing for.

CROSS-FUNCTIONAL ALIGNMENT

Validated technical feasibility of key Scheduler features and user desirability with product and engineering.

We pitched Scheduler to the Berkeleytime team, discussing:

  • The value it would bring to Berkeleytime users; user research indicated strong interest in this feature

  • Our vision for Scheduler, and how it would improve on CalCentral’s user flow

  • Technical tradeoffs to make

FROM SCHEDULER 1.0 TO SCHEDULER 2.0

Addressed key pain points gathered from research and audit to build the second iteration of Scheduler.

When I joined Berkeleytime, there already was an existing prototype of Scheduler, but there was a lot of room for improvement.

Grouped all required sections for a class and changed radio selection to checkboxes for convenient editing.

Grouping them together enabled users to know to enroll in all required sections for a class, which could include a lecture, discussion, and lab section. Additionally, once classes were selected, they could not be deselected again. Checkboxes enabled for a much more convenient schedule editing process.

Made it possible to add and delete courses within a schedule draft, without creating a new schedule.

Previously, users had to start from scratch if they wished to delete courses entirely from schedule draft pages, which was frustrating.

USER TESTING AND SCHEDULER 3.0

Opted to display class cards in a dropdown, as the card stack was difficult to sift through.

They got especially messy when a class offered multiple lecture times because the stack became harder to sort through. Viewing options in a simple expandable list format made it easier for students to parse through and toggle information.

The raised class conflict error was obtrusive; a simple highlight was enough to draw attention to overlapping classes.

Students found the popup on the calendar view to be especially annoying when it obscured other classes. Highlighting overlapping classes in blue still made schedule conflicts visible, and also felt less intrusive for students who deliberately scheduled overlapping courses.

IMPACT

Launched the first live version of Berkeleytime Scheduler for 26,000+ users.

After supporting front-end and back-end engineering as we aligned on design specifications, it was exciting to see Scheduler ship.

Provided a more intuitive course enrollment experience than CalCentral.

During user testing, all participants mentioned that they preferred Berkeleytime Scheduler’s user flow to that of CalCentral’s.

REFLECTIONS AND TAKEAWAYS

I learned how to communicate and collaborate with product and engineering.

As a designer, I knew all the new changes to wireframes and features like the back of my hand—so it was easy to forget that the engineers weren’t going to start on the same page as me. Patiently answering their questions and walking them step-by-step through user flows helped the engineers co-design Scheduler, kept me up-to-date with what would be feasible, and helped me re-examine and polish past design decisions.

I learned that real-life design projects are considerably less linear than class projects.

I’d taken a lot of design classes, so I was familiar with the standard design cycle processes. However, I sometimes deviated from what I had been taught as I took on this project. In time, I began to realize that real-life design projects are messy and non-linear, and that critical reasoning conquers formula when it comes to solving real-life problems.