Tesler's Law
Every system has some complexity that cannot be removed, so someone has to handle it.
Why it matters
If the product does not absorb the complexity, the user has to.
How to use it
- Ask whether users or the system should deal with each hard part.
- Use sensible defaults and automatic detection.
- Keep an override for unusual cases.
Example
Detecting a time zone automatically moves that complexity from the user to the engineers.