IO Commandments

Prompt: Write your own 10 commandments

This story is at least partly inspired by religion. More info

  1. / is the root of the filesystem. You shall have no other directories before it.
  2. You shall not lock documents so that other applications cannot open them just because they're visible to the user.
  3. You shall always properly encode text data. Allow Unicode if possible.
  4. You shall make sure input/output of a command-line program works properly when redirected.
  5. You shall interpret encoding correctly, and accept all types of line endings (at least 13-10 and 10).
  6. When accepting user input, allow using the keyboard instead of the mouse, and don't depend on keyboard layout.
  7. When outputting user-visible text, use proper spelling and grammar, and make sure it is localizable.
  8. Don't depend on the user's ability to see color or to see at all. Also don't assume screen resolution.
  9. When inputting or outputting over a network, use standard protocols when possible. When inputting or outputting a file use standard formats if possible.
  10. Don't mix formatting with I/O.