I regard Seillac-II as an opportunity to discuss one of the few remaining branches of wizardry in Computer Science, namely the design of user interfaces. I think it would be fair to say that before Seillac I, many people regarded graphics system design as another form of wizardry; the Seillac I workshop deserves much of the credit for bringing it within the grasp of ordinary mortals. Now Seillac-II is faced with the task of doing the same for user interface design. I consider this a particularly ambitious goal, for there is very little in the published literature about how to design successful user interfaces - indeed many of the leading practitioners would have difficulty explaining their success. In this respect user interface design is in a much more primitive state than was graphics system design in 1975. So it will be hard to achieve as much as we did at Seillac-I.
I think it would be useful if the Seillac-II workshop could spend at least some of its time discussing how user interfaces are designed. As a starting point for discussion, let me suggest that interactive user interfaces require four components:
I think this list can be helpful as a means of avoiding bad user interfaces and as a means of analyzing what is bad about them. I say this because I have found most faults in user interfaces to be attributable to lack of attention to one of these four components. A common mistake is to pay too little attention to the user's model, which then becomes needlessly complex or inconsistent. Designers also tend to ignore the potential value of feedback in reassuring the novice user; as a result the user gives commands but cannot tell whether they have been correctly received by the computer.
Thus we can use the set of four components as a check-list against which to test the user interface. We can ask ourselves whether the user's model is complex and consistent; whether the command language is simple and convenient; whether feedback provides adequate confirmation to the user's commands; and whether information is clearly displayed. Viewed in this way, the set of components does offer a methodology for user interface design. The designer's skill and experience are still, however, the most important ingredients.
I would like to discuss the list of user interface components in yet another light: portability of application programs. Our ultimate goal is to design applications that not only have good user interfaces but also are easily transported from one installation to another. Each of the four components contributes to the portability problem in a different way:
Thus we face problems principally in the areas of command language design and feedback. These problems seem severe enough to prevent us from achieving true portability of interactive programs in the near future. Where programs must be designed with high quality user interfaces, device-dependent command languages and feedback techniques will be used. Where portability is of paramount importance, user interface quality will be sacrificed.
A key question for the user interface designer will thus be: does portability matter more than user interface quality? This is a question I believe Seillac-II will have to face too, in deciding what topics to address. The question does not have a simple answer: the relative importance of portability and user-interface quality depends on the size and nature of the user community and on the degree of variation in hardware characteristics. In the past, the user community for any given interactive program has tended to be small, technically well qualified, and with a wide variety of equipment at its disposal; portability has therefore been a serious problem, and quality of user interface design has not. In the future I think things will change: user communities for applications such as CAD and office information systems will become larger and less sophisticated, and equipment will become more standardized. The need for simple, powerful, easily learned user interfaces will dominate design. This is why I feel that Seillac-II must give adequate time to discussion of user interface design methodologies.