-
Notifications
You must be signed in to change notification settings - Fork 89
Please consider a cleaner and more user-friendly UX for the Global profile settings #472
Description
I asked ChatGPT to critique the following screenshot from TCC:
I agree with most of its suggestions below, and especially with replacing "acivated/deactivated" + checkboxes, with a clearer control like a toggle.
It would also be useful to use clearer English.
UI/UX feedback
Below is a structured UI/UX critique focused on clarity, consistency, affordances, and error-prevention.
1. Information Architecture & Hierarchy
What works
- Clear section title (“Global profile settings”).
- Settings are grouped logically (temperature units, CPU, fan, keyboard).
Issues
- All settings are presented at the same visual weight, despite very different risk levels.
- “Temperature Display” (harmless preference) is visually equivalent to “CPU Frequency Control” (potentially system-impacting).
Recommendation
-
Introduce hierarchy:
- Preferences (Temperature unit, keyboard backlight)
- Performance / Hardware controls (CPU frequency, fan control)
-
Use sub-section headers or subtle cards to signal risk boundaries.
2. Language & Status Semantics
Major issue: “activated / deactivated”
-
This terminology is ambiguous and cognitively expensive.
-
Users must translate:
- Activated = “this app is overriding system defaults”
- Deactivated = “system defaults are in control”
Examples of confusion
- “Fan Control — deactivated” actually means automatic fan control is active.
- This inverts the mental model: unchecked = something is working.
Recommendation
-
Replace state labels with user-centric outcomes, e.g.:
- “App controls CPU frequency” / “System default”
- “Manual fan control enabled” / “Automatic fan control”
-
Or use binary phrasing:
- On / Off
- Manual / Automatic
-
Eliminate the need to read the explanatory paragraph to understand state.
3. Checkbox Affordance Problems
Issue
-
Checkboxes imply:
- Simple, reversible toggles
- Low risk
-
But here they control persistent system-level behavior that may not auto-revert.
Mismatch
-
The warning text says:
“Default settings need to be restored by hand or a system reboot.”
-
The control looks as harmless as a dark-mode toggle.
Recommendation
-
Replace checkboxes with:
- Toggle switches plus explicit state labels
- Or segmented controls:
System Default | Custom
-
Add confirmation dialogs for actions with non-obvious persistence.
4. Error Prevention & Safety
Good
- The UI does warn that defaults are not restored automatically.
Bad
-
Warnings are:
- Visually weak
- Easy to skip
- Identical styling for low-risk and high-risk actions
Recommendation
-
Use progressive disclosure:
- Show warnings only when enabling risky controls
-
Use visual severity cues:
- Iconography (⚠)
- Color differentiation (subtle amber, not red)
-
Add a “Restore system defaults” button globally.
5. Consistency & Predictability
Issues
-
Inconsistent consequences:
- Fan Control: “default automatic fan control is restored directly”
- CPU Frequency Control: requires manual reset or reboot
-
Same interaction, different side effects → violates predictability.
Recommendation
-
Normalize behavior across controls:
- Either all revert automatically
- Or none do, but with a clear global reset affordance
-
If technical constraints differ, surface them explicitly:
- “This setting persists until reboot” (badge or inline tag)
6. Visual Design & Scannability
Issues
- Text-heavy explanations reduce scan speed.
- Status (“activated”) is visually detached from the control that causes it.
- Alignment makes it unclear whether the checkbox controls the label or the state text.
Recommendation
-
Align control, label, and state tightly:
CPU Frequency Control [ ON ] App overrides system defaults -
Reduce explanatory text; replace with:
- Tooltips
- Inline “i” icons
-
Make the current effective behavior the most visually prominent element.
7. Mental Model Mismatch (Core Problem)
Root UX flaw
- The UI is designed from the implementation model (what the daemon does),
not the user mental model (who is in control right now).
User actually wants to know
- “Who controls this right now?”
- “Will my system behave normally if I close this app?”
- “How do I safely undo everything?”
Design should answer those questions instantly.
Summary of Key Improvements
- Replace activated / deactivated with outcome-based language.
- Separate harmless preferences from system-critical controls.
- Replace checkboxes with controls that signal risk and persistence.
- Add a prominent Restore Defaults action.
- Make “effective control owner” (App vs System) visually explicit.
- Reduce cognitive load by designing for the user’s mental model, not internal mechanics.
Overall, the UI is functional but expert-hostile: it assumes the user will carefully read and interpret every line. A small shift toward outcome-driven language and stronger affordances would dramatically reduce error risk and confusion.