conda-forge / conda-forge.github.io

The conda-forge website.
https://conda-forge.org
BSD 3-Clause "New" or "Revised" License
131 stars 274 forks source link

Propose another organisation for the filter buttons of the conda-forge status dashboard page #2243

Open HaudinFlorence opened 3 months ago

HaudinFlorence commented 3 months ago

Where should the content be changed?

The content that has to be changed will be in src/pages/status/migration/ in index.js.

What should be changed?

This issue is opened from a suggestion made in this comment https://github.com/conda-forge/conda-forge.github.io/pull/2239#issuecomment-2250318996 by @GabrielaVives

[...] the filters could be organised differently:

  • Align all the filter buttons on the left
  • Reduce the space between each button
  • They are organised in the order of the progress bar above, but I don't think that brings any value because there is no visual correspondence. I would rather organise them based on their usage: for example, put the "done" button last.
HaudinFlorence commented 3 months ago

Is it possible to please change the labels from bug to enhancement ? Thanks.

jakirkham commented 3 months ago

cc @h-vetinari (as IIRC you had preferences on how feedstocks are sorted in migrations)

h-vetinari commented 3 months ago

I'm not a UX guy, so I'll let folks here come up with what they think is best, but my personal opinion is that

But ultimately I don't care how these things look exactly, what I care about are work-flows related to managing migrations:

One thing I've wished for in the past that it would be possible to hide the "immediate children" for all feedstocks that are under "Done" (as they're all necessarily already found in one of the other categories anyway, and just eats up so much space that "Done" becomes almost useless). Not sure how easy or hard that would be.

PS. Thanks for the ping @jakirkham 🙏

GabrielaVives commented 1 month ago
  • I don't see how alignment of the filter buttons on the left would help the overall usability. It seems to me they would further eat into the limited horizontal space, which is already blowing up the page lengths (for displaying all the children).

I may have not been clear about what I meant when saying "aligning to the left". I didn't mean having them in a horizontal column on the left, but just aligned to the left of the page instead of being centered. The two main reasons for this are:

GabrielaVives commented 1 month ago

The core of my suggestion is about improving how the filtering buttons are arranged. I believe aligning them with the progress bar doesn’t add significant value for users.

1. Clarity of Labels vs. Visual Cues The filter buttons are already clear thanks to their labels. Even if the progress bar were not there, users would easily understand what each button represents. For example, the "In PR" button explicitly indicates jobs that are in the "PR" state. The meaning is self-evident from the text alone, following the principle of clarity in UX, which emphasizes that text should clearly communicate a function without needing extra visual reinforcement. Adding a colored progress bar doesn’t really help users better understand these labels.

2. Improving Information Hierarchy The real benefit of the progress bar seems to be showing the percentage of jobs in each state. However, this information could be more useful if displayed directly within each filter button. For instance, adding a "n/total of jobs" indicator inside each button could provide users with instant feedback on how many jobs are in each status. This leverages the principle of visibility, where users can see relevant information in the same place where they take action, reducing cognitive effort.

3. Rearranging Buttons Based on User Priorities Regarding the button arrangement, I suggest ordering the filters based on how frequently users need them. In UX, this ties into the principle of frequency of use, where the most commonly used elements are placed in the most accessible positions. From what I understand of the workflow, users are primarily interested in jobs with errors or jobs awaiting review (like "error" or "In PR"), so it makes sense for those filters to appear first. Filters for completed jobs ("Done") are used less frequently and can appear later.

4. Reversing the Progress Bar for Usability Similarly, I think the progress bar could be reversed. By placing the most critical states first, such as errors and jobs needing attention, and placing "Done" jobs last, we align the design with the principle of task relevance. This helps users focus on what matters most, particularly urgent or incomplete tasks, which improves the overall flow and efficiency of the interface.