The most essential principle of UserInterface design.
- By default provide only critical errors,
- by --quiet provide NO errors,
- and --verbose provide all the errors you want.
This is also covered in The Art of Unix Programming: "Rule of Silence: When a program has nothing surprising to say, it should say nothing."
http://www.faqs.org/docs/artu/ch01s06.html#id2878450
A perfect example of a horribly designed interface is HTML Tidy. It can't be made to shut the *bleep* up as -quiet still provides several thousand useless warnings.
See also SilentFailureNoisySuccess