IntroductionDifferent disciplines have different concepts of "design," so our understanding of design varies according our particular field. The development of the design concept in the Human-Computer Interaction (HCI) field has inherited approaches, methodologies, and theories coming mainly from Information Systems (IS), Software Engineering (SE), Behavioral and Social Sciences and, more recently, from Design Studies. The rationalist tradition has dominated thinking regarding the design of interactive systems in the Information Systems and Software Engineering fields. As discussed by Ehn and Löwgren, 1 the first approaches to IS development can be characterized by a strong belief in systematic design methods founded in mathematical-logical theories. Research interests in accuracy and technical control guided these approaches. The main assumptions behind them, as suggested in some methods of SE, seem to be that the users (end-user, client, customer, stakeholder, or problem owner) are supposed to give complete and explicit descriptions of their demands in terms of the system to be developed.Within the rationalist view of IS development, reality is objectively ascertained, is the same for everyone and is composed of entities, their properties, and relationships. Data is understood as a means of representing the truth about reality, and truth is the correct correspondence between some real entities. An information system is a kind of "plumbing" system through which data flow and, within this perspective, the role of the designer is to specify the truth data structure and functions of the system needed by users. 2 According to this view, interface design is just a matter of providing access to the underlying system functionality.In the 1990s, this picture changed and one of the major sources of inspiration was the theoretical discussion on the actual nature of the phenomenon of designing computer artifacts. A reframing of the rationalistic understanding of computer systems started to consider reality as a social construction based on the behavior of its participating agents. Within this view, the role of the designer is to assist users to articulate their problems; discover their information requirements; and evolve a systemic solution. In other words, "design" is understood