Deployment Installer UX - rpapub/WatchfulAnvil GitHub Wiki
💡 What Is Installer UX?
It refers to the user’s experience when installing software, including:
- Clarity of prompts and options
- Trust signals (certs, icons, publisher info)
- Progress feedback and error handling
- Default behaviors (especially for permissions or system integration)
- Seamlessness: minimize decisions unless needed
🔍 Key Principles of Good Installer UX
Principle | Explanation |
---|---|
Minimal choices | Ask only what’s necessary. Confusion = fear = cancel. |
Explain clearly | Use plain language. “Install for all users” vs. “Requires Admin rights.” |
Sensible defaults | Default to safe, working choices (like fallback paths). |
React to environment | Detect capabilities (e.g. admin rights) and adapt UI automatically. |
Visibility of progress | Show what’s happening, especially if work takes more than 2s. |
Silent mode support | Required for IT deployment & scripting. |
Trust signals | Signed executable, known publisher, no surprises. |
🧭 Installer UX Design Checklist
1. Clarity of Purpose
- Is it clear what this installer does — what is being installed, and why?
- Does the UI reflect scope: who will be affected (just user? all users?) and what locations will be touched?
2. Effort Minimization
- Are users only asked for input when necessary?
- Are defaults sensible and likely to work for most users?
- Can the user install without prior knowledge of internal folder structures?
3. Trust & Confidence
- Is the installer signed and attributed to a recognizable publisher?
- Is UAC elevation clearly explained, not just triggered blindly?
- Does the UI show professionalism (icons, spacing, no typos)?
4. Robustness
- Does the installer detect and adapt to existing installations?
- Are missing dependencies or folders handled gracefully?
- Can it run multiple times without causing inconsistent state?
- Is system integrity maintained even after partial failure?
- Are actions logged in a way useful for debugging?
5. Environment Awareness
- Does the installer react to admin rights (or lack thereof)?
- Is per-user vs per-machine behavior made explicit?
- Does the UI adapt based on what is actually available (e.g. installed Studio versions)?
6. Transparency of Actions
- Are the user’s choices shown before committing?
- Is progress visible and meaningful during install?
- Can the user review what happened after install (via log or summary)?
7. Uninstallation Flow
- Is uninstallation offered and accessible?
- Does it remove only what was installed — no collateral damage?
- Are all install-time decisions reversible (e.g. file copy, registry)?
- Is uninstallation silent-capable for scripting?
- Can the user trust that uninstallation is complete?
8. Error Recovery
- Are user-facing errors actionable (not just “something went wrong”)?
- Can the user retry or skip non-critical steps?
- Is partial install avoided or reversible?
9. Automation & Accessibility
- Does the installer support
/SILENT
and/VERYSILENT
modes? - Can it be run headless for IT scripts or CI/CD?
- Is keyboard navigation fully supported?