To be fully effective, engineering software must be easy to learn and easy to use for the casual first time user, as well as powerful enough to satisfy the experienced power user. The "human interface" represents how the user and the software communicate via keyboard, mouse, digitizer, screen, plotter, and printer. Better human interfaces make the software less mysterious and easier to use and improve the quality of the output but at the cost of more programming time.

The term "user friendly" is much over used without ever being defined. The more recent term "robust" has not provided better definition. Every individual or organization has at least a subconscious definition of these terms and has formed an opinion of the minimum acceptable level of software human interface. Whether developing or buying software, it is necessary to establish firm criteria of exactly what is the minimum acceptable. In addition, thought must be directed toward the optimum human interface balancing features that are "nice to have" against development cost.

This paper suggests a reasonable balance between the hypothetical ultimate human interface and the cost of development.

You can access this article if you purchase or spend a download.