Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Support Hiding of Certain Lesson Types #3334

Closed
seanlowjk opened this issue Aug 7, 2021 · 2 comments
Closed

Feature Request: Support Hiding of Certain Lesson Types #3334

seanlowjk opened this issue Aug 7, 2021 · 2 comments

Comments

@seanlowjk
Copy link
Contributor

Is your feature request related to a problem? Please describe.

This feature request is related to #740 and #3326

Currently, users are only able to hide all lessons for an entire module.

NUSMods_Hide.mp4

However, it would be good to have users to be able to hide certain lessons.

Use Cases:

  1. Most Teaching Assistants do not need to attend lectures. As a result, they will benefit by having
    the option to hide lectures
  2. Auditors do not attend tutorials / recitations. As a result, they will benefit by having the option to
    hide tutorials and recitations from their timetable.

Describe the solution you'd like

Features:

  1. Keep the current show / hide all lessons for a module feature.
  2. Allow users to hide certain lesson types for modules in their timetable.
NUSMods_Hidev3.mp4

The above video gives a clear description as to the expected behavior for this feature request.

When users click on the show/hide button, a dropdown will appear to allow users to hide all or some
lesson types of the selected module. The dropdown will remain till the user clicks outside of the dropdown box.

Tool tips will be available to show which type of lesson the user is planning to show / hide.

Describe alternatives you've considered

The following described alternative design decisions for the above feature.

Alternative Features:

  1. Easy toggle between showing / hiding all lesson types and certain lesson types.
    1a. Description: On hover, the dropdown will appear to allow users to hide certain lesson types. Alternatively, on click, all lesson types will be hidden. This prevents clutter on the screen. However, the User Experience can be a bit confusing.

Additional context

Changes Needed

The current state for timetables.hidden will need to change, as we would need to incorporate information with regards to lesson types hidden for specific modules. As a result, both actions and reducers will need to be modified

Screenshots

The following is a rough prototype of how the mobile view would look for the user interface

Screenshot from 2021-08-07 22-07-52

Do let me know if I have missed out anything! @taneliang @chrisgzf @ZhangYiJiang 😄

@chrisgzf
Copy link
Member

chrisgzf commented Aug 8, 2021

Hello, thanks @seanlowjk for your suggestion and for the prototype!

I've discussed this with the rest of the team and we think that hiding entire types of lessons (i.e. hiding all tuts/lec/rec) does not completely solve the problem, because certain modules (e.g. CS2103T) have multiple lessons of the same type that are taught by different tutors, and hence we think it makes more sense to make individual timetable slots hidable.

However, the UX to hide a singular lesson is quite tricky: after hiding it, we need to indicate somewhere that there are lessons hidden and we need to give them a way to unhide the lessons that is hidden - if not the users might end up in a misleading / unrecoverable state if they change their mind / accidentally hide modules. So this might end up requiring some complex hiding behavior.

Lastly, and very importantly, a feature like this is mostly only going to be useful to a small group of people (TAs) and we are not sure if the engineering/design/maintenance cost for such a feature would be worth it, given that it might possibly disrupt the typical user's UX too.

If the goal here is to just take a screenshot, you can add "display: none;" to the timetable cell's CSS, and if you are using the timetable regularly to check your schedule, then you can consider userscripts (TamperMonkey, etc.) or using a calendar app.

But having said that, there has been a lot, a lot more undergraduate TAs these days so the userbase that will benefit from something like this is growing - so if you/anyone can come up with a UX that makes sense (ideally with a Figma for reference), and doesn't disrupt the typical user's UX, then we are open to consider implementing something like this.

Instead, a good middle-ground that would also benefit more people, beyond the TAs, is if we build a feature to add custom modules to their timetable (i.e. the TAs will just add the slots they teach instead of adding mods and then hiding slots) IF we do want to implement something like this. If you are interested in this, this is tracked in #2785.

tldr: Sadly, won't implement.

@seanlowjk
Copy link
Contributor Author

Ah that is true, thank you very much for your comments!

Agreed that this might disrupt the original user flow and as a result, it will not be really useful and might pose certain issues to a typical user's UX. Thank you!

I will close this issue then orz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants