Design framework for MR merge widget
After mapping the merge button states, we should be knowledgeable enough to make better design decisions and create a design framework that allows for multiple stages to evolve its behavior.
Design principles
- Scalable, allowing for many actions and information elements.
- Includes “edge” states, like empty, loading, or error.
- Supports “merge” options, like deleting the source branch, rebasing, and others.
- Clear structure for actions, options, and support information.
- Disabled states of merge button have clear and concise explanations, and next actions.
- Users that don't have permission to merge are considered.
Breakdown
In order of RICE score:
-
&5589 (closed) Restructure MR merge widget —
(R6 * I2 * C1)/E1 = 12
- Re-order merge options and action
- Move allow collaboration alert to branches widget
- New placement for merge/rebase errors
- ==TODO: solve SHA mismatch state==
-
#323061 (closed) UI text improvements —
(R6 * I1 * C1)/E.5 = 12
- Random positive messages when ready to merge and merging. We could ask the community on social media to suggest messages.
- UI polish: Size and style of main MR widgets icons —
(R10 * I.5 * C.5)/E.5 = 5
- UI polish: Style of headings, text, and links of all MR widgets —
(R10 * I1 * C.5)/E1 = 5
- List merge checks —
(R1.5 * I2 * C.8)/E1 = 2.4
- Re-order merge checks —
(R3 * I.25 * C.5)/E.5 = 0.75
Future
- Placement of CI warnings that influence user's decision to merge — in pipeline widget or merge widget? #299195 (comment 516430236)
- #325529 (closed) Text and interaction design of MWPS/MT/MTWPS: move to the concept of auto-merge, used by competitors.
Edited by Pedro Moreira da Silva