Enhancing NUSMods: UI Optimiser Improvements For Timetable Planning

by RICHARD 68 views

Introduction

In this article, we'll dive deep into the proposed UI improvements for the NUSMods optimiser. Our goal is to make the timetable planning process smoother and more intuitive for all users. We'll explore the challenges with the current system and how the suggested changes aim to address them, making timetable optimization a breeze. Guys, get ready to level up your NUSMods experience! We're talking about creating a more flexible, interactive, and user-friendly system that caters to your diverse scheduling needs. This means incorporating features that go beyond the basics, like customizable breaks and lesson locking, all while maintaining the simplicity and efficiency you've come to expect from NUSMods. So, buckle up and let's get started on this journey to optimize the optimiser!

Problem Statement: Current Optimiser Limitations

The current optimiser on NUSMods, while functional, has certain limitations that can make timetable planning a bit cumbersome. One of the main issues is that it requires users to fill out a separate form, which feels disconnected from the main timetable editor. This can disrupt the workflow and make it harder to visualize the impact of different scheduling choices. Think about it: you're juggling multiple modules, commitments, and personal preferences, and the optimiser should be your trusty sidekick, not another hurdle to overcome. The existing system also lacks the flexibility to define diverse break types, limiting users to only blocking out time for lunch. This doesn't reflect the reality of student life, where breaks might be needed for exercise, CCA activities, personal errands, or simply some much-needed downtime. We need an optimiser that understands the nuances of our schedules and allows us to customize our breaks accordingly. This means moving away from the one-size-fits-all approach and embracing a more personalized scheduling experience. Furthermore, the current optimiser doesn't offer sufficient control over lesson placements. Sometimes, you might want to fix certain classes due to personal preferences or external commitments, while allowing the optimiser to handle the rest. The lack of this feature can lead to suboptimal timetables that don't fully align with your needs. Ultimately, we're aiming for a more integrated, flexible, and user-centric optimiser that empowers you to create the perfect timetable.

Proposed Solution: Enhanced UI and Features

To address the limitations of the current system, we propose a series of UI improvements and new features that will transform the NUSMods optimiser. The core idea is to integrate the optimiser directly into the timetable tab, creating a seamless and intuitive experience. Imagine being able to tweak your schedule directly on the timetable interface, without having to navigate to a separate form. This tight integration will streamline the planning process and make it easier to experiment with different options. One of the key enhancements is the ability to define different kinds of breaks, not just lunch. You'll be able to block out time for exercise, CCA sessions, personal errands, or any other activity that's important to you. These breaks will be treated like lessons in the scheduling process, ensuring that they are automatically respected when generating timetables. However, to maintain flexibility, these breaks can be assigned a lower priority than lessons, allowing the optimiser to override them if necessary to create the best possible schedule. This balancing act between respecting breaks and optimizing lesson placements is crucial for creating a realistic and practical timetable. We also envision a more interactive way of adding these breaks. Instead of manually typing out the details, you'll be able to use a simple interface, such as selecting a day and dragging a time block, or choosing from preset break types like “Exercise,” “CCA,” or “Lunch.” This drag-and-drop functionality will make it incredibly easy to create and adjust breaks, saving you time and effort. Another significant improvement is the ability to control which lessons are fixed and which are flexible. You'll be able to “lock” certain classes in place, ensuring that they remain in your schedule, while allowing the optimiser to explore better options for the rest. This feature is essential for users who have non-negotiable commitments or preferences. By combining these UI enhancements and new features, we're creating an optimiser that is not only more powerful but also more user-friendly and adaptable to individual needs.

Customizable Breaks

