“The Star system (circa 1980, and as described in Byte ) gave rise to five principles, which in my opinion, are so important and timeless that their formulation and practical application as part of the Xerox Star user interface was without doubt revolutionary.”
The Xerox ‘Star’ was a commercial version of the prototypical Xerox Alto – if one thousand fully working systems, used internally at ‘PARC’ day-in-day-out over seven years, can be said to be prototypical. While the system itself is an interesting development in computer science, the interface and the mode of user interaction is truly visionary, and lead to five key principles for enhancing the user experience:
- ‘Familiar Conceptual Models’ – Star equates familiar conceptual models specifically with the idea of the desktop and the items that you might find on it. It exemplifies e-mail, and suggests that because e-mail is similar to postal mail then icons which describe e-mail in the form of in-baskets and out-baskets – letter icons being added to each to represent the incoming and outgoing mail. In addition, Star tailors these to the users familiar conceptual models by sending both text and files. This was a very new departure, previously files were sent using FTP – or some other transfer protocol – but this separation is not the case in the real world. So in reality, Star takes familiar real world concepts and maps them to the virtual world.
- ‘Universal Commands’ – Star also proposes the idea of universal commands. Previously each application defined its own set of commands, and shortcuts to those commands, and expected the user to remember the specific operations without reference to those already present on the system. Star does away with all this by defining a set of universal commands such as ‘move’, ‘copy’, ‘delete’ and the like; having the same action and being controlled by the same shortcuts, as every other program within the operating system. This may seem obvious and normal to us now, but it wasn’t in 1980. Now, universal commands are present in the standard operating system but there is sometimes tendency to change these commands in the application, or define a new set of commands when an application is going to be written once had distributed to different platforms (different platforms having different universal commands). In this case, you should think very hard about the rationale of breaking universality; if you are writing for many platforms, think about defining a set of commands to be used at runtime based on the kind of platform the application is being run upon.
- ‘Consistency’ – Consistency, or pragmatic consistency as the Star Team suggest is best, is another important principle for usability. By making sure that consistent actions occur across the programme functionality we can assist the user in learning the correct outcomes for the same action over different applications, reinforce the users understanding of what these outcomes will be, match a user’s expectations with real-world actions, and dovetail into the familiarity of actions in the user’s conceptual model. Consistency should also be considered specifically with regard to the dominance of real-world physical metaphors when compared to virtual ones, and the pragmatics of maintaining consistency even when that might go against the users understanding of what should happen. In should, you need to think very carefully about how to maintain consistency within your applications.
- ‘Simplicity’ – Simplicity is incredibly important, but it’s not a clear-cut principle; we can make a simple interface, but it may not fill the desired outcomes required by the user. What is simple to one user might be verbose and tedious to another user, especially when the first user might be a novice while the second, an expert. We can overcome some of these problems of simplicity by enabling expert access to system complexity; we can choose to use the technique of progressive disclosure; or we can separate out novice and expert interfaces such that shortcuts and accelerated behaviours are accessible by experts – if they know how – while slower more progressively disclosed interactions which support learnability and familiarity are available for the novice user.
- ‘User Tailor-ability’ – Usability is all about customisation, personalisation, and system adaptation; this means flexibility. The Star system is reasonably straightforward in its customisability, and individualisation (as it is known in the ISO standard), but this level of adaptability was unheard of at the time and pointed the way to a deeper acknowledgement that all individuals are different.
It is my opinion that these five principles are so important and timeless that their formulation and practical application as part of the Xerox Star user interface was without doubt revolutionary.
- D. C. Smith, C. Irby, R. Kimball, B. Verplank, and E. Harslem (1982). Designing the star user interface BYTE, 7 (4), 242-282