Desktop App Design — Professional & Enterprise Excellence
Desktop Design Philosophy
Desktop applications serve users who invest hours of focused attention in professional workflows. Unlike mobile's brief, task-focused interactions, desktop design must optimize for sustained productivity, information density, and expert efficiency. The challenge is supporting both first-day learnability and thousandth-day mastery within the same interface.
Core Principles (Edward Tufte + Jony Ive)
- Information density with clarity — show more data without increasing cognitive load (Tufte: "maximize data-ink ratio")
- Invisible design — the interface should disappear, leaving only the work (Ive: "true simplicity is derived from so much more than just the absence of clutter")
- Keyboard-first, mouse-enhanced — power users live on the keyboard; mouse interaction is the fallback
- Progressive complexity — simple surface, deep capability accessible through exploration
- Spatial memory — consistent layouts allow users to develop muscle memory over months of use
Dashboard Design
Dashboard Types
Operational Dashboards
- Real-time monitoring with auto-refresh (5-30 second intervals)
- Status-at-a-glance with clear normal/warning/critical states
- Anomaly detection with visual emphasis on outliers
- Minimize decoration — every pixel serves monitoring goals
Analytical Dashboards
- Interactive exploration with filter, drill-down, and cross-filtering
- Comparison-oriented: support time-range, segment, and baseline comparisons
- Export and sharing capabilities for collaborative analysis
- Allow users to create and save custom views
Strategic Dashboards
- KPI-focused with trend indicators and goal tracking
- Executive summary level — 5-7 key metrics maximum
- Contextual benchmarks (vs. target, vs. last period, vs. industry)
- Minimal interaction needed — the story should be immediately clear
Dashboard Layout Principles
- F-pattern reading: Place the most critical metric top-left, summary row at top
- Card-based layout: Each card is one complete thought — metric + context + trend
- Consistent grid: 12-column grid with standardized card sizes (1/4, 1/3, 1/2, full)
- Information hierarchy: Primary numbers large (24-48px), secondary context small (12-14px)
- Color as data: Use color to encode meaning (red=bad, green=good), not decoration
- White space as separator: Generous padding between cards reduces cognitive switching cost
Data Visualization Best Practices (Tufte)
- Choose chart types based on the relationship being shown: comparison → bar, trend → line, composition → stacked bar, distribution → histogram
- Label data directly rather than using legends when possible
- Eliminate chartjunk: unnecessary gridlines, 3D effects, decorative elements
- Use consistent axis scales across comparable charts
- Small multiples (repeated small charts) outperform single complex charts for comparison
- Accessible color palettes: ensure distinguishability for color vision deficiency
Data Table Design
Table Architecture
- Fixed headers that persist during vertical scroll
- Fixed key columns (usually first 1-2) that persist during horizontal scroll
- Row height: 40-52px standard, 32px compact mode for data-heavy views
- Column resizing by dragging column borders
- Column reordering by drag-and-drop headers
- Row striping (subtle alternating background) for wide tables — optional for narrow ones
Table Functionality
- Sorting: Click column header to sort; show direction indicator; support multi-column sort
- Filtering: Column-level filters with appropriate types (text search, range, multi-select)
- Search: Global search across all visible columns with result highlighting
- Pagination vs. infinite scroll: Pagination for data manipulation tasks, infinite scroll for browsing
- Bulk actions: Checkbox selection with select-all, action toolbar appears on selection
- Inline editing: Double-click to edit cells for quick corrections; full edit mode for complex changes
- Export: CSV, Excel, PDF with current filter/sort state preserved
Table Density Modes
- Comfortable: 52px rows, generous padding — default for general audiences
- Standard: 40px rows — default for data-oriented users
- Compact: 32px rows, smaller text — for power users managing large datasets
- Allow users to toggle density preference with persistent setting
Complex Workflow Design
Multi-Step Workflows
- Progress indicator: Show current step, total steps, and completion state
- Non-linear navigation: Allow jumping to completed steps for editing
- Save draft at every step — never lose user work on navigation
- Summary/review step before final submission
- Clear step labels that describe the content, not just "Step 1, Step 2"
Form-Heavy Interfaces
- Section grouping with clear headings and optional collapse
- Contextual help near complex fields — info icons with tooltips or inline descriptions
- Dependent fields: Show/hide fields based on previous selections
- Auto-save with visual confirmation (subtle "Saved" indicator)
- Validation summary at top of form linking to each error field
Master-Detail Pattern
- List/grid on left, detail panel on right — the dominant desktop productivity pattern
- Support resizable split panes
- Detail panel updates without full page reload
- Keyboard navigation: arrow keys traverse list, Enter opens detail, Escape returns to list
- Mobile adaptation: replace side-by-side with stack navigation
Keyboard-First Interaction
Essential Keyboard Patterns
- Global shortcuts: Document common shortcuts in an overlay (? or Ctrl+/)
- Command palette: Cmd/Ctrl+K for quick action access — the most important desktop UX innovation of the 2020s
- Tab order: Logical focus progression through interactive elements
- Focus indicators: Always visible, high-contrast focus rings (never remove outline without replacement)
- Escape key: Consistently closes modals, dropdowns, and cancels operations
Shortcut Design Rules
- Follow platform conventions (Ctrl/Cmd+S = Save, Ctrl/Cmd+Z = Undo)
- Avoid overriding browser shortcuts
- Use modifier combinations logically: Ctrl = action, Shift = modify/extend, Alt = alternate
- Provide visual shortcut hints in menus, tooltips, and command palette
Multi-Window and Panel Management
Panel Patterns
- Sidebar navigation: Collapsible, persistent across views, icon+label or icon-only modes
- Inspector panels: Right-side contextual properties panel (design tool pattern)
- Bottom panels: Console, log, terminal outputs — resizable with collapse
- Floating panels: Detachable for multi-monitor workflows
State Management
- Persist panel states (open/closed, sizes) across sessions
- Remember user's last-used view and filters
- Support workspace presets ("Developer layout", "Review layout")
- Handle window resize gracefully — responsive desktop is essential for varied monitor sizes
Enterprise-Specific Patterns
Permission-Aware UI
- Hide elements users cannot access (not just disable) for cleaner interfaces
- For disabled elements that provide context, show tooltip explaining why access is restricted
- Role-based views: admin sees all controls, viewer sees read-only, etc.
- Audit trails for sensitive actions with clear attribution
Notification and Alert Design
- Severity levels: Info (blue), Success (green), Warning (amber), Error (red), Critical (red + icon)
- Position: Non-blocking toasts for confirmations, blocking modals for critical decisions
- Persistence: Success toasts auto-dismiss (3-5s), errors persist until addressed
- Grouping: Batch similar notifications to prevent notification fatigue
Empty States and Onboarding
- First-run experience should guide users to first value moment
- Empty states include illustration, explanation, and clear CTA to populate the view
- Progressive onboarding: introduce features as they become relevant, not all at once
- In-app guidance: highlight new features with subtle callouts, dismissible permanently
Routing
For dense data surfaces — the data table deep dive, inline editing, grid vs
table, master-detail, complex forms, wizards, command palette design, keyboard
shortcut systems, and multi-window layouts: read
references/data-dense-interfaces.md.
For dashboards — information architecture, the widget and card system, chart
selection, accessible data-viz palettes, real-time patterns, filter and
drill-down, personalization, responsive dashboard layout, and loading states:
read references/enterprise-dashboard-patterns.md.
For an industry's conventions — healthcare, financial services, e-commerce,
SaaS/B2B, education, and real-time collaboration: read
references/industry-vertical-patterns.md.
For chart-type depth shared with data visualization: read
references/data-visualization-patterns.md.
Cross-Referencing
- For data visualization accessibility, reference
accessibility-inclusive-design
- For design token systems, reference
design-systems-architecture
- For interaction and transition design, reference
interaction-motion-design
- For UX evaluation, reference
nng-ux-heuristics
v3.0 Cross-References
The v3.0 upgrade introduces comprehensive data visualization references, production component patterns, and design tool workflows that extend desktop application design capabilities.
Data Visualization Patterns — references/data-visualization-patterns.md
The new references/data-visualization-patterns.md reference expands significantly on the Data Visualization Best Practices section above. It covers: comprehensive chart type selection guides with decision trees (when to use bar vs. column, line vs. area, scatter vs. bubble, treemap vs. sunburst); accessible data visualization patterns including screen reader-compatible chart descriptions, sonification approaches, and tactile-friendly data encoding; and dashboard composition frameworks for arranging multiple visualizations into coherent analytical narratives. Includes real-world examples of dashboard redesigns with before/after performance metrics.
Production Component Patterns — component-patterns-code
The component-patterns-code skill provides production-ready React component patterns directly applicable to desktop application design. Includes data table components with full state matrices (loading, empty, error, paginated, filtered, sorted, bulk-selected), command palette implementations, master-detail layout components, resizable panel systems, and keyboard-navigable tree views. Each component cookbook entry includes TypeScript types, accessibility annotations, and Storybook configurations — bridging the gap between the design patterns in this skill and production code.
Design Tool Workflows — figma-design-tool-workflows
The figma-design-tool-workflows skill covers the Figma-to-code pipeline applicable to desktop design systems. Relevant capabilities include: Figma variable modes for light/dark/high-contrast theme switching; auto-layout configurations that map to CSS Grid and Flexbox; component property definitions that generate developer handoff specifications; and the MCP-powered design-to-code flywheel that enables continuous synchronization between Figma design system files and production component libraries. Particularly valuable for desktop apps with complex theming requirements and dense component libraries.
Key Sources
- Tufte, E. (2001). "The Visual Display of Quantitative Information"
- Cooper, A. (2014). "About Face: The Essentials of Interaction Design"
- Microsoft Fluent Design System guidelines
- Apple macOS Human Interface Guidelines
- NNG Group enterprise UX research
1---2name: desktop-app-design3description: Desktop and enterprise application patterns: data-dense interfaces, dashboards, data tables, keyboard-first interaction, multi-window layouts, and data visualization. Use when designing an admin panel, analytics dashboard, or professional tool with complex workflows.4---56# Desktop App Design — Professional & Enterprise Excellence78## Desktop Design Philosophy910Desktop applications serve users who invest hours of focused attention in professional workflows. Unlike mobile's brief, task-focused interactions, desktop design must optimize for sustained productivity, information density, and expert efficiency. The challenge is supporting both first-day learnability and thousandth-day mastery within the same interface.1112### Core Principles (Edward Tufte + Jony Ive)13141. **Information density with clarity** — show more data without increasing cognitive load (Tufte: "maximize data-ink ratio")152. **Invisible design** — the interface should disappear, leaving only the work (Ive: "true simplicity is derived from so much more than just the absence of clutter")163. **Keyboard-first, mouse-enhanced** — power users live on the keyboard; mouse interaction is the fallback174. **Progressive complexity** — simple surface, deep capability accessible through exploration185. **Spatial memory** — consistent layouts allow users to develop muscle memory over months of use1920## Dashboard Design2122### Dashboard Types2324**Operational Dashboards**25- Real-time monitoring with auto-refresh (5-30 second intervals)26- Status-at-a-glance with clear normal/warning/critical states27- Anomaly detection with visual emphasis on outliers28- Minimize decoration — every pixel serves monitoring goals2930**Analytical Dashboards**31- Interactive exploration with filter, drill-down, and cross-filtering32- Comparison-oriented: support time-range, segment, and baseline comparisons33- Export and sharing capabilities for collaborative analysis34- Allow users to create and save custom views3536**Strategic Dashboards**37- KPI-focused with trend indicators and goal tracking38- Executive summary level — 5-7 key metrics maximum39- Contextual benchmarks (vs. target, vs. last period, vs. industry)40- Minimal interaction needed — the story should be immediately clear4142### Dashboard Layout Principles4344- **F-pattern reading:** Place the most critical metric top-left, summary row at top45- **Card-based layout:** Each card is one complete thought — metric + context + trend46- **Consistent grid:** 12-column grid with standardized card sizes (1/4, 1/3, 1/2, full)47- **Information hierarchy:** Primary numbers large (24-48px), secondary context small (12-14px)48- **Color as data:** Use color to encode meaning (red=bad, green=good), not decoration49- **White space as separator:** Generous padding between cards reduces cognitive switching cost5051### Data Visualization Best Practices (Tufte)5253- Choose chart types based on the relationship being shown: comparison → bar, trend → line, composition → stacked bar, distribution → histogram54- Label data directly rather than using legends when possible55- Eliminate chartjunk: unnecessary gridlines, 3D effects, decorative elements56- Use consistent axis scales across comparable charts57- Small multiples (repeated small charts) outperform single complex charts for comparison58- Accessible color palettes: ensure distinguishability for color vision deficiency5960## Data Table Design6162### Table Architecture6364- **Fixed headers** that persist during vertical scroll65- **Fixed key columns** (usually first 1-2) that persist during horizontal scroll66- **Row height:** 40-52px standard, 32px compact mode for data-heavy views67- **Column resizing** by dragging column borders68- **Column reordering** by drag-and-drop headers69- **Row striping** (subtle alternating background) for wide tables — optional for narrow ones7071### Table Functionality7273- **Sorting:** Click column header to sort; show direction indicator; support multi-column sort74- **Filtering:** Column-level filters with appropriate types (text search, range, multi-select)75- **Search:** Global search across all visible columns with result highlighting76- **Pagination vs. infinite scroll:** Pagination for data manipulation tasks, infinite scroll for browsing77- **Bulk actions:** Checkbox selection with select-all, action toolbar appears on selection78- **Inline editing:** Double-click to edit cells for quick corrections; full edit mode for complex changes79- **Export:** CSV, Excel, PDF with current filter/sort state preserved8081### Table Density Modes8283- **Comfortable:** 52px rows, generous padding — default for general audiences84- **Standard:** 40px rows — default for data-oriented users85- **Compact:** 32px rows, smaller text — for power users managing large datasets86- Allow users to toggle density preference with persistent setting8788## Complex Workflow Design8990### Multi-Step Workflows91- **Progress indicator:** Show current step, total steps, and completion state92- **Non-linear navigation:** Allow jumping to completed steps for editing93- **Save draft at every step** — never lose user work on navigation94- **Summary/review step** before final submission95- **Clear step labels** that describe the content, not just "Step 1, Step 2"9697### Form-Heavy Interfaces98- **Section grouping** with clear headings and optional collapse99- **Contextual help** near complex fields — info icons with tooltips or inline descriptions100- **Dependent fields:** Show/hide fields based on previous selections101- **Auto-save with visual confirmation** (subtle "Saved" indicator)102- **Validation summary** at top of form linking to each error field103104### Master-Detail Pattern105- **List/grid on left, detail panel on right** — the dominant desktop productivity pattern106- Support resizable split panes107- Detail panel updates without full page reload108- Keyboard navigation: arrow keys traverse list, Enter opens detail, Escape returns to list109- Mobile adaptation: replace side-by-side with stack navigation110111## Keyboard-First Interaction112113### Essential Keyboard Patterns114- **Global shortcuts:** Document common shortcuts in an overlay (? or Ctrl+/)115- **Command palette:** Cmd/Ctrl+K for quick action access — the most important desktop UX innovation of the 2020s116- **Tab order:** Logical focus progression through interactive elements117- **Focus indicators:** Always visible, high-contrast focus rings (never remove outline without replacement)118- **Escape key:** Consistently closes modals, dropdowns, and cancels operations119120### Shortcut Design Rules121- Follow platform conventions (Ctrl/Cmd+S = Save, Ctrl/Cmd+Z = Undo)122- Avoid overriding browser shortcuts123- Use modifier combinations logically: Ctrl = action, Shift = modify/extend, Alt = alternate124- Provide visual shortcut hints in menus, tooltips, and command palette125126## Multi-Window and Panel Management127128### Panel Patterns129- **Sidebar navigation:** Collapsible, persistent across views, icon+label or icon-only modes130- **Inspector panels:** Right-side contextual properties panel (design tool pattern)131- **Bottom panels:** Console, log, terminal outputs — resizable with collapse132- **Floating panels:** Detachable for multi-monitor workflows133134### State Management135- Persist panel states (open/closed, sizes) across sessions136- Remember user's last-used view and filters137- Support workspace presets ("Developer layout", "Review layout")138- Handle window resize gracefully — responsive desktop is essential for varied monitor sizes139140## Enterprise-Specific Patterns141142### Permission-Aware UI143- Hide elements users cannot access (not just disable) for cleaner interfaces144- For disabled elements that provide context, show tooltip explaining why access is restricted145- Role-based views: admin sees all controls, viewer sees read-only, etc.146- Audit trails for sensitive actions with clear attribution147148### Notification and Alert Design149- **Severity levels:** Info (blue), Success (green), Warning (amber), Error (red), Critical (red + icon)150- **Position:** Non-blocking toasts for confirmations, blocking modals for critical decisions151- **Persistence:** Success toasts auto-dismiss (3-5s), errors persist until addressed152- **Grouping:** Batch similar notifications to prevent notification fatigue153154### Empty States and Onboarding155- First-run experience should guide users to first value moment156- Empty states include illustration, explanation, and clear CTA to populate the view157- Progressive onboarding: introduce features as they become relevant, not all at once158- In-app guidance: highlight new features with subtle callouts, dismissible permanently159160## Routing161162For **dense data surfaces** — the data table deep dive, inline editing, grid vs163table, master-detail, complex forms, wizards, command palette design, keyboard164shortcut systems, and multi-window layouts: read165`references/data-dense-interfaces.md`.166167For **dashboards** — information architecture, the widget and card system, chart168selection, accessible data-viz palettes, real-time patterns, filter and169drill-down, personalization, responsive dashboard layout, and loading states:170read `references/enterprise-dashboard-patterns.md`.171172For **an industry's conventions** — healthcare, financial services, e-commerce,173SaaS/B2B, education, and real-time collaboration: read174`references/industry-vertical-patterns.md`.175176For **chart-type depth** shared with data visualization: read177`references/data-visualization-patterns.md`.178179## Cross-Referencing180181- For data visualization accessibility, reference `accessibility-inclusive-design`182- For design token systems, reference `design-systems-architecture`183- For interaction and transition design, reference `interaction-motion-design`184- For UX evaluation, reference `nng-ux-heuristics`185186## v3.0 Cross-References187188The v3.0 upgrade introduces comprehensive data visualization references, production component patterns, and design tool workflows that extend desktop application design capabilities.189190### Data Visualization Patterns — `references/data-visualization-patterns.md`191192The new `references/data-visualization-patterns.md` reference expands significantly on the Data Visualization Best Practices section above. It covers: comprehensive chart type selection guides with decision trees (when to use bar vs. column, line vs. area, scatter vs. bubble, treemap vs. sunburst); accessible data visualization patterns including screen reader-compatible chart descriptions, sonification approaches, and tactile-friendly data encoding; and dashboard composition frameworks for arranging multiple visualizations into coherent analytical narratives. Includes real-world examples of dashboard redesigns with before/after performance metrics.193194### Production Component Patterns — `component-patterns-code`195196The `component-patterns-code` skill provides production-ready React component patterns directly applicable to desktop application design. Includes data table components with full state matrices (loading, empty, error, paginated, filtered, sorted, bulk-selected), command palette implementations, master-detail layout components, resizable panel systems, and keyboard-navigable tree views. Each component cookbook entry includes TypeScript types, accessibility annotations, and Storybook configurations — bridging the gap between the design patterns in this skill and production code.197198### Design Tool Workflows — `figma-design-tool-workflows`199200The `figma-design-tool-workflows` skill covers the Figma-to-code pipeline applicable to desktop design systems. Relevant capabilities include: Figma variable modes for light/dark/high-contrast theme switching; auto-layout configurations that map to CSS Grid and Flexbox; component property definitions that generate developer handoff specifications; and the MCP-powered design-to-code flywheel that enables continuous synchronization between Figma design system files and production component libraries. Particularly valuable for desktop apps with complex theming requirements and dense component libraries.201202## Key Sources203204- Tufte, E. (2001). "The Visual Display of Quantitative Information"205- Cooper, A. (2014). "About Face: The Essentials of Interaction Design"206- Microsoft Fluent Design System guidelines207- Apple macOS Human Interface Guidelines208- NNG Group enterprise UX research