mitre-attack / mitre-attack/attack-navigator
Enhancement/QOLI: Invert Hide Selected Function - Should hide unselected (Interaction prototype included)
@clemiller is already working on this.
Since Dec 6, 2023.
- Dominant language
- TypeScript
- Stars
- 2.5k
- Forks
- 715
- Avg merge
- 7h 33m
- Merged PRs (30d)
- 4
Description
Hi there,
tldr; The interaction and/or solution isn't immediately obvious and the base interaction doesn't behave as expected.
There was a post a while back that I found after having a frustrating experience with the attack-navigator… Figured I would rehash the conversation as this really didn't make sense to me. Here is the original issue and the remarks w/Prototype
https://github.com/mitre-attack/attack-navigator/issues/57
I was running the matrix locally for a demo and ran into the same issues. Although it does make sense to hide-selected, the interaction is backwards.
Current Hide Workflow: Select tiles -> Select 'Disable' -> Select 'HIDE Disabled'
- This workflow requires selections above, below, and across a much larger set of touch-points
- It doesn't follow common selection pattern (e.g. We select the apples we would like to purchase)
- The Enabled/Disabled states are "modal" - modes tend to introduce errors
- This pattern doesn't follow similar patterns in the app (e.g. Select a tile to apply a score)
- Additionally the order of the layer controls could be improved
- Grouping controls often used in conjunction with each other closer together - Law of proximity
- Using icons that are more familiar to users - Recognition requires less cognitive load than recollection
Expected: Select tiles -> Select 'HIDE Unselected
https://www.figma.com/proto/rJXqzMT0YIfMa0vn4qIztQ/Untitled?page-id=0%3A1&type=design&node-id=1-5&viewport=1884%2C781%2C1.32&t=sj88relpeZJUomwb-1&scaling=min-zoom&mode=design
Hope this helps, as this was quite frustrating for me, especially after I accidentally selected a single item and lost my previous selections. This resulted in having to start all over.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.