Auto-Scheduling

Creating school timetables is an intricate process, requiring consideration of curriculum requirements, staff availability, room constraints, and student needs. The Auto Scheduling feature, paired with Timetable Specifications, was developed to address these challenges by automating the scheduling process while offering users the flexibility to define specific rules.

The solution aimed to deliver optimal timetables with minimal manual intervention, enhancing efficiency and satisfaction across schools. The design process was intensive, involving multiple iterations, collaborative workshops, and user feedback loops.

Challenges

Balancing Flexibility and Automation
The feature needed to accommodate diverse user needs while providing automated solutions. Striking this balance required careful consideration of the rule-setting process and the scheduling algorithm.

⁠Conflict Resolution
Handling complex conflicts, such as overlapping staff preferences or insufficient rooms, was a significant challenge. The solution involved creating layered resolution options, allowing users to address issues progressively.

Technical Feasibility
Ensuring the system could process large datasets and complex rules efficiently required close collaboration with developers to optimize performance and scalability.

Results

Enhanced Timetable Creation
The combined Auto Scheduling and Timetable Specifications tools reduced timetable creation time by 50%, enabling schools to focus on other administrative tasks.

⁠Improved Satisfaction
Users reported a 35% increase in satisfaction due to the flexibility of the rule-setting process and the accuracy of automated schedules.

Scalable and Adaptable Design
The modular nature of the design supports future enhancements, such as integrating additional rule types or expanding conflict resolution capabilities.

Design Process

Timetable Rules Phase: Defining the Rules

The project began by designing the Timetable Specifications feature, which enables users to set constraints and rules for the scheduling process. Key functionalities include:

Subject Relationships:
Defining whether subjects must or must not be scheduled together.

Subjects on Days:
Assigning specific subjects to certain days due to resource constraints or policies.

Blocks on Days:
Ensuring subject groups (blocks) are scheduled together or consecutively.

Staff on Days:
Accommodating part-time staff and their preferred working days.

Set Priorities:
Allowing users to prioritize year groups for scheduling, such as YG12 > YG9 > YG10 > YG11.

UI Approach:
Dropdown menus, toggles, and intuitive forms for rule creation.
Visual indicators for conflicts or invalid rules.
Real-time previews to demonstrate the impact of applied rules.


Scheduling Phase: Automating the Process

The Auto Scheduling modal was designed to work in tandem with the specifications, providing a step-by-step process:

Step 1: Select year groups or subjects to schedule.
Step 2: Define the scheduling scope (e.g., full timetable or specific sections).
Step 3: Review and resolve conflicts, such as unavailable rooms or staff clashes.

Key Features:

Flexible scheduling by year group, subject, or both.
Conflict resolution tools with detailed issue breakdowns.
Machine learning principles to optimize schedules based on user-defined rules.
Real-time feedback on scheduling success and remaining conflicts.

UI Approach:

Progress bar indicating the three-step process.
Clear, color-coded visualizations for conflict resolution (e.g., red for unresolved issues, green for successful scheduling).
Drag-and-drop functionality for manual adjustments.


⁠Iterative Refinement

The design process was highly iterative, requiring countless workshops and feedback sessions. Collaboration between UX designers, developers, and QA teams ensured feasibility and alignment with user needs. User groups provided critical insights, leading to improvements such as:

Simplified navigation between specifications and scheduling.

Enhanced conflict resolution tools with detailed explanations and suggested fixes.

Improved responsiveness for managing large datasets.

Key Takeaways

User-Centric Design
Frequent user group sessions ensured the features addressed real-world challenges and met user expectations.

Collaborative Development
Close collaboration between UX, development, and QA teams facilitated seamless integration of complex features.

Iterative Process
Continuous testing and refinement allowed the design to evolve, delivering a robust final product.

Designing user-focused digital experiences
that inspire and empower.

Let’s organize and start building together

Designing user-focused digital experiences that inspire and empower.

Let’s organize and start building together

Designing user-focused digital experiences
that inspire and empower.

Let’s organize and start building together