Futilities/human/ui standards: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(Created page with "{{fmt/title|User Interface standards and conventions|as used in The Futilities}} ==Guidelines== * Commands will always identify themselves when run (name, version, date of las...")
 
No edit summary
Line 3: Line 3:
* Commands will always identify themselves when run (name, version, date of last major revision).
* Commands will always identify themselves when run (name, version, date of last major revision).
* When a command is run without proper input (including no input), it will respond with a brief explanation of what input is needed.
* When a command is run without proper input (including no input), it will respond with a brief explanation of what input is needed.
** Ideally, this output will include a link to complete documentation.
* Error messages will be human-readable.
* Error messages will be human-readable.
* [not yet implemented] If a machine-interface is desired, there will be an <code>--API</code> flag; when that flag is used, these guidelines do not apply.
* [not yet implemented] If a machine-interface is desired, there will be an <code>--API</code> flag; when that flag is used, these guidelines do not apply.

Revision as of 00:44, 1 September 2022

User Interface standards and conventions
as used in The Futilities

Guidelines

  • Commands will always identify themselves when run (name, version, date of last major revision).
  • When a command is run without proper input (including no input), it will respond with a brief explanation of what input is needed.
    • Ideally, this output will include a link to complete documentation.
  • Error messages will be human-readable.
  • [not yet implemented] If a machine-interface is desired, there will be an --API flag; when that flag is used, these guidelines do not apply.
  • If an operation might take a long time, there will be visual feedback regarding progress.
    • This feedback does not have to be quantitative or make any estimates about completion, but if possible it should provide enough information for the user to compare with other runs on similar data and make their own reasonable guess.
    • The application should not, by default, take extra time to gather information necessary for estimating percent-completion or time-to-complete. It may offer this service as a user option, however.