The design of friendly, robust man-machine interfaces is of paramount importance as computers become widely available to non-expert users. This paper examines the role of modeling the capabilities and knowledge of the expected user population as an important step in the design process. The development of robust natural language interfaces is advocated for casual or inexperienced users. Design criteria for effective natural language communication with existing software products and expert systems are proposed.