One of the cornerstone features of the proposed UI improvements is the introduction of customizable breaks. We understand that everyone's schedule is unique, and the current system's limitation to lunch breaks simply doesn't cut it. With the new optimiser, you'll have the power to define a variety of break types, catering to your specific needs and commitments. Whether it's blocking out time for a rigorous gym session, attending a crucial CCA meeting, running personal errands, or simply carving out some much-needed relaxation time, the customizable breaks feature has you covered. These breaks will be treated with the same importance as lessons during the optimization process, ensuring that your personal time is respected. This means the optimiser will strive to fit your lessons around your designated break slots, preventing scheduling conflicts and promoting a balanced lifestyle. However, we also recognize the need for flexibility. There might be situations where a lesson time clashes with a break, and you might be willing to adjust your break to accommodate the lesson. To address this, we're implementing a priority system for breaks. You'll be able to set the priority of your breaks, indicating how crucial they are to your schedule. This allows the optimiser to make informed decisions, prioritizing essential breaks while offering the option to override less critical ones if necessary. Furthermore, we're designing an intuitive interface for adding and managing breaks. Say goodbye to manually typing out the details for each break! Instead, you'll be able to use a drag-and-drop interface to select time slots directly on the timetable. Alternatively, you can choose from a list of preset break types, such as “Exercise,” “CCA,” or “Lunch,” which will automatically populate the relevant details. This user-friendly approach will make it incredibly easy to incorporate breaks into your schedule, ensuring that you have a timetable that supports your academic and personal goals.

Interactive Break Management

To further enhance the user experience, we're introducing interactive break management, a feature designed to make scheduling breaks as intuitive and seamless as possible. Forget about clunky forms and manual data entry! With this new system, you'll be able to add, modify, and manage your breaks directly on the timetable interface, using a variety of interactive tools. Imagine being able to simply click and drag on the timetable to create a new break, instantly visualizing its impact on your schedule. Or, picture yourself hovering over an existing break and dragging its edges to resize it, effortlessly adjusting its duration. These are the kinds of interactions we're aiming for – fluid, responsive, and empowering. We're also incorporating preset break types to streamline the process. Need to schedule a workout? Simply select the “Exercise” preset, and the system will automatically suggest appropriate time slots based on your existing schedule. Attending a regular CCA meeting? Choose the “CCA” preset, and the system will prompt you to enter the meeting details, ensuring that they're seamlessly integrated into your timetable. For those who prefer a more hands-on approach, we're also providing the option to manually define break details, such as the day, start time, end time, and location. This flexibility allows you to customize your breaks to the finest detail, ensuring that they perfectly align with your needs. But the interactivity doesn't stop there. We're also exploring ways to visually represent breaks on the timetable, using distinct colors and icons to differentiate them from lessons. This visual clarity will make it easier to quickly scan your schedule and identify your break times, helping you stay organized and manage your time effectively. With interactive break management, scheduling breaks will no longer be a chore. It will become an integral part of the timetable planning process, seamlessly integrated into your workflow.

Lesson Locking

Another crucial feature we're introducing is lesson locking, which gives you unparalleled control over your timetable. We understand that some lessons are non-negotiable due to personal preferences, lecturer choices, or other external factors. With lesson locking, you can “lock” these classes in place, ensuring that the optimiser respects their existing timings. This means the optimiser will focus on finding the best possible arrangement for your remaining lessons, taking your locked classes as fixed constraints. Think of it as having a foundation for your timetable – the locked lessons provide the structure, while the optimiser fills in the gaps. This feature is particularly useful for students who have specific preferences for certain lesson slots, such as those who prefer morning classes or those who need to avoid certain timings due to external commitments. For example, if you have a part-time job in the evenings, you can lock your evening classes to prevent the optimiser from scheduling other lessons during those times. Similarly, if you prefer attending lectures in person, you can lock your in-person classes to ensure that they remain fixed in your timetable. The lesson locking feature is also beneficial for students who are taking modules with highly constrained timetables. Some modules have limited lesson slots, making it crucial to secure a preferred timing. By locking your preferred slot, you can ensure that you don't miss out on the opportunity to attend that lesson. We're designing the lesson locking interface to be as intuitive as possible. You'll be able to simply click a “lock” icon next to each lesson to toggle its locked status. This visual cue will make it easy to identify which lessons are fixed and which are flexible. The optimiser will then take these locked lessons into account when generating your timetable, ensuring that it adheres to your preferences and constraints. With lesson locking, you're in complete control of your timetable, empowering you to create a schedule that perfectly suits your needs and lifestyle.

