To answer your question concerning system feedback to users, I think you have it pretty well covered. Feedback is an essential property of a usable product and necessary to avoid confused or frustrated users; it's critical for the user to naturally “flow” through the UI.
If you need to convince others of the importance of feedback you can point out that style guides like that for OSX list feedback as a basic design principle. Human factors standards, like MIL-STD 1472, require feedback and specify when and what types should be used. Wired has recently run an article on the importance of feedback for human performance in general, and how to have effective feedback.
To build on your list of how to provide feedback, you can add a list of what needs feedback. It should include:
- What input the user made (e.g., the user selected a specific button).
- What response the system made (e.g., the system is submitting the data in user’s form).
- When the response is completed and the system is ready for the next input (e.g., the data has been submitted). For slow response times, also indicate progress towards completion.
- Whether the input was ultimately successful or not, and, if not, why and what the user can do about it.
- System state modes or changes that may affect future user input or interpretation (e.g., dropped connection).
Each of these should be on time, on target, and proportional in its own way.
MIL-STD 1472 provides definitions of what constitutes adequately “on time” for various kinds of inputs (see 5.14.9).
“On-target” feedback has two meanings. It means spatially associated with whatever input the user made, and it means wherever the user is attending. Usually these are the same thing, since users tend to attend to wherever they made their last input. However, when response times are slow, the user may have shifted attention elsewhere. In this case you may need two feedback signals, each with its own level of proportionality. One signal is at the point of attention and gives basic feedback that directs the user back to the input, and the other is at the point of input providing more detailed information if needed.
Proportionality is very important; for example, you generally do not want something obtrusive like a message box to tell the user everything worked fine. However the absence or loss of a signal or visual indication is generally not acceptable feedback.