Skip to main content

Efficient

Commands are scannable, giving users just the right amount of information at the right time.

Informing

  • Keep users informed when processes are known to take time
  • Give users time indicators when possible
  • Use loading bars showing progress when possible
  • Make things time out and notify users promptly
  • Assume users need support

Informing 1 - Do

Informing 1 - Don't

Informing 2 - Do

Informing 2 - Don't

Robustness

  • Ensure your program validates user input
  • Ensure your program can recover and bring the system back to safety
  • Ensure your program terminates when it’s invalid or fails
  • Ensure system resilience by implementing retries and failovers
  • Ensure your program cannot be misused or abused

Robustness 1 - Do

Robustness 1 - Don't

Robustness 2 - Do

Robustness 2 - Don't