Optimisation Overlays

To further refine the optimisation process, we're introducing optimisation overlays, an innovative feature that provides you with granular control over how the optimiser generates your timetable. These overlays will act as filters, allowing you to specify preferences and constraints that guide the optimisation algorithm. Imagine being able to tell the optimiser exactly which lessons you plan to attend in person, ensuring that your physical presence is prioritized in your schedule. Or, picture yourself setting a maximum limit on the number of consecutive lesson hours, preventing burnout and promoting a more balanced learning experience. These are the kinds of controls that optimisation overlays will empower you with. One key aspect of these overlays is the ability to prioritize in-person lessons. In today's blended learning environment, many modules offer both online and in-person options. With the optimisation overlay, you can specify which lessons you prefer to attend in person, and the optimiser will prioritize those slots when generating your timetable. This is particularly useful for students who thrive in face-to-face learning environments or who have specific learning needs that are best met in person. Another important feature is the ability to limit consecutive lesson hours. Attending back-to-back lessons for extended periods can be draining, leading to reduced focus and information retention. The optimisation overlay allows you to set a maximum limit on consecutive lesson hours, ensuring that you have adequate breaks between classes. This promotes a more sustainable and effective learning schedule. We're designing the optimisation overlays to be user-friendly and intuitive. They will appear as a pop-up window when you initiate the optimisation process, allowing you to quickly and easily set your preferences. The overlays will also provide clear explanations of each option, ensuring that you understand the impact of your choices. With optimisation overlays, you're not just generating a timetable – you're crafting a personalized learning experience that aligns with your individual needs and preferences.

Video Demonstration Highlights

The video demonstration accompanying this proposal provides a visual walkthrough of the UI improvements and new features we've discussed. It showcases the intuitive interface for adding and managing breaks, highlighting the drag-and-drop functionality and the preset break types. You'll see how easily you can create breaks for exercise, CCA activities, personal errands, or any other commitment, seamlessly integrating them into your timetable. The demonstration also illustrates the visual representation of breaks on the timetable, using distinct red blocks and a teacup icon for differentiation. This visual clarity makes it easy to quickly identify your break times and plan your day accordingly. Furthermore, the video showcases the lesson locking feature, demonstrating how you can “lock” certain classes in place to ensure that they remain in your schedule. You'll see how the “lock” icon provides a clear visual cue, allowing you to easily identify which lessons are fixed and which are flexible. The demonstration also highlights the optimisation overlays, illustrating how you can set preferences for in-person lessons and limit consecutive lesson hours. You'll see how these overlays empower you to fine-tune the optimisation process and generate a timetable that perfectly aligns with your needs. By watching the video demonstration, you'll gain a comprehensive understanding of the proposed UI improvements and how they will transform the NUSMods optimiser into a more powerful, user-friendly, and adaptable tool. It's a must-see for anyone who wants to experience the future of timetable planning.

Conclusion

The proposed UI improvements to the NUSMods optimiser represent a significant step forward in making timetable planning more intuitive, flexible, and user-friendly. By integrating the optimiser directly into the timetable tab, we're streamlining the workflow and creating a seamless experience. The introduction of customizable breaks allows you to tailor your schedule to your individual needs and commitments, ensuring that your personal time is respected. Interactive break management makes scheduling breaks a breeze, with drag-and-drop functionality and preset break types. Lesson locking empowers you to control which lessons are fixed and which are flexible, giving you unparalleled control over your timetable. And optimisation overlays provide granular control over the optimisation process, allowing you to prioritize in-person lessons and limit consecutive lesson hours. These changes, as demonstrated in the video, will transform the NUSMods optimiser into a tool that truly empowers you to create the perfect timetable. We believe that these UI improvements will significantly enhance the user experience and make timetable planning a more enjoyable and efficient process for all NUSMods users. The goal is to create an optimiser that not only generates a feasible timetable but also helps you design a schedule that supports your academic goals, personal well-being, and overall quality of life. So, get ready to experience a new era of timetable planning with the enhanced NUSMods optimiser! We're confident that these changes will make a positive impact on your academic journey.