Heading:
PE report (section 3d)
Page Numbers: No
OTHER
(X1)Adequate reference documentation
Reference documentation must be complete and reasonably well organized and indexed. The Interlisp manual is a shining example of how well an entire environment can be documented. It also demonstrates that keeping this documentation up to date is a lot of work.
(X2)CSL control over the system’s future
To the extent that we build our programming environment on a system being developed and maintained by another organization (e.g. Mesa and Smalltalk), we run the risk of having our concerns short-changed. Conversely, if we build on a system we are supporting for outside users (e.g. Lisp), we will continually need to balance our own priorities against those of the outside community, and the need to remain compatible.
(X3)"Efficient" interface for experts
For experts, the desire for common operations to require a minimum of human effort often rightly takes precedence over the desire for the greatest possible uniformity or simplicity in the human interface. However, such interfaces are too often constructed without paying any attention to the few principles of interface design that we do know. We believe it is important to consider consciously the design of certain key command interfaces (editing, debugging, screen management).
(X4)Uniformity in command interface
(The following paragraphs were adapted from the user guide for the OIS Tools Environment, written by SDD.)
In the process of using interactive programs, such as the tools listed in the previous major section, the user will inevitably accumulate perceptions, opinions, and models of the programs, and conjectures as to their workings. The net effect of these perceptions is referred to as the "user illusion". The intent is to allow the user to see the programs only in relation to his own needs and purposes, and not have to concern himself with the internal workings of the programs. What is important about a standard user interface package is that the user be able to confidently predict the general manner of interaction with a program that uses the package, even though he hasn’t experienced it yet; and that, by and large, the user will be right. This has been called the Law of Least Astonishment.
The concept of a consistent user interface also simplifies the design and coding of any program that interacts with the user. By adopting the conventions and making use of the facilities, it is a relatively simple matter to create useful interactive programs, because the programmer can concern himself with the algorithm rather than with creating his own user interface.
We believe that, in addition to consistency, another important goal to pursue in the design of the user interface might be called the Principle of Non-Preemption. Individual interactive programs should operate in a non-intrusive manner with respect to the user’s activities. The system does not usurp the attention and prerogatives of the user. A program responds to the user’s stimuli, but then quietly retains its context and logical state until the user elects to interact with the program again, not (for example) monopolizing the resources of the computer.
(X5)"Self-teaching" interface for beginners
(X6)Good introductory documentation
Since we are concerned with a programming environment primarily for CSL, and secondarily for the rest of the local research community, we feel that concern for novices should have low priority, since the rate at which new people join the community is low and most of them are already sophisticated.