System design has conventionally been the province of engineers, and the approaches taken to the design of systems have conventionally led to formal specification of the system. The past decade or two has seen the rise of another approach, that of human-computer interaction (HCI). Given the number of incidents and accidents which are attributed to 'human error', it is sensible to develop an approach to system design which views humans as an essential element in the system. Thus, an important aspect of designing systems is the study of the interaction between humans and the technology that they use. In terms of bringing computers and computing to a wide audience, the 1980s were the boom years. The first personal computer (PC) was launched onto the market in February 1978, and since then, PCs have become a common-place feature of our homes, offices, schools, retail outlets, hospitals, banks, etc. Within Western society today, there are very few organisations that have not been infiltrated by computer technology, and few individuals who have not had experience of computers. However, the increase in use of computers has not been matched with a corresponding spread of training of users; much of the human-computer interaction research has sought to design systems which do not require special training, i. e. which people can simply walk up to and use. Not surprisingly, this has resulted in a number of difficulties; some of which have yet to be satisfactorily resolved.