2.1 Introduction

Chapter two discusses the value and the meaning of human computing interaction (HCI) and its usefulness in designing a user interface or website. “Human–computer interaction (HCI) is about designing a computer system that supports people so that they can carry out their activities productively and safely” (Preece et al. 1994, p. 1). HCI plays an important role in the development of computer systems and websites as it helps to develop “interactional techniques and to suggest where and in what situations these technologies and techniques might be put to best use” (Booth 1989, p. 6).

Thus, a commercial website with effective HCI is likely to be more useful and profitable. HCI is a “very important concept in the system development process as it is about understanding and creating software and other technology that people will want to use, will be able to use, and will find effective when used. And the usability concept and the methods and tools to encourage it, achieve it, and measure it are now touchstones in the culture of computing” (Carroll 2002, p. xxvii). In addition, this chapter addresses the topic of usability evaluation, as usability “is concerned with both obtaining user requirements in the early stages of design, and with evaluating systems that have been built” (Booth 1989, p. 103).

There are various methodologies to create effective websites; these methodologies address detailed issues such as page design, typography, graphics, sound, navigation, and multimedia. However, they do not provide an adequate overall approach to HCI and usability.

2.2 User-Centered System Design

In order for computer-based systems to be widely accepted and used effectively, they need to be well designed via a “user-centered” approach. This is not to say that all systems have to be designed to accommodate everyone, but that computer-based systems should be designed for the needs and capabilities of the people for whom they are intended. In the end, users should not even have to think about the complexity of how to use a computer. For that reason, computers and related devices have to be designed with an understanding that people with specific tasks in mind will want to use them in a way that is seamless with respect to their work. Additionally, it is very important to “define style, norms, roles, and even mores of human and computer relationship that each side can live with, as computers become more complex, smarter and more capable,” and as we allow them to “take on autonomous or semi-autonomous control of more critical aspects of our lives and society” (Miller 2004, p. 34).

Systems designers need to know how to think in terms of future users’ tasks and how to translate that knowledge into an executable system. This can be accomplished by establishing a good interface design to let the user interact and deal with the computer without any difficulties and to have more control of the system. Head (1999, p. 6) stated that good interface design “is a reliable and effective intermediary, sending us the right cues so that tasks get done—regardless of how trivial, incidental, or artful the design might seem to be.”

Recently, as we know, user-centered design has become an important “concept in the design of interactive system[s]. It is primarily concerned with the design of socio-technical systems that take into account not only their users, but also the use of technologies in users’ everyday activities, it can be thought of as the design of spaces for human communications and interaction” (DePaula 2003, p. 219).

HCI “is recognized as an interdisciplinary subject” (Dix et al. 2004, p. 4). HCI needs input from a range of disciplines, for example, “computer science (application design and engineering of human interfaces), psychology (the application of theories of cognitive processes and the empirical analysis of user behavior), sociology and anthropology (interactions between technology, work, and organization), and industrial design (interactive products).” Therefore, HCI has “science, engineering, and design aspects” (Hewett et al. 1992).

2.3 Human–Computer Interaction (HCI)

Before detailed consideration of the topic of human–computer interaction, two terms should be defined which are related to the development process: “Interface” and “Interaction”? According to Head, interface is the “visible piece of a system that a user sees or hears or touches” (Head 1999, p. 4). Interaction is a more general term covering the users’ activity. For instance, when the user types something by using the keyboard or clicks with a mouse, this activity is called interaction.

The general concepts of HCI apply to website design. Website designers have noticed that creating a “user-friendly” site is important to maximize user response. However, designers “did[not] know any effective ways to discover what made a product user-friendly or how to design a product that was friendly” (McCracken and Wolfe 2004 p. 3). Designers often have a poor understating of HCI issues. Therefore, designers need to know how to think in terms of future users’ needs, values, and supportable tasks and how to translate that knowledge into an executable system. This can be accomplished by establishing a good interface design to let the user interact and deal with the websites without any difficulties and to let the user have more control of the site.

Furthermore, in order to work effectively in the development process, HCI needs to be part of this process. According to Head, HCI has two critical dimensions in the development process: firstly, involving the user during the building and implementation of the new systems; secondly, evaluation studies about “cognitive and other behavioral factors that come into play when people interact with computers” (Head 1999, p. 9). These dimensions are consistent and mutually dependent, and thus, “the evaluation side of HCI becomes(s) a basis for decision making about design trade-offs during product development” (Head 1999, p. 9).

In the past, HCI experts tended to be consulted later in the design process, but most of the research found that this was a mistake. “The interface is not something that can be plugged in at the last minute; its design should be developed integrally with the rest of the system. It should not just present a “pretty face” but should support the tasks that people actually want to do and forgive the careless mistakes” (Dix et al. 2004, p. 3). Thus, it is important to consider how HCI will fit into the overall design process for websites (see Fig. 2.1).

Fig. 2.1
figure 1

HCI—past and now—prepared by Tomayess Issa

2.3.1 What is HCI?

The term human–computer interaction (HCI) was adopted in the mid-1980s as a means of describing this new field of study. “This term acknowledged that the focus of interest was broader than just the design of the interface and was concerned with all those aspects that relate to the interaction between users and computers” (Preece et al. 1994, p. 7).

HCI “is a discipline concerned with the design, evaluation, and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them” (Preece et al. 1994, p. 7). Therefore, the reasons for studying HCI in the development process are to create interactive computer systems that are usable and practical as well (Head 1999).

The term HCI relates to several stages in the development process, including the design, implementation, and evaluation of interactive systems, in the “context of the user’s task and work” (Dix et al. 2004, p. 4). The implementation of HCI can be perceived as an art as well as a science because it requires a comprehensive range of skills, including an understanding of the user, an appreciation of software engineering capabilities and application of appropriate graphical interfaces. “If we are to be recognized as developers with professional capabilities, as competent practitioners, then it is critical to understand what makes an application interactive, instructional and effective” (Sims 1997).

HCI “is concerned with the design of computer systems that are safe, efficient, easy, and enjoyable to use as well as functional” (Preece et al. 1993, p. 11). Vora (1998) describes a framework, which provides for effective HCI for websites, with the main task being to have a clear understanding of user needs: who the users are, and what their tasks and environments are. Additionally, HCI is “concerned not only with how present input and output technologies affect interaction, but also with the consequences of new techniques such as speech recognition and generation (input and output)” (Booth 1989, p. 5).

2.3.2 HCI as Process

HCI is a discipline focusing on design, evaluation, and implementation of interactive computer systems. By adopting HCI principles and practices in the development process, the system should be easy to use by people within their work settings. The purpose of integrating HCI techniques in the overall development process is that it incorporates good design “both in practice and in understanding”, and to achieve this goal, HCI addresses “what occurs on the human side of interaction as well as what happens on the machine side” (Head 1999, p. 12).

Basically, HCI is concerned with two issues: studying the relationship and the communication between the human and the computer and discovering the methods for “mapping computing functions to human capabilities and effectively using input and output techniques so that computers and users have more seamless interactions” (Head 1999, p. 12). HCI places a special emphasis on “creating and applying user-centered design techniques as well as using iterative usability testing methods” (Head 1999, p. 13).

Consequently, the machine [Computer] side involves several relevant issues including “computer graphics, operating systems, programming languages, and development environments.” While on the human side, “communication theory, graphic and industrial design disciplines, linguistics, social science, cognitive psychology, and human performance are relevant” (Hewett et al. 1992).

2.3.3 Relationship Between the HCI and Human Dialogue

HCI is the study and theory of the interaction between humans and complex technology and is concerned with how current input and output technologies affect interaction, and the situations in which these technologies and techniques might be put to best use. Therefore, the relationship between HCI and human dialogue may be summarized as follows: (Booth 1989, pp. 54–55).

  • Human–computer interaction, like human dialogue, is a form of communication where a degree of understanding can be achieved. Admittedly, this understanding may be limited in some respects, but if designed properly, a computer system will do as its user wishes, provided the user knows what is possible and how to give commands.

  • Communications require agreement on the terms used in the dialogue. When humans successfully communicate, they usually have a shared understanding of the words used and the concepts to which they refer. This is also true of human–computer communication. When a user gives commands to a system, then the system must have an understanding of these commands if the interaction is going to succeed.

  • Communications require agreement, not only upon the terms and concepts used, but also upon the context of the communication.

For example, if two people are speaking to one another, then there needs to be an agreed understanding of what they are speaking about. To illustrate this point further, let us consider an example where two individuals do not agree on the context of their conversation. Two people are sharing a car to travel to a conference. They stop at a garage for fuel and to check the car tyres. Bill is putting air into the tyres when Fred asks, “How’s the pressure?” Bill replies, “Not too good, the boss keeps getting on to me.” Fred explains, “Sorry I meant the car tyre pressure, but how’s work anyway?” (Booth 1989, p. 55). In this example, we understand that Fred and Bill do not share a common context for their brief exchange. “In their separate contexts, the necessary link of work and the context of car maintenance, some of the words can have different meanings (i.e., “Pressure”), and the result is a failure in the dialogue between the two individuals” (Booth 1989, p. 55).

This sort of dialogue failure can also occur in human–computer communications. For example, “consider a user of a word processing system who issues a command to print the document that is currently being edited.” Following the printing process, “the user issues a command for the system to re-display the document on the screen, but instead nothing happen.” The system “upon receiving the first command changed to the printing mode but did not adequately inform the user who was unaware of the change in context and the subsequent legality of some of the commands.” The lesson to be learned is “that those involved in communication assign [meaning] to symbols and terms depend[ing] upon the context in which they are communicated” (Booth 1989, p. 55).

The previous two examples reveal that perspective is not only important in conversation between humans, but is also a considerable factor in human–computer dialogue. To sum up, HCI is similar to human dialogue, as it is a form of communication where a degree of understanding is achieved. There must also be agreement between individuals involved in the process of communication on the meaning of the symbols and terms used. The context of the dialogue is also important, as it is the context that dictates the meanings of some of the symbols and terms used.

2.3.4 Goals of HCI

The goals of HCI are to produce usable and safe systems, as well as functional systems. These goals can be summarized as safety, utility, effectiveness, efficiency, and appeal. These goals focus on the services that the system provides, how quickly the tasks can be achieved, and ensuring that users like the system. In general, usability is an essential concept in HCI and is concerned with making systems easy to learn, easy to use, and with limiting error frequency and severity. To establish a simple system with good usability, the HCI specialists need to be aware of the following issues (Preece et al. 1994, p. 15):

  • Understand the factors such as organizational, social, and psychological factors that determine how people operate and make use of computer technology effectively.

  • Develop tools and techniques to help designers ensure that computer systems are suitable for the activities for which people will use them.

  • Achieve efficient, effective, and safe interaction in terms of both individual human–computer interaction and group interaction.

These needs should be considered very carefully at the design stage, as most of the users should not have to change radically to “fit in” with the system; rather, the system should be designed to match their requirements.

2.3.5 Purpose of HCI

The purpose of HCI is to design a computer system to match the needs and requirements of the users. The HCI specialists need to think about the above factors in order to produce an outstanding system. To achieve the goals of HCI, a number of approaches can be utilized. These approaches need to be studied very carefully in order to develop a system, which provides the user with productivity and efficiency. These approaches are: (Preece et al. 1994, pp. 46–47).

  • Involving the user: (involve the user as much as possible so that s/he can influence the system design).

  • Integrating different kinds of knowledge and expertise: (integrate knowledge and expertise from the different disciplines that contribute to HCI design).

  • Making the design process iterative: (testing can be done to check that the design does indeed meet users’ requirements).

From the above, it was learned that HCI design should be user-centered, integrate knowledge from different disciplines, and be highly iterative. In addition, it is important to undertake effective usability evaluation. This will provide feedback regarding negative and positive aspects of prototypes.

It is important that the way in which people interact with computers is intuitive and clear. However, designing appropriate HCI is not always straightforward, as the many poorly designed computer systems testify. One of the challenges of HCI design is to keep abreast of technological developments and to ensure that these are harnessed for maximum human benefit.

The goal of this research is to develop a framework for rapid, integrated, incremental systems development that enables a group of designers and users working together to produce a friendly, effective, and efficient website. Two terms—Interaction and Interactivity—need to be defined in order to understand how the user can communicate with the system to accomplish his/her goals.

2.3.6 Interaction and Interactivity

According to Dix, “Interaction involves at least two participants: the user and the system. Both are complex, as we have seen and are very different from each other in the way that they communicate and view the domain and the task. The interface must, therefore, effectively translate between them to allow the interaction to be successful” (Dix et al. 1998, p. 104).

Users can interact with computer systems in a variety of ways. At the lowest level is batch input, in which the user provides all the information to the computer at once and leaves the machine to perform the task. This approach is called indirect interaction. An approach which involves a real-time interaction between the users and the computer is called direct interaction, as a dialogue between the user and computer will be established and at the same time will provide feedback and control right through to achieving the task.

The study of interaction can help both the HCI specialists and the users simultaneously; for example, analysis of interaction will help HCI specialists to understand exactly what is going on in the interaction and identify the likely root of difficulties. It can compare different interaction styles and take into account the interaction problems. On the other hand, the users are able to achieve their goals successfully. These goals relate to the particular application domain, i.e., an “area of expertise and knowledge in some real-world activity” (Dix et al. 1998, p. 104). The user interacts with the system for a specific reason, i.e., to perform a task, in turn to achieve the goal, which was (for instance) the reason behind visiting a particular website. So, the goal is “the desired output from a performed task” while the task is an “operation to manipulate the concepts of a domain” (Dix et al. 1998, p. 104).

To understand the interaction concept, Norman’s model of interaction can be utilized (see Fig. 2.2) (Norman 1986). This model may be considered as a cycle between execution and evaluation, and these two stages can be subdivided into seven steps. The user begins the interactive cycle by defining the goal and the tasks in order to achieve his/her objectives. The user will define his/her goal by using the input mechanisms, so the task must be “articulated within the input language” (Dix et al. 1998, p. 107). Then, the input language will be translated into the system language (known by Norman as Core Language). Later, the system then “transforms itself as described by the operation translated from the input; therefore, the execution phase is complete” (Dix et al. 1998, p. 107). If the system responds to the user task in an appropriate manner to achieve the goal, then the interaction has been successful between the user and the system; otherwise, the user must “formulate a new goal and repeat the cycle” (Dix et al. 1998, p. 106).

Fig. 2.2
figure 2

(Adopted from Norman 1986)—prepared by Tomayess Issa

Norman’s interaction model

Next, the evaluation phase begins, as the system will be in the new state and must communicate to the user the current values of the system since “attributes are rendered as concepts or features of the output” (Dix et al. 1998, p. 107). Thus, the user can see the consequences of the task s/he initiated.

Finally, is up to the user to interpret the output and to match the results of the “interaction relative to the original goal” (Dix et al. 1998, p. 107). At this stage, the evaluation phase has ended as has the interactive cycle. A new cycle may then commence.

Norman’s model is very useful as a means to understand the principles behind the interaction framework. This model allows the user to define his/her goals firstly and then will let them interact with the system to accomplish these goals. However, other researchers suggest that Norman’s model considers only the “system as far as the interface and is only focusing on the user’s view of the interaction” (Dix et al. 1998, p. 106). A more complex approach is needed.

The second way in which to discuss the users’ communication with the system is interactivity. Interactivity can be defined in general terms as “the facility for individuals and organizations to communicate directly with one another regardless of distance or time” (Ghose and Dou 1998, p. 30). For instance, in an educational context, interactivity “refers to the activity between two organisms—which are learner and the computer” (Jonassen 1998, p. 97). In the context of HCI, “interactivity is the defining feature of an interactive system. This can be seen in many areas of HCI such as recognition rate for speech, recognition, and “feel” of a WIMP environment element: windows, icons, menus, pointers, dialog boxes, and buttons” (Dix et al. 1998, p. 136). This process is iterative with a sequence of steps and procedures followed by the user to interact with the machine (or system) to further his/her goal.

2.3.7 Factors in HCI Design

To achieve a safe and user-friendly system, the HCI specialists need to consider the main issues and factors involved in interaction and interactivity and hence in HCI design (see Fig. 2.3). These factors can be divided into (Preece et al. 1994, p. 31):

Fig. 2.3
figure 3

Factors in HCI—prepared by Tomayess Issa

Many factors are involved, therefore, during the development process; disagreement can arise between ways to address each of these factors depending on various aspects of the system development context, such as product, team members, users, and company. According to Head (1999, p. 33), “making careful trade-offs between these numerous factors, while supporting design principles and approaches, remains a challenge of the HCI field.” Consequently, most designers support involvement of the user in the design process from the beginning to reduce conflicts during the development stage.

Finally, Issa (2008) indicates that HCI is essential in the system development system. HCI will allocate users, analysts, and designers (internal and external) to identify that the website design is practical. Many specific issues need to be taken into consideration when designing website pages, such as text style, fonts; layout, graphics, and color (see Fig. 2.4).

Fig. 2.4
figure 4

HCI step in the New Participative Methodology for Marketing Websites (NPMMW)—Issa 2008—prepared by Tomayess Issa

2.4 What is Usability?

Usability refers to the “quality of the interaction in terms of parameters such as time taken to perform tasks, number of errors made, and the time to become a competent user” (Benyon et al. 2005, p. 52). Alternatively, usability “is a quality attribute that assesses how easy user interfaces are to use. The word “usability” also refers to methods for improving ease of use during the design process” (Nielsen 2003). The usability evaluation stage is an effective method by which a software development team can establish the positive and negative aspects of its prototype releases and make the required changes before the system is delivered to the target users. Usability evaluation is about observing users to “see what can be improved, what new products can be developed” (McGovern 2003). It is “based on human psychology and user research” (Rhodes 2000), since HCI specialists examine and discuss with users as they attempt and test a real task on a site (or system), and this allows them to produce a comprehensive picture of the site as practiced by the user.

From the user’s perspective, usability is considered a very important aspect in the development process as it can mean the difference between performing and completing a task in a successful way without any frustration. Alternatively, if usability is not highlighted in website design, then users will become very frustrated working with it (see Fig. 2.5). For example, according to Nielsen (2003), people will leave the website: (a) if is difficult to use; (b) if the users get lost on a website; (c) the information is hard to read; d) it does not answer users’ key questions; e) and lastly, if the homepage fails to define the purpose and the goals of the website. “Usability rules the web. Simply stated, if the customer cannot find a product, then s/he will not buy it. In addition, the web is the ultimate customer-empowering environment. S/he who clicks the mouse gets to decide everything. It is so easy to go elsewhere; all the competitors in the world are but a mouse-click away” (Nielsen and Mack 1994, p. 9).

Fig. 2.5
figure 5

Usability—prepared by Tomayess Issa

Usability is a critical issue for websites as it improves competitive position, improves customer loyalty, and drives down costs (Rhodes 2000). Therefore, if usability is highlighted in website design, it will keep the organization in a powerful position compared with their competitors, as “Usability = simplicity = user satisfaction = increased profits” (Rhodes 2000).

2.4.1 Concepts of Usability

To understand fully the concepts behind the term “usability,” we need to realize that usability is not “determined by just one or two constituents, but is influenced by a number of factors” which interact with “one another in sometimes complex ways” (Booth 1989, p. 106). Eason (1984) has suggested a sequence of models (see Fig. 2.6) that clarify what these variables might be. Figure 2.6 displays the relationship between independent (task, user, and system characteristics) and dependent variables (user reaction) with each variable having specific requirements and needs.

Fig. 2.6
figure 6

(Adopted from Eason 1984)—prepared by Tomayess Issa

Eason’s causal framework of usability

First, task characteristics are divided into frequency and openness. The frequency term refers to “the number of times any particular task is performed by a user” (Booth 1989, p. 107). If users perform a task infrequently, then help and assistance should be available via the interface so that users know which step must be taken next to accomplish the task. On the other hand, if users perform a task frequently, then it will be easier for him/her to remember the steps, which are required in order to accomplish the task.

The openness term refers to the “extent to which a task is modifiable” (Booth 1989, p. 107). This means that the information needs of the user are variable and the task must “be structured to allow the user to acquire a wide range of information.” According to Eason (cited in Booth 1989), the user information needs should be fixed. If this is the situation at that time “the task need not be open and flexible, as the same information is required each time the task is performed” (Booth 1989, p. 107).

The system function is described as being the most important concept under the causal framework for usability. The main concept of this variable is to improve the usability under the development process. To achieve this, the system function must address the three major system variables carefully within the development process. These are ease of learning, ease of use, and task match. The ease of learning term refers to the effort “required to understand and operate an unfamiliar system”; this term depends on the user’s knowledge. The ease of use term refers to the effort that is “required to operate a system once it has been understood and mastered by the user” (Booth 1989, p. 107). The task match refers to the “extent to which the information and functions that a system provides matches the needs of the user” (Booth 1989, p. 107); in other words, whether the system will provide the necessary functions that are essential as well as the information that the user needs to accomplish his/her goals.

The final set of independent variables concerns user characteristics, focusing on who is using the system, i.e., knowledge, motivation, and discretion. Knowledge refers to the user’s level of knowledge about computers and the tasks required. The motivation and discretion factors are very important concepts in the user characteristics variable with respect to the user’s desire to use the system. If the user “has a high degree of motivation, then more effort will be expended in overcoming problems and misunderstandings” (Booth 1989, p. 108). On the other hand, discretion refers to the “user’s ability to choose not to use some part, or even the whole of a system” (Booth 1989, p. 108). In other words, high discretion means that there needs to be satisfaction and fulfillment, via working with the new system, or the user will not bother.

According to Eason (see Fig. 2.6), usability not only focuses on the user characteristics, but the most important aspects that need to be added in the usability chart relate to “task” and “system”. Therefore, variables of task, system, and user all work jointly to establish the usability aspect of the system.

The dependent variable in Fig. 2.7 refers to the user’s reaction, which Eason describes as being created by a type of cost–benefit analysis. Therefore, this variable focuses on the negative and positive outcomes of adopting the new system. Positive outcomes will lead to success of the system, while the negative outcomes will lead to suspension and discontinuation of the system. In other words, the user “accumulates a knowledge base of task-system connections as the system is used in a sequence of task episodes. The emerging strategy for use may represent a positive outcome in which the user locates and uses appropriate system functions for every new task and progressively masters the system. The reverse scenario occurs when negative outcomes prevail and use of the system is discontinued. Eason points out, based on his field studies, that under realistic conditions the user appears to approach a state of equilibrium where further learning about the system is minimized” (Lowgren 1995, p. 5).

Fig. 2.7
figure 7

Re-iteration of Eason’s (1984) interacting task, system, and user variables—Adopted from Booth 1989, p. 109—prepared by Tomayess Issa

2.4.2 Usability Criteria

Various principles need to be followed in order to support usability, making systems easy to learn and easy to use. These principles are (Dix et al. 1998, p. 162 and Nielsen 2003):

  • Learnability: by which new users can begin effective interaction and achieve maximal performance.

  • Flexibility: the multiplicity of ways the user and system exchange information.

  • Robustness: the level of support provided to the user in determining successful achievement and assessment of goals.

  • Efficiency: once the user learns about the system, [the speed with which s/he] can perform the tasks.

  • Memorability: how easily the user will remember the system functions, after a period time of not using it.

  • Errors: “How many errors do users make, how severe are these errors, and how easily can they recover from the errors?” (Nielsen 2003).

  • Satisfaction: how enjoyable and pleasant is it to work with the system?

These principles can be applied to the design of an interactive system in order to promote its usability. Therefore, the purposes behind adopting these principles are to give more assistance and knowledge to system developers (and the users) regarding the system design. Alongside the above principles, an important key additional factor is utility. Utility refers to the functionality so users can “do what they need or want to do” (Preece et al. 2002, p. 16). In other words, “does it do what users need?” (Nielsen 2003). For that reason, usability and utility are equally important in the development process, and they need to be integrated.

2.4.3 Usability Specifications

Once the designer has gathered and analyzed information about the tasks, problems, and steps to work with the proposed system, the next step is to answer the question: How will we know if the interface is usable? This is laid out in a usability specification.

A usability specification defines the measure of success of a computer system or website and serves as an indicator about whether or not the development of the website is on the right track. A usability specification should be developed during the first stage of the development process and monitored “at each iteration”, to determine whether the “interface, is, indeed, converging toward an improved, more usable design” (Hix and Hartson 1993, p. 222). Usability specifications should lay out explicitly how usability will be evaluated and can be divided into two sections:

  • Performance Measures: are directly observable by watching a user complete a task within a specific time. This includes monitoring the number of errors and time needed to accomplish the task. These types are “quantifiable measures” which means that they can be communicated with numbers. For example “you can count the number of minutes it tasks a user to complete a task or the number of negative comments that occur” (McCracken and Wolfe 2004, p. 53).

  • Preference Measures: give an indication of a “user’s opinion about the interface which is not directly observable” (McCracken and Wolfe 2004, p. 53). Preference measures can be determined by using questionnaires or interviews.

Usability specifications are needed to determine when the iteration of prototypes has produced a system with sufficient usability. Therefore, without usability specifications, the key factors that “generally determine an end to the iterative refinement process are when developers run out of time, patience, and/or money” (Hix and Hartson 1993, p. 243). Usability specifications are very important to the development process since they define “a quantifiable end to the seemingly endless iterative refinement process” (Hix and Hartson 1993, p. 242).

Lastly, Issa (2008) confirms that usability is a core step in the system development process as usability will allow users, analysts, and designers (internal and external) to confirm that the website design is efficient, effective, safe, utility, easy to learn, easy to remember, easy to use and to evaluate, practical, visible, and provide job satisfaction (see Fig. 2.8).

Fig. 2.8
figure 8

Usability step in the New Participative Methodology for Marketing Websites (NPMMW)—Issa 2008—prepared by Tomayess Issa

2.5 Conclusion

This chapter has outlined the basic concepts involved in human–computer interaction and usability in the system development process. These considerations are very useful to the business community in line to increase the efficiency of their staff and thus their profits. Currently, HCI and usability are needed in any design, including sustainable design to recognize the new smart technology and portable device needs from designers and users’ perspective. Therefore, designers should integrate and combine HCI and usability in their agenda design, including sustainable design, to enhance new smart technology and portable devices performance and facilities, and to satisfy users’ needs.