9

The process of interaction design

9.1 Introduction

9.2 What is involved in interaction design?

9.3 Some practical issues

9.4 Lifecycle models: showing how the activities are related

9.1 Introduction

Design is a practical and creative activity, the ultimate intent of which is to develop a product that helps its users achieve their goals. In previous chapters, we looked at different kinds of interactive products, issues that need to be taken into account when doing interaction design, some of the theoretical basis for the field, and techniques for gathering and analyzing data to understand users' goals. In this chapter we start to explore how we can design and build interactive products.

Chapter 1 defined interaction design as being concerned with “designing interactive products to support the way people communicate and interact in their everyday and working lives”. But how do you go about doing this?

Developing a product must begin with gaining some understanding of what is required of it, but where do these requirements come from? Whom do you ask about them? Underlying good interaction design is the philosophy of user-centered design, i.e. involving users throughout development, but who are the users? Will they know what they want or need even if we can find them to ask? For an innovative product, users are unlikely to be able to envision what is possible, so where do these ideas come from?

In this chapter, we raise and answer these kinds of questions and discuss user-centered design and the four basic activities of the interaction design process that were introduced in Chapter 1. We also introduce a lifecycle model of interaction design that captures these activities.

The main aims of this chapter are to:

  • Consider what ‘doing’ interaction design involves.
  • Explain some advantages of involving users in development.
  • Explain the main principles of a user-centered approach.
  • Ask and provide answers for some important questions about the interaction design process.
  • Introduce the idea of a lifecycle model to represent a set of activities and how they are related.
  • Describe some lifecycle models from software engineering and HCI and discuss how they relate to the process of interaction design.
  • Present a lifecycle model of interaction design.

9.2 What is Involved in Interaction Design?

The previous chapters have introduced you to many exciting ideas, approaches, theories, and opinions about interaction design, but what does it mean to actually ‘do’ interaction design? The following activity is intended to start you thinking about this by asking you to produce an initial design for an interactive product.

Activity 9.1

Imagine that you want to design a travel planner for yourself. You might use this system to plan your route, check visa requirements, book flights or train tickets, investigate the facilities at your destination, and so on. Assume that the system is destined to run on a desktop system for the purposes of this activity.

  1. Make a list of the user experience and usability goals for the system.
  2. Outline the initial screen or two for this system, showing its main functionality and its general look and feel. Spend about five minutes on this.
  3. Having produced an outline, now spend five minutes reflecting on how you went about tackling this activity. What did you do first? Did you have any particular artifacts or experience to base your design upon? What process did you go through?

Comment

  1. The three main usability goals I would like for my system are efficiency, effectiveness, and safety. I'm not so bothered about whether the system is easy to learn or memorable as I am likely to use it regularly, and I am prepared to put the time in to learn something that supports me well. When I look at the list of user experience goals, there are definitely some that I don't wish to be associated with my travel organizer, such as annoying, frustrating, and challenging! I want it to be helpful and satisfying. Being fun or engaging would be additional bonuses to me I think, as the main purpose of using the system is to plan my travel.
  2. The initial screens I produced are shown in Figure 9.1. The first screen prompts me for the four main items of information I usually have at the top of my mind: where am I going, when am I going there, how do I want to get there, and do I need to organize accommodation? The second screen then shows the kind of response I would like the system to give if I'm trying to go to York by train: it gives me train times from my local station on the specified date (straight through trains only, as I prefer that), and the range of accommodation available in York. I can then find out more about the trains and the accommodation by drilling down further.

    images

    Figure 9.1 Initial sketches of the travel organizer

  3. The first thing that came into my head when I started doing this was the myriad of resources I currently use to plan my travel. For example, travel agents will arrange accommodation, visas, guided tours, etc., for me; I can look at paper-based or electronic timetables for journey routes and times, ring up automated timetable readers, operators who will give me travel advice, embassies who will also give me travel advice about their own country, websites to identify cheap flights, and so on. There is a long list. I then thought it would be good to combine the advantages of all of these into one system that could then be tailored to me. For example, so that the first airline offered for any flights is my favorite airline, and the starting point for my journeys is defaulted to my normal train station or airport. The next thing I focused on was the dialog I would have with the system. Hence, my sketches focus on questions the system might ask me and my responses. One of the things that occurred to me as I was producing this sketch is that the location I need to enter will depend on the kind of transport I choose, and the kind of help I need will also depend on the kind of transport I want to use. On the other hand, I would want the system to know that I am unlikely to want to drive in my car to Hong Kong, which is several thousand miles away, so it should automatically default to travel by air for some destinations, and similarly if there is no airport near a destination then it should know that I would not want to fly.

    The ‘look and feel’ seemed very bland, and I then realized that I had been subconsciously focusing on business travel, which usually is about getting to and from a given location in the most convenient and comfortable manner; I am unlikely to be concerned about the location itself as I don't have a choice of destination. However, if I was planning travel for a holiday I am more likely to want pictures of the destination and descriptions of local activities, restaurants, historic sites, and so on. I might also want to enter my choices in a different way, focusing on the kind of holiday or location I want to travel to, and leaving the system to suggest alternatives. This led me to reconsider (although not redraw) my ideas.

    The exact steps taken to create a product will vary from designer to designer, from product to product, and from organization to organization. In this activity, you may have started by thinking about what you would like such a system to do for you, or you may, like me, have been thinking about existing resources. Sketching something, or writing down concrete lines, squiggles, and words, helps to focus the mind on what you are designing, the details of the interaction, and the kinds of interaction your design will support. All the time you were doing this, you will have been making choices between alternatives, exploring your requirements in more detail, and refining your ideas about what you would like a travel organizer to do for you.

There are many fields of design, for example, graphic design, architectural design, industrial and software design, and although each discipline has its own interpretation of ‘designing,’ there are three fundamental activities that are recognized in all design: understanding the requirements, producing a design that satisfies those requirements, and evaluating the design. Interaction design also involves these activities, and in addition we focus attention very clearly on users and their goals. For example, we investigate the artifact's use and target domain by taking a user-centered approach to development, we seek users' opinions and reactions to early designs, and we involve users appropriately in the development process itself. This means that users' concerns direct the development rather than just technical concerns, and for interaction design, the three fundamental activities of design listed above are extended to include an activity of producing a version of the design that users can interact with.

So design involves work on requirements, designing a solution, producing an interactive version of the solution, and evaluating it. But design is also about trade-offs, about balancing conflicting requirements. One common form of trade-off when developing a system to offer advice is deciding how much choice will be given to the user and how much direction the system should offer. Often the division will depend on the purpose of the system, e.g. for business travel or for holiday travel. Getting the balance right requires experience, but it also requires the development and evaluation of alternative solutions.

Generating alternatives is a key principle in most design disciplines, and one that should be encouraged in interaction design. As Linus Pauling once said: “The best way to get a good idea, is to get lots of ideas.” This is not necessarily easy, however, and unlike many design disciplines, interaction designers are not generally trained to generate alternative designs. The good news is that the ability to brainstorm and contribute alternative ideas can be learned. For example, Kelley (2001) describes seven secrets for better brainstorms, including sharpen the focus (have a well-honed problem statement), playful rules (to encourage ideas), and get physical (use visual props). He also discusses six ways to kill a brainstorm, including do it off-site and write everything down. Danis and Boies (2000) found that using techniques from graphic design that encouraged the generation of alternative designs stimulated innovative interactive systems design.

Involving users and others in the design process means that the designs and potential solutions need to be communicated to people other than the original designer. This requires the design to be captured and expressed in some suitable form that allows review, revision, and improvement. There are many ways of doing this, one of the simplest being to produce a series of sketches. Other common approaches are to write a description in natural language, to draw a series of diagrams, and to build prototypes. A combination of these techniques is likely to be the most effective. When users are involved, capturing and expressing a design in a suitable format is especially important since they are unlikely to understand jargon or specialist notations. In fact, a form that users can interact with is most effective, and building prototypes of one form or another (see Chapter 11) is an extremely powerful approach (see Box 9.1).

In the rest of this section, we explore in more depth the significance and practicality of involving users in design, i.e. using a user-centered approach, and consider again the four activities of interface design that were introduced in Chapter 1.

Box 9.1: The Value of Prototyping

I learned the value of a prototype through a very effective role-playing exercise. I was on a course designed to introduce new graduates to different possible careers in industry. One of the themes was production and manufacturing and the aim of one group exercise was to produce a notebook. Each group was told that it had 30 minutes to deliver 10 books to the person in charge. Groups were given various pieces of paper, scissors, sticky tape, staples, etc., and told to organize ourselves as best we could. So my group set to work organizing ourselves into a production line, with one of us cutting up the paper, another stapling the pages together, another sealing the binding with the sticky tape, and so on. One person was even in charge of quality assurance. It took us less than 10 minutes to produce the 10 books, and we rushed off with our delivery. When we showed the person in charge, he replied, “That's not what I wanted, I need it bigger than that.” Of course, the size of the notebook wasn't specified in the description of the task, so we found out how big he wanted it, got some more materials, and scooted back to produce 10 more books. Again, we set up our production line and produced 10 books to the correct size. On delivery we were again told that it was not what was required: he wanted the binding to work the other way around. This time we got as many of the requirements as we could and went back, developed one book, and took that back for further feedback and refinement before producing the 10 required.

If we had used prototyping as a way of exploring our ideas and checking requirements in the first place, we could have saved so much effort and resource!

9.2.1 The Importance of Involving Users

The description above emphasizes the need to involve users in interaction design, but why is it important? In the past, developers would often talk to managers or to ‘proxy users,’ i.e. people who role-played as users, when eliciting requirements. While a proxy user can provide useful information, they will not have the same perspective as someone who performs the task every day, or who will use the intended product on a regular basis. For example, several years ago, I was involved with a system to process and record financial transactions from the foreign exchange (‘forex’) dealers in a large international bank. The users of this system took the handwritten transaction records completed by the ‘forex’ dealers and entered the details into the system. The system then validated the transaction and communicated a confirmation to the relevant parties. When the requirements for this system were developed, no-one from the development team spoke to the end-users of the system; the requirements were identified by higher-level managers. Although the system was successfully used to support the task, the end-users had developed several ‘work-arounds.’ For example, the system required both buyer code and buyer name to be entered, but it was quite common for the dealers to write only the buyer name on their transaction chitty. It would have been simple to design the system to support entry of transactions based on names or codes, but this wasn't done—both fields were required. This wasted a lot of time as the users had to identify the codes manually.

The best way to ensure that development continues to take users' activities into account is to involve real users throughout development. In this way, developers can gain a better understanding of users' goals, leading to a more appropriate, more usable product. However, two other aspects that have nothing to do with functionality are equally as important if the product is to be usable and used: expectation management and ownership.

Expectation management is the process of making sure that the users' views and expectations of the new product are realistic. The purpose of expectation management is to ensure that there are no surprises for users when the product arrives. If users feel they have been ‘cheated’ by promises that have not been fulfilled, then this will cause resistance and maybe rejection. Expectation management is relevant whether you are dealing with an organization introducing a new software system or a company developing a new interactive toy. In both cases, the marketing of the new arrival must be careful not to misrepresent the product. How many times have you seen an advert for something you thought would be really good to have, but when you see one, discover that the marketing ‘hype’ was a little exaggerated? I expect you felt quite disappointed and let down. Well, this is the kind of feeling that expectation management tries to avoid.

It is better to exceed users' expectations than to fall below them. This does not mean just adding more features, however, but that the product supports the users' goals more effectively than they expect. Involving users throughout development helps with expectation management because they can see from an early stage what the product's capabilities are and what they are not. They will also understand better how it will affect their jobs and lives, and what they can expect to do with the product; they are less likely to be disappointed. Users can also see the capabilities develop and understand, at least to some extent, why the features are the way they are.

Adequate and timely training is another technique for managing expectations. If you give people the chance to work with the product before it is released, either by training them on the real system or by offering hands-on demonstrations of a pre-release version, then they will understand better what to expect when the final product is released.

A second reason for user involvement is ownership. Users who are involved and feel that they have contributed to a product's development are more likely to feel a sense of ‘ownership’ towards it and be receptive to it when it finally emerges.

9.2.2 Degrees of User Involvement

Different degrees of user involvement may be implemented in order to manage expectations and to create a feeling of ownership. At one end of the spectrum, users may be co-opted to the design team so that they are major contributors. For any one user, this may be on a full-time basis or a part-time basis, and it may be for the duration of the project or for a limited time only. There are advantages and disadvantages to each situation. If a user is co-opted full-time for the whole project, their input will be consistent and they will become very familiar with the system and its rationale. However, if the project takes many years they may lose touch with the rest of the user group, making their input less valuable. If a user is co-opted part-time for the whole project, she will offer consistent input to development while remaining in touch with other users. Depending on the situation, this will need careful management as the user will be trying to learn new jargon and handle unfamiliar material as a member of the design team, yet concurrently trying to fulfill the demands of their original job. This can become very stressful for the individuals. If a number of users from each user group are co-opted part-time for a limited period, input is not necessarily consistent across the whole project, but careful coordination between users can alleviate this problem. In this case, one user may be part of the design team for six months, then another takes over for the next six months, and so on.

At the other end of the spectrum, users may be kept informed through regular newsletters or other channels of communication. Provided they are given a chance to feed into the development process through workshops or similar events, this can be an effective approach to expectation management and ownership. In a situation with hundreds or even thousands of users it would not be feasible to involve them all as members of the team, and so this might be the only viable option.

If a large number of users is available, then a compromise situation is probably the best. Representatives from each user group may be co-opted onto the team on a full-time basis, while other users are involved through design workshops, evaluation sessions, and other data-gathering activities.

The individual circumstances of the particular project affect what is realistic and appropriate. If your end-user groups are identifiable, e.g. you are developing a product for a particular company, then it is easier to involve them. If, however, you are developing a product for the open market, it is unlikely that you will be able to co-opt a user to your design team, and so an alternative approach is needed. For example, Box 9.2 explains how Microsoft involves users in its developments.

One of the reasons often cited for not involving users in development is the amount of time it takes to organize, manage, and control such involvement. This issue may appear particularly acute in developing systems to run on the Internet, where ever-shorter timescales are being forced on teams—in this fast-moving area, projects lasting three months or less are common. You might think, therefore, that it would be particularly difficult to involve users in such projects. However, Braiterman et al. (2000) report two case studies showing how to involve users successfully in large-scale but very short multidisciplinary projects, belying the claim that involving users can waste valuable development time.

The first case study was a three-week project to develop the interaction for a new web shopping application. The team included a usability designer, an information architect, a project manager, content designers, and two graphic designers. In such a short timeframe, a long research phase and detailed prototyping sessions were impossible, so the team produced a hand-drawn paper prototype of the application that was revised daily in response to customer testing. The customers were asked to perform tasks with the prototype, which was manipulated by one of the team in order to simulate interaction, e.g. changing screens. After half the sessions were conducted, the team produced a more formal version of the prototype in Adobe Illustrator. They found that customers were enthusiastic about using the paper prototype and were keen to offer improvements. These improvements ranged from changes to terminology to task flow and page design changes such as the addition of full product descriptions and instructional information on shipment dates.

Box 9.2: How Microsoft Involves Users

Microsoft involves its users throughout development in a variety of ways, from product and feature identification to feature development and testing, and via the customer support call centers.

Microsoft bases feature selection and prioritization on a technique called ‘activity-based planning.’ This technique involves studying what users do to achieve a certain activity like writing a letter, and using the results of the study to choose product features. Each new release of a software product is limited to supporting about four new major activities. Each of these proposed new activities can be broken down into sub-activities, and these mapped against features already existing in the software. Any new features required are noted. If a feature can support more than one activity, then it is placed higher in the priority list. The techniques used to gather customer data for activity-based planning do not appear to be prescribed in any way, and can vary from visiting customers through to asking them to use an instrumented version of the software, i.e. a version that records the actions they take. Microsoft also employs contextual inquiry (see Chapter 10) to learn about their customers' work, although they find that it can be time-consuming and the results ambiguous.

Because the world of applications software changes so rapidly, developers need to continually observe and test with users. Throughout the development phase, usability tests are carried out in Microsoft's usability lab. Each time a developer believes that a feature is finished, then it is scheduled for testing in the usability lab. A group of about 10 users ‘off the street’ are invited into the lab to perform certain tasks, while their behavior is observed and their performance recorded. The data is then analyzed and the findings fed back into development. This results in thorough testing of all features. As an example, an early version of Office 4.0 went through over 8000 hours of usability testing.

Once a product is complete, it is used internally by Microsoft staff (who are selected users and atypical, but are using it in a realistic working environment); then it may be released in a beta version to selected customers.

Microsoft has millions of customers around the world, about 30% of whom call their customer support lines with problems and frustrations resulting from poor features or software errors. This data about customer behavior and their problems with the products is a further source of information that is fed back into product development and improvement.

(Cusumano and Selby, 1995)

The second case study involved the development of a website for a video game publisher over three months. In order to understand what attracts people to such gaming sites, the multidisciplinary team felt they needed to understand the essence of gaming. To do this, they met 32 teenage gamers over a 10-day period, during which they observed and interviewed them in groups and individually. This allowed the team to understand something of the social nature of gaming and gave insights into the gamers themselves. During design, the team also conducted research and testing sessions in their office lab. This led them to develop new strategies and web designs based on the gamers' habits, likes, and dislikes.

Box 9.3 describes a situation in which users were asked to manage a software development project. There were hundreds of potential users, and so in addition, users became design team members on a full- and part-time basis; regular design workshops, debriefings, and training sessions were also held.

How actively users should be involved is a matter for debate. Some studies have shown that too much user involvement can lead to problems. This issue is discussed in the Dilemma box below.

Box 9.3: Users as Project Team Leaders

The Open University (OU) in the UK is a large distance education university with many thousands of students enrolled each year in a variety of courses (undergraduate, graduate, vocational, and professional) in a variety of subjects (Technology, Languages, Education, etc.). The courses are presented through paper-based and electronic media including DVDs with video and audio resources. It has a network of centers through which it supports and distributes courses to students throughout the UK and Europe. The OU employs about 3000 academic and other full-time staff and about 6000 part-time and counseling staff. The University has around 200,000 students and customers for its education packs, and manages a network of distributors operating in over 30 countries. Such an operation requires considerable computerized support: in 1993 approximately 54 major systems of varying sizes were held on mainframe UN-LX host/workstations, VAX hosts, or PCs.

Traditionally, the systems had been built by an in-house software development team, who, due to resource constraints, sometimes needed to make business decisions although their expertise was in technical issues, not in the business side of the University. When it was time to redevelop these information systems, the OU decided that a new approach to development was required: users were to have a much more significant role.

Development was divided into a number of areas, each with its own project team and its own schedule. Consistency across the areas was maintained through the development of a GUI interface standard style guide that ensured all systems had the same look and feel (style guides are discussed in Chapter 6). Users were involved in development on a number of different levels, typically 30–80% of their time. For example, in one area (Area E), one user was appointed full-time to manage the project team, two others joined the project team part-time for a limited period (about 18 months each), one user was consulted on a regular basis, and a wider set of users were involved through workshops and prototyping sessions. The project team also included technically trained analysts and developers.

When asked for the most successful and the least successful aspects of the project, both users and technical developers agreed that the most successful had been getting users involved in development. They said that this had made the system closer to what the users wanted. The users' reactions were not all favorable, however. One user commented that, because users were part of the team for only a limited time, they did not see the development through from the beginning, but saw only some of the phases, and that this led to lack of continuity. Another user commented on the fact that the business had changed faster than the software could be developed, and hence the system had to be changed. Another group of users who were consulted mainly through workshops and prototyping sessions did not feel that their needs had been adequately addressed.

One of the user project managers had this to say:

The most successful thing has been getting people to go back to basics. We didn't look at existing systems and say, “We want the same thing but with go-faster stripes.” We've examined what the University wants from the area. The most disappointing part has been that increased user involvement has not brought about ownership of the system by user areas. There was an expectation that we could move away from the traditional view of, “This is a computer system devised by computer people for you to use.” In practice it's been far more difficult to get users to make decisions; they tend to say, “That's part of development. You decide.”

This lack of ownership was commented upon by users and developers alike. One of the analysts commented:

The user-led aspect has resulted in [the system's]1 greatest successes and greatest failures. User project managers do not have a systems background. Depending on their character they can be open to ideas or very blinkered. If they come from a user area with a system already it can be hard for them to see beyond their current system.

(M880, 2000)

Dilemma: Too Much of a Good Thing?

Involving users in development is a good thing. Or is it? And how much should they become involved? Box 9.3 describes a project in which users were appointed as project managers and were actively involved in development throughout. But are users qualified to lead a technical development project? And does this matter, provided there is sufficient technical expertise in the team?

Involving users at any level incurs costs, whether in terms of time for communication, or for workshops, or time spent explaining technical issues. Detailed user studies may also require the use of recording equipment and the subsequent cost of transcription and analysis. What evidence is there that user involvement is productive, or that it is worth putting the required level of resources into development? Research by Keil and Carmel (1995) indicates that the more successful projects do have direct links to users and customers. Kujala and Mäntylä (2000) performed some empirical work to investigate the costs and benefits of user studies early in product development. They concluded that user studies do in fact produce benefits that outweigh the costs of conducting them.

On the other hand, Heinbokel et al. (1996) suggest that a high user involvement has some negative effects. They found that projects with high user participation showed lower overall success, fewer innovations, a lower degree of flexibility, and low team effectiveness, although these effects were noticeable only later in the project (at least 6–12 months into the project). In short, projects with a high level of user participation tended to run less smoothly. They identified four issues related to communication among users and developers that they suggest caused problems. First, as the project progressed, users developed more sophisticated ideas, and they wanted them to be incorporated late in the project. Second, users were fearful of job losses or worsening job conditions and this led to a tendency for participation to be not constructive. Third, users were unpredictable and not always sympathetic to software development matters. For example, they asked for significant changes to be made just as testing was due to start. Fourth, user orientation in the designers may lead to higher aspirations and hence higher levels of stress.

Webb (1996) too has concerns about user involvement, but Scaife et al. (1997) suggest that it is not the fact of user involvement that is in question, but how and at what stage in development they should get involved.

9.2.3 What is a User-centered Approach?

Throughout this book, we emphasize the need for a user-centered approach to development. By this we mean that the real users and their goals, not just technology, should be the driving force behind development of a product. As a consequence, a well-designed system will make the most of human skill and judgment, will be directly relevant to the work in hand or other activity, and will support rather than constrain the user. This is less of a technique and more of a philosophy.

In 1985, Gould and Lewis (1985) laid down three principles they believed would lead to a “useful and easy to use computer system:”

  1. Early focus on users and tasks. This means first understanding who the users will be by directly studying their cognitive, behavioral, anthropomorphic, and attitudinal characteristics. This requires observing users doing their normal tasks, studying the nature of those tasks, and then involving users in the design process.
  2. Empirical measurement. Early in development, the reactions and performance of intended users to printed scenarios, manuals, etc., is observed and measured. Later on, users interact with simulations and prototypes and their performance and reactions are observed, recorded, and analyzed.
  3. Iterative design. When problems are found in user testing, they are fixed and then more tests and observations are carried out to see the effects of the fixes. This means that design and development is iterative, with cycles of ‘design, test, measure, and redesign’ being repeated as often as necessary.

These three principles are now accepted as the basis for a user-centered approach (e.g. see Mao et al., 2005), but when Gould and Lewis wrote their paper, they were not accepted by most developers. In fact, they comment in their paper how ‘obvious’ these principles are, and remark that when they started recommending these to designers, the designers' reactions implied that these principles were indeed obvious. However, when they asked designers at a human factors symposium for the major steps in software design, most of them did not cite most of the principles—in fact, only 2% mentioned all of them. So maybe they had ‘obvious’ merit, but were not so easy to put into practice. The Olympic Messaging System (OMS) (Gould et al., 1987) was the first reported large computer-based system to be developed using these three principles. Here a combination of techniques was used to elicit users' reactions to designs, from the earliest prototypes through to the final product. In this case, users were mainly involved in evaluating designs. The OMS is discussed further in Chapter 12.

Below, we discuss these principles in more detail.

Early Focus on Users and Tasks

This principle can be expanded and clarified through the following five further principles:

  1. Users' tasks and goals are the driving force behind the development. In a user-centered approach to design, while technology will inform design options and choices, it should not be the driving force. Instead of saying, “Where can we deploy this new technology?,” say, “What technologies are available to provide better support for users' goals?”
  2. Users' behavior and context of use are studied and the system is designed to support them. This is about more than just capturing the tasks and the users' goals. How people perform their tasks is also significant. Understanding behavior highlights priorities, preferences, and implicit intentions. One argument against studying current behavior is that we are looking to improve work, not to capture bad habits in automation. The implication is that exposing designers to users is likely to stifle innovation and creativity, but experience tells us that the opposite is true (Beyer and Holtzblatt, 1998). In addition, if something is designed to support an activity with little understanding of the real work involved, it is likely to be incompatible with current practice, and users don't like to deviate from their learned habits if operating a new device with similar properties (Norman, 1988).
  3. Users' characteristics are captured and designed for. When things go wrong with technology, we often say that it is our fault. But as humans, we are prone to making errors and we have certain limitations, both cognitive and physical. Products designed to support humans should take these limitations into account and should limit the mistakes we make. Cognitive aspects such as attention, memory, and perception issues were introduced in Chapter 3. Physical aspects include height, mobility, and strength. Some characteristics are general, such as that about one man in 12 has some form of color blindness, but some characteristics may be associated more with the job or particular task at hand. So, as well as general characteristics, we need to capture those specific to the intended user group.
  4. Users are consulted throughout development from earliest phases to the latest and their input is seriously taken into account. As discussed above, there are different levels of user involvement and there are different ways in which to consult users. However involvement is organized, it is important that users are respected by designers.
  5. All design decisions are taken within the context of the users, their work, and their environment. This does not necessarily mean that users are actively involved in design decisions. In her interview at the end of this chapter, Gillian Crampton Smith points out that it is not a good idea for users to be designers. As long as designers remain aware of the users while making their decisions, then this principle will be upheld. Keeping this context in mind can be difficult, but an easily accessible collection of gathered data is one way to achieve this. Some design teams set up a specific design room for the project where data and informal records of brainstorming sessions are pinned on the walls or left on the table.

Activity 9.2

Assume that you are involved in developing a new e-commerce site for selling garden plants. Suggest ways of applying the above principles in this task.

Comment

To address the first three principles, you would need to find out about potential users of the site. As this is a new site, there is no immediate set of users to consult. However, the tasks and goals, behavior, and characteristics of potential users of this site can be identified by investigating how people shop in existing online and physical shopping situations—for example, shopping through interactive television, through other online sites, in a garden center, in the local corner shop, and so on. For each of these, you will find advantages and disadvantages to the shopping environment and you will observe different behaviors. By looking at behavior and patterns in a physical garden center, you can find out a lot about who might be interested in buying plants, how these people choose plants, what criteria are important, and what their buying habits are. From existing online shopping behavior, you could determine likely contexts of use for the new site. There may be occasions when online shopping behavior conflicts with physical shopping behavior, e.g. someone in the garden center likes to smell the flowers before buying their seeds, while online decisions are based upon the descriptions and pictures of the plants. In this case, as a designer you will need to interpret your findings to create a suitable balance, and evaluate any solution you suggest.

For the fourth principle, there is no easily tapped set of users available, you could try to recruit people you believe to be representative of the group. These people may be involved in workshops or in evaluation sessions, possibly in a physical shopping environment. Valuable input can be gained in targeted workshops, focus groups, and evaluation sessions. The last principle could be supported through the creation of a design room to house all the data collected.

Empirical Measurement

Specific usability and user experience goals should be identified, clearly documented, and agreed upon at the beginning of the project. They can help designers to choose between alternative designs and to check on progress as the product is developed. Identifying specific goals up front means that the product can be empirically evaluated at regular stages as it is developed, to ensure that the final product is as intended.

Iterative Design

Iteration allows designs to be refined based on feedback. As users and designers engage with the domain and start to discuss requirements, needs, hopes, and aspirations, then different insights into what is needed, what will help, and what is feasible will emerge. This leads to a need for iteration, for the activities to inform each other and to be repeated. However good the designers are and however clear the users may think their vision is of the required artifact, it will be necessary to revise ideas in light of feedback, several times. This is particularly true if you are trying to innovate. Innovation rarely emerges whole and ready to go. It takes time, evolution, trial and error, and a great deal of patience. Iteration is inevitable because designers never get the solution right the first time (Gould and Lewis, 1985).

9.2.4 Four Basic Activities of Interaction Design

Four basic activities for interaction design were introduced in Chapter 1, some of which you will have engaged in when doing Activity 9.1. These are: identifying needs and establishing requirements for the user experience, developing alternative designs that meet those requirements, building interactive versions of the designs so that they can be communicated and assessed, and evaluating what is being built throughout the process and the user experience it offers. They are fairly generic activities and can be found in other design disciplines too. For example, in architectural design (RIBA2, 1988) basic requirements are established in a work stage called ‘inception,’ alternative design options are considered in a ‘feasibility’ stage, and ‘the brief’ is developed through outline proposals and scheme design. During this time, prototypes may be built or perspectives may be drawn to give clients a better indication of the design being developed. Detail design specifies all components, and working drawings are produced. Finally, the job arrives on site and building commences.

We will be expanding on each of the basic activities of interaction design in the following chapters. Here we give only a brief introduction to each.

Identifying Needs and Establishing Requirements for the User Experience

In order to design something to support people, we must know who our target users are and what kind of support an interactive product could usefully provide. These needs form the basis of the product's requirements and underpin subsequent design and development. This activity is fundamental to a user-centered approach, and is very important in interaction design. Understanding these needs is gleaned through data gathering and analysis, which were discussed in Chapters 7 and 8. The requirements activity is discussed further in Chapter 10.

Developing Alternative Designs that Meet Those Requirements

This is the core activity of designing: actually suggesting ideas for meeting the requirements. This activity can be broken up into two sub-activities: conceptual design and physical design. Conceptual design involves producing the conceptual model for the product, and a conceptual model describes what the product should do, what it should look like and how it should behave. Physical design considers the detail of the product including the colors, sounds, and images to use, menu design, and icon design. Alternatives are considered at every point. You met some of the ideas for conceptual design in Chapter 2, and some more design issues for specific interface types in Chapter 6; we go into more detail about how to design an interactive product in Chapter 11.

Building Interactive Versions of the Designs

Interaction design involves designing interactive products. The most sensible way for users to evaluate such designs, then, is to interact with them. This requires an interactive version of the designs to be built, but that does not mean a software version is required. There are different techniques for achieving ‘interaction,’ not all of which require a working piece of software. For example, paper-based prototypes are very quick and cheap to build and are very effective for identifying problems in the early stages of design, and through role-playing users can get a real sense of what it will be like to interact with the product. This aspect is also covered in Chapter 11.

Evaluating What is Being Built Throughout the Process and the User Experience it Offers

Evaluation is the process of determining the usability and acceptability of the product or design that is measured in terms of a variety of criteria including the number of errors users make using it, how appealing it is, how well it matches the requirements, and so on. Interaction design requires a high level of user involvement throughout development, and this enhances the chances of an acceptable product being delivered. In most design situations you will find a number of activities concerned with quality assurance and testing to make sure that the final product is ‘fit-for-purpose.’ Evaluation does not replace these activities, but complements and enhances them. We devote Chapters 12 to 15 to the important subject of evaluation.

The activities of developing alternative designs, building interactive versions of the design, and evaluation are intertwined: alternatives are evaluated through the interactive versions of the designs and the results are fed back into further design. This iteration is one of the key characteristics of a user-centered approach.

9.3 Some Practical Issues

Before we consider how these activities of interaction design can be pulled together into a coherent process, we want to consider some questions highlighted by the discussion so far. These questions must be answered if we are going to be able to ‘do’ interaction design in practice. These are:

  • Who are the users?
  • What do we mean by needs?
  • How do you generate alternative designs?
  • How do you choose among alternatives?

9.3.1 Who are the Users?

With all this emphasis on users and user involvement in the interaction design process, a fairly basic question to ask is “Who are the users?”

Identifying the users may seem like a straightforward activity, but in fact there are many interpretations of ‘user,’ and involving the right users is crucial to successful user-centered design. The most obvious definition is those people who interact directly with the product to achieve a task. Most people would agree with this definition; however, there are others who can also be thought of as users. For example, Holtzblatt and Jones (1993) include in their definition of ‘users’ those who manage direct users, those who receive products from the system, those who test the system, those who make the purchasing decision, and those who use competitive products. Eason (1987) identifies three categories of user: primary, secondary, and tertiary. Primary users are those likely to be frequent hands-on users of the system; secondary users are occasional users or those who use the system through an intermediary; and tertiary users are those affected by the introduction of the system or who will influence its purchase.

The trouble is that there is a surprisingly wide collection of people who all have a stake in the development of a successful product. These people are called stakeholders. Stakeholders are “people or organizations who will be affected by the system and who have a direct or indirect influence on the system requirements” (Kotonya and Sommerville, 1998). Dix et al. (2004) make an observation that is very pertinent to a user-centered view of development, that “It will frequently be the case that the formal ‘client’ who orders the system falls very low on the list of those affected. Be very wary of changes which take power, influence or control from some stakeholders without returning something tangible in its place.”

Generally speaking, the group of stakeholders for a particular product is going to be larger than the group of people you would normally think of as users, although it will of course include users. Based on the definition above, we can see that the group of stakeholders includes the development team itself as well as its managers, the direct users and their managers, recipients of the product's output, people who may lose their jobs because of the introduction of the new product, and so on.

For example, consider again the travel organizer in Activity 9.1. According to the description we gave you, the user group for the system has just one member: you. However, the stakeholders for the system would also include the people you are going to see, the airlines you book flights with, staff in the hotels you might stay at, a wide selection of companies and staff members who have an interest to make sure that any information you are given is correct, and even the restaurants on the route chosen for your journey, since the route suggested by the system will determine whether or not you drive past certain restaurants and shops. This last point may seem a little exaggerated for just one system, but if you think of others also using a similar travel organizer (after all, having put the time and effort into designing one, why not capitalize on it and sell a few!), then you can see how influential the system may turn out to be.

The net of stakeholders is really quite wide. It is not necessary to involve all of the stakeholders in a user-centered approach, but it is important to be aware of the wider impact of any product you are developing. Identifying the stakeholders for your project means that you can make an informed decision about who should be involved and to what degree.

Activity 9.3

Who do you think are the stakeholders for the check-out system of a large supermarket?

Comment

First, there are the check-out operators. These are the people who sit in front of the machine and pass the customers' purchases over the bar code reader, receive payment, hand over receipts, etc. Their stake in the success and usability of the system is fairly clear and direct. Then you have the customers, who want the system to work properly so that they are charged the right amount for the goods, receive the correct receipt, and are served quickly and efficiently. Also, the customers want the check-out operators to be satisfied and happy in their work so that they don't have to deal with a grumpy assistant. Outside of this group, you then have supermarket managers and supermarket owners, who also want the assistants to be happy and efficient and the customers to be satisfied and not complaining. They also don't want to lose money because the system can't handle the payments correctly. Other people who will be affected by the success of the system include other supermarket employees such as warehouse staff, supermarket suppliers, supermarket owners' families, and local shop owners whose business would be affected by the success or failure of the system. We wouldn't suggest that you should ask the local shop owner about requirements for the supermarket checkout system. However, you might want to talk to warehouse staff, especially if the system links in with stock control or other functions.

9.3.2 What do we Mean by ‘Needs?’

If you had asked someone in the street in the late 1990s what she ‘needed,’ I doubt that the answer would have included interactive television, or a ski jacket with integrated MP3 player, or a robot pet. If you presented the same person with these possibilities and asked whether she would buy them if they were available, then the answer may have been more positive. When we talk about identifying needs, therefore, it is not simply a question of asking people, “What do you need?” and then supplying it, because people don't necessarily know what is possible (see Suzanne Robertson's interview at the end of Chapter 10 for “un-dreamed-of” requirements). Instead, we have to approach it by understanding the characteristics and capabilities of the users, what they are trying to achieve, how they achieve it currently, and whether they would achieve their goals more effectively and have a more enjoyable experience if they were supported differently.

There are many dimensions along which a user's characteristics and capabilities may vary, and that will have an impact on the product's design. You have met some of the cognitive ones in Chapter 3. A person's physical characteristics may also affect the design: size of hands may affect the size and positioning of input buttons, and motor abilities may affect the suitability of certain input and output devices; height is relevant in designing a physical kiosk, for example; and strength in designing a child's toy—a toy should not require too much strength to operate, but may require strength greater than expected for the target age group to change batteries or perform other operations suitable only for an adult. Cultural diversity and experience may affect the terminology the intended user group is used to, or how nervous about technology a set of users may be, or how a facility is used (we discuss user requirements in more detail in Chapter 10).

If a product is a new invention, then it can be difficult to identify the users and representative tasks for them, e.g. before microwave ovens were invented, there were no users to consult about requirements and there were no representative tasks to identify. Those developing the oven had to imagine who might want to use such an oven and what they might want to do with it.

It may be tempting for designers simply to design what they would like to use themselves, but their ideas would not necessarily coincide with those of the target user group, because they have different experiences and expectations. It is imperative that representative users from the real target group be consulted. For example, Netpliance developed a new Internet Appliance, i.e. a product that would seamlessly integrate all the services necessary for the user to achieve a specific task on the Internet (Isensee et al., 2000). They took a user-centered approach and employed focus group studies and surveys to understand their customers' needs. The marketing department led these efforts, but developers observed the focus groups to learn more about their intended user group. Isensee et al. (p. 60) observe that, “It is always tempting for developers to create products they would want to use or similar to what they have done before. However, in the Internet appliance space, it was essential to develop for a new audience that desires a simpler product than the computer industry has previously provided.”

Whether the product is a new invention or not, it is always useful to start by understanding similar behavior that is already established. Apart from anything else, introducing something new into people's lives, especially a new ‘everyday’ item such as a microwave oven, requires a culture change in the target user population, and it takes a long time to effect a culture change. For example, before cell phones were so widely available there were no users and no representative tasks available for study, per se. But there were standard telephones and so understanding the tasks people perform with, and in connection with, standard telephones was a useful place to start. Apart from making a telephone call, users also look up people's numbers, take messages for others not currently available, and find out the number of the last person to ring them. These kinds of behavior have been translated into memories for the telephone, answering machines, and messaging services for mobiles. In order to maximize the benefit of e-commerce sites, traders have found that referring back to customers' non-electronic habits and behaviors can be a good basis for enhancing e-commerce activity (CHI Panel, 2000; Lee et al., 2000).

Focusing on people's goals and on usability and user experience goals is a more promising approach to interaction design than focusing on people's needs and expecting them to be able to tell us the requirements for a product. Techniques for data gathering to investigate these goals and to establish requirements are discussed more in Chapters 7 and 10.

9.3.3 How do you Generate Alternative Designs?

A common human tendency is to stick with something that we know works. We probably recognize that a better solution may exist out there somewhere, but it is very easy to accept this one because we know it works—it is ‘good enough.’ Settling for a solution that is good enough is not, in itself, necessarily ‘bad,’ but it may be undesirable because good alternatives may never be considered, and considering alternative solutions is a crucial step in the process of design. But where do these alternative ideas come from?

One answer to this question is that they come from the individual designer's flair and creativity. While it is certainly true that some people are able to produce wonderfully inspired designs while others struggle to come up with any ideas at all, very little in this world is completely new. Normally, innovations arise through cross-fertilization of ideas from different applications, the evolution of an existing product through use and observation, or straightforward copying of other, similar products. For example, if you think of something commonly believed to be an ‘invention,’ such as the steam engine, this was in fact inspired by the observation that the steam from a kettle boiling on the stove lifted the lid. Clearly there was an amount of creativity and engineering involved in making the jump from a boiling kettle to a steam engine, but the kettle provided the inspiration to translate experience gained in one context into a set of principles that could be applied in another. As an example of evolution, consider the wordprocessor. The capabilities of suites of office software have gradually increased from the time they first appeared. Initially, a wordprocessor was just an electronic version of a typewriter, but gradually other capabilities, including the spell-checker, thesaurus, style sheets, graphical capabilities, etc., were added.

images

So, although creativity and invention are often wrapped in mystique, we do understand something of the process and of how creativity can be enhanced or inspired. We know, for instance, that browsing a collection of designs will inspire designers to consider alternative perspectives, and hence alternative solutions. The field of case-based reasoning (Maher and Pu, 1997) emerged from the observation that designers solve new problems by drawing on knowledge gained from solving previous similar problems. As Schank (1982, p. 22) puts it, “An expert is someone who gets reminded of just the right prior experience to help him in processing his current experiences.” And while those experiences may be the designer's own, they can equally well be others'.

Another approach to creativity has been taken by Maiden et al. (2004). They have been running creativity workshops to generate innovative requirements in an air traffic management (ATM) application domain. Their idea is to introduce experts in different fields into the workshop, and then invite stakeholders to identify analogies between their own field and this new one. For example, they invited a textile expert to discuss Indian textile design and a musician to discuss modern music composition. Although not obviously analogical domains, they sparked creative ideas for the air traffic management application. For example, participants reported that one textile design was ‘elegant,’ i.e. simple, beautiful, and symmetrical. They then transferred these properties to a key area of the ATM domain—that of aircraft conflict resolution. They explored the meaning of elegance within this context, and realized that elegance is perceived differently by different controllers. From this they generated the requirement that the system should be able to accommodate different air traffic controller styles during conflict resolution.

A more pragmatic answer to this question, then, is that alternatives come from looking at other, similar designs, and the process of inspiration and creativity can be enhanced by prompting a designer's own experience and by looking at others' ideas and solutions. Deliberately seeking out suitable sources of inspiration is a valuable step in any design process. These sources may be very close to the intended new product, such as competitors' products, or they may be earlier versions of similar systems, or something completely different.

Activity 9.4

Consider again the travel organizer introduced at the beginning of the chapter. Reflecting on the process again, what do you think inspired your outline design? See if you can identify any elements within it that you believe are truly innovative.

Comment

For my design, I was heavily influenced by existing sources of travel information, and what I see as the flaws in them. For example, having to always enter my home train station when I go to the online timetable (and never remembering that there are two different stations that have to be distinguished) is a hassle. I thought it would be good to have the system remember that piece of information, together with other personal details, such as always ordering a vegetarian meal on a flight.

Some of the things you might have been thinking about include your existing paper-based timetables, brochures, and tickets. Maybe you regularly use a website to book flights or accommodation; there are many different kinds available. I'm not sure how innovative my ideas were, but the key thing for me was to have the application tailor its advice to me and my habits. However, there are probably other aspects that make your design somehow unique to you and which may be innovative to a greater or lesser degree.

Having said this, under some circumstances the scope to consider alternative designs may be limited. Design is a process of balancing constraints and constantly trading off one set of requirements with another, and the constraints may be such that there are very few viable alternatives available. As another example, if you are designing a software system to run under the Windows operating system, then elements of the design will be prescribed because you must conform to the Windows ‘look and feel,’ and to other constraints intended to make Windows programs consistent for the user. Style guides and standards are discussed in Chapter 6.

If you are producing an upgrade to an existing system, then you may face other constraints, such as wanting to keep the familiar elements of it and retain the same ‘look and feel.’ However, this is not necessarily a rigid rule. For example, Kent Sullivan reports that when designing the Windows 95 operating system to replace the Windows 3.1 and Windows for Workgroups 3.11 operating systems, they initially focused too much on consistency with the earlier versions (Sullivan, 1996).

Box 9.4: A Box Full of Ideas

The innovative product design company IDEO was introduced in Chapter 1. Underlying some of their creative flair is a collection of weird and wonderful engineering housed in a large flatbed filing cabinet called the TechBox (see Figure 9.2). The TechBox holds around 200 gizmos and interesting materials, divided into categories: “Amazing Materials,” “Cool Mechanisms,” “Interesting Manufacturing Processes,” “Electronic Technologies,” and “Thermal and Optical.” Each item has been placed in the box because it represents a neat idea or a new process. Staff at IDEO take along a selection of items from the TechBox to brainstorming meetings. The items may be chosen because they provide useful visual props or possible solutions to a particular issue, or simply to provide some light relief.

images

Figure 9.2 The TechBox at IDEO

Each item is clearly labeled with its name and category, but further information can be found by accessing the TechBox's online catalog. Each item has its own page detailing what the item is, why it is interesting, where it came from, and who has used it or knows more about it. For example, the page in Figure 9.3 relates to a metal injection-molding technique.

Other items in the box include an example of metal-coated wood, materials with and without holes that stretch, bend, and change shape or color at different temperatures.

images

Figure 9.3 The web page for the metal injection molding.

images

Figure 9.4 Items from the TechBox used in the design of a medical product. (a) Deep Draw—a metal-forming process to generate close-ended cylindrical parts; (b) Metal Injection Molding—a molding and sintering process to produce complex metal parts in high numbers; (c) Flexy Battery—a lithium polymer cell from Varta that is very thin (intended for Smart Cards) and can be formed into cylindrical shapes

images

Each TechBox has its own curator who is responsible for maintaining and cataloging the items and for promoting its use within the office. Anyone can submit a new item for consideration and as items become commonplace, they are removed from the TechBox to make way for the next generation of fascinating contraptions.

How are these things used? Here is an example from Patrick Hall at the London IDEO office.

IDEO was asked to review the design of a mass-produced hand-held medical product that was deemed to be too big. As well as brainstorming and other conventional idea-generation methods, I was able to immediately pick out items which I knew about from having used the TechBox in the past: Deep Draw; Fiber-Optic Magnifier; Metal Injection Molding; Flexy Battery (see Figure 9.4). Further browsing and searching using the keywords search engine highlighted in-mold assembly and light-intensifying film.

The associated web pages for these items enabled me to learn more about these items immediately and indicated who to talk to in IDEO to find out more, and the details of vendors to approach. The project ended at the feasibility phase, with the client pursuing the technologies I had suggested. Only the fiber-optic magnifier proved (immediately) not to be worth pursuing (because of cost).

Dilemma: Copying for Inspiration: is it Legal?

Designers draw on their experience of design when approaching a new project. This includes the use of previous designs that they know work, both designs they have created themselves and those that others have created. Others' creations often spark inspiration that also leads to new ideas and innovation. This is well known and understood. However, the expression of an idea is protected by copyright, and people who infringe that copyright can be taken to court and prosecuted. Note that copyright covers the expression of an idea and not the idea itself. This means, for example, that while there are numerous wordprocessors all with similar functionality, this does not represent an infringement of copyright as the idea has been expressed in different ways, and it is the expression that has been copyrighted. Copyright is free and is automatically invested in the author of something, e.g. the writer of a book or a programmer who develops a program, unless he signs the copyright over to someone else. Authors writing for academic journals are often asked to sign over their copyright to the publisher of the journal. Various limitations and special conditions can apply, but basically, the copyright is no longer theirs. People who produce something through their employment, such as programs or products, may have in their employment contract a statement saying that the copyright relating to anything produced in the course of that employment is automatically assigned to the employer and does not remain with the employee.

On the other hand, patenting is an alternative to copyright that does protect the idea rather than the expression. There are various forms of patenting, each of which is designed to allow the inventor the chance to capitalize on an idea. It is unusual for software to be patented, since it is a long, slow, and expensive process, although there have been some examples of patenting business processes. For example, Amazon, the online bookstore, has patented its ‘one-click’ purchasing process, which allows regular users simply to choose a book and buy it with one mouse click (US Patent No. 5960411, September 29, 1999). This is possible because the system stores its customers' details and ‘recognizes’ them when they access the site again.

More recently there has been a lot of activity to try and work around copyright issues. For example, it is now possible to publish works under a licensing agreement that offers some of your rights to any member of the public but only on certain conditions (see www.creativecommons.org). In the Open Source software development movement, software code is freely distributed and can be modified, incorporated into other software, and redistributed under the same open source conditions. No royalty fees are payable on any use of open source code.

So the dilemma comes in knowing when it is OK to use someone else's work as a source of inspiration and when you are infringing copyright or patent law. The issues around this question are complex and detailed, and well beyond the scope of this book, but more information and examples of law cases that have been brought successfully and unsuccessfully can be found in Bainbridge (2004).

9.3.4 How do you Choose Among Alternative Designs?

Choosing among alternatives is about making design decisions: Will the device use keyboard entry or a touch screen? Will the device provide an automatic memory function or not? These decisions will be informed by the information gathered about users and their tasks, and by the technical feasibility of an idea. Broadly speaking, though, the decisions fall into two categories: those that are about externally visible and measurable features, and those that are about characteristics internal to the system that cannot be observed or measured without dissecting it. For example, externally visible and measurable factors for a building design include the ease of access to the building, the amount of natural light in rooms, the width of corridors, and the number of power outlets. In a photocopier, externally visible and measurable factors include the physical size of the machine, the speed and quality of copying, the different sizes of paper it can use, and so on. Underlying each of these factors are other considerations that cannot be observed or studied without dissecting the building or the machine. For example, the number of power outlets will be dependent on how the wiring within the building is designed and the capacity of the main power supply; the choice of materials used in a photocopier may depend on its friction rating and how much it deforms under certain conditions.

In an interactive product there are similar factors that are externally visible and measurable and those that are hidden from the users' view. For example, exactly why it takes 30 seconds for a web page to load, or why it takes an hour for a cell phone text message to arrive, will be influenced by technical decisions made when the web page or cell phone software was constructed. From the users' viewpoint the important observation is the fact that it does take 30 seconds to load or an hour to arrive.

In interaction design, the way in which the users interact with the product is considered the driving force behind the design and so we concentrate on the externally visible and measurable behavior. Detailed internal workings are important only to the extent that they affect the external behavior. This does not mean that design decisions concerning a system's internal behavior are any less important; however, the tasks that the user will perform should influence design decisions no less than technical issues.

So, one answer to the question posed above is that we choose between alternative designs by letting users and stakeholders interact with them and by discussing their experiences, preferences, and suggestions for improvement. This is fundamental to a user-centered approach to development. This in turn means that the designs must be available in a form that can be reasonably evaluated with users, not in technical jargon or notation that seems impenetrable to them.

One form traditionally used for communicating a design is documentation, e.g. a description of how something will work or a diagram showing its components. The trouble is that a static description cannot capture the dynamics of behavior, and for an interaction device we need to communicate to the users what it will be like to actually operate it.

In many design disciplines, prototyping is used to overcome potential client misunderstandings and to test the technical feasibility of a suggested design and its production. Prototyping involves producing a limited version of the product with the purpose of answering specific questions about the design's feasibility or appropriateness. Prototypes give a better impression of the user experience than simple descriptions can ever do, and there are different kinds of prototyping that are suitable for different stages of development and for eliciting different kinds of information. Prototyping is discussed in detail in Chapter 11.

Another basis on which to choose between alternatives is ‘quality,’ but this requires a clear understanding of what ‘quality’ means. People's views of what is a quality product vary, and it is not always written down. Whenever we use anything we have some notion of the level of quality we are expecting, wanting, or needing. Whether this level of quality is expressed formally or informally does not matter. The point is that it exists and we use it consciously or subconsciously to evaluate alternative items. For example, if you have to wait too long to download a web page, then you are likely to give up and try a different site—you are applying a certain measure of quality associated with the time taken to download the web page. If one PDA makes it easy to perform a critical function while another involves several complicated key sequences, then you are likely to buy the former rather than the latter. You are applying a quality criterion concerned with efficiency.

Now, if you are the only user of a product, then you don't necessarily have to express your definition of ‘quality’ since you don't have to communicate it to anyone else. However, as we have seen, most projects involve many different stakeholder groups, and you will find that each of them has a different definition of quality and different acceptable limits for it. For example, although all stakeholders may agree on targets such as “response time will be fast” or “the menu structure will be easy to use,” exactly what each of them means by this is likely to vary. Disputes are inevitable when, later in development, it transpires that ‘fast’ to one set of stakeholders meant “under a second,” while to another it meant “between 2 and 3 seconds.” Capturing these different views in clear unambiguous language early in development takes you halfway to producing a product that will be regarded as ‘good’ by all your stakeholders. It helps to clarify expectations, provides a benchmark against which products of the development process can be measured, and gives you a basis on which to choose among alternatives.

The process of writing down formal, verifiable—and hence measurable—usability criteria is a key characteristic of an approach to interaction design called usability engineering. This has emerged over many years and with various proponents (Whiteside et al., 1988; Nielsen, 1993). Usability engineering involves specifying quantifiable measures of product performance, documenting them in a usability specification, and assessing the product against them. One way in which this approach is used is to make changes to subsequent versions of a system based on feedback from carefully documented results of usability tests for the earlier version. We shall return to this idea later when we discuss evaluation.

Activity 9.5

Consider the travel organizer that you designed in Activity 9.1. Suggest some usability criteria that you could use to determine the organizer's quality. Use the usability goals introduced in Chapter 1: effectiveness, efficiency, safety, utility, learnability, and memorability. Be as specific as possible. Check your criteria by considering exactly what you would measure and how you would measure its performance.

Then try to do the same thing for the user experience goals introduced in Chapter 1; these relate to whether a system is satisfying, enjoyable, motivating, rewarding, and so on.

Comment

Finding measurable characteristics for some of these is not easy. Here are some suggestions, but you may have found others. Where possible criteria must be measurable and specific.

  • Effectiveness: identifying measurable criteria for this goal is particularly difficult since it is a combination of the other goals. For example, does the system support you in traveling to places, booking accommodation, and so on. In other words, is the organizer used?
  • Efficiency: when you ask for recommendations from the organizer, what is the response time for identifying a suitable hotel or flight details?
  • Safety: how often does data get lost or do you choose the wrong option? This may be measured, for example, as the number of times this happens per hour of use.
  • Utility: how many functions offered by the organizer are used every week, how many every month, how many every two months? How many tasks are difficult to complete in a reasonable time because functionality is missing or the organizer doesn't support the right subtasks?
  • Learnability: how long does it take for a novice user to be able to do a series of set tasks, e.g. book a hotel room in Paris for a particular date, identify appropriate flights from Sydney to Wellington, find out whether you need a visa to go to China?
  • Memorability: if the organizer isn't used for a month, how many functions can you remember how to perform? How long does it take you to remember how to perform your most frequent task?

Finding measurable characteristics for the user experience criteria is even harder, though. How do you measure satisfaction, fun, motivation, or aesthetics? What is entertaining to one person may be boring to another; these kinds of criteria are subjective, and so cannot be measured as objectively.

9.4 Lifecycle Models: Showing how the Activities are Related

Understanding what activities are involved in interaction design is the first step to being able to do it, but it is also important to consider how the activities are related to one another so that the full development process can be seen. The term lifecycle model3 is used to represent a model that captures a set of activities and how they are related. Sophisticated models also incorporate a description of when and how to move from one activity to the next and a description of the deliverables for each activity. The reason such models are popular is that they allow developers, and particularly managers, to get an overall view of the development effort so that progress can be tracked, deliverables specified, resources allocated, targets set, and so on.

Existing models have varying levels of sophistication and complexity. For projects involving only a few experienced developers, a simple process would probably be adequate. However, for larger systems involving tens or hundreds of developers with hundreds or thousands of users, a simple process just isn't enough to provide the management structure and discipline necessary to engineer a usable product. So something is needed that will provide more formality and more discipline. Note that this does not mean that innovation is lost or that creativity is stifled. It just means that a structured process is used to provide a more stable framework for creativity.

However simple or complex it appears, any lifecycle model is a simplified version of reality. It is intended as an abstraction and, as with any good abstraction, only the amount of detail required for the task at hand will be included. Any organization wishing to put a lifecycle model into practice will need to add detail specific to its particular circumstances and culture. For example, Microsoft wanted to maintain a small-team culture while also making possible the development of very large pieces of software. To this end, they have evolved a process that has been called ‘synch and stabilize,’ as described in Box 9.5.

In the next subsection, we introduce our view of what a lifecycle model for interaction design might look like that incorporates the four activities of interaction design and the three principles of user-centered design discussed above. Depending on the kind of product being developed, it may not be possible or appropriate to follow this model for every element of the product, and it is certainly true that more detail would be required to put the lifecycle into practice in a real project.

Many other lifecycle models have been developed in fields related to interaction design, such as software engineering and HCI, and our model is evolved from these ideas. To put our interaction design model into context we include here a description of seven lifecycle models, four from software engineering and three from HCI, and consider how they relate to it.

Box 9.5: How Microsoft Builds Software

Software for Microsoft products is very complex, consisting of millions of lines of code. For example, Windows XP contains around 40 million lines of code. Over a two-and-a-half-year period from the beginning of 1993, two researchers, Michael Cusumano and Richard Selby, were given access to Microsoft project documents and key personnel for study and interview. Their aim was to build up an understanding of how Microsoft produces software. Rather than adopt the structured software engineering practices others have followed, Microsoft's strategy has been to cultivate entrepreneurial flexibility throughout its software teams. In essence, it has tried to scale up the culture of a loosely structured, small software team. “The objective is to get many small teams (three to eight developers each) or individual programmers to work together as a single relatively large team in order to build large products relatively quickly while still allowing individual programmers and teams freedom to evolve their designs and operate nearly autonomously” (p. 54).

In order to maintain consistency and to ensure that products are eventually shipped, the teams synchronize their activities daily and periodically stabilize the whole product. Cusumano and Selby have therefore labeled Microsoft's unique process “synch and stabilize.” Figure 9.5 shows an overview of this process, which is divided into three phases: the planning phase, the development phase and the stabilization phase.

images

Figure 9.5 Overview of the synch and stabilize development approach

The planning phase begins with a vision statement that defines the goals of the new product and the user activities to be supported by the product. (Microsoft uses a method called activity-based planning to identify and prioritize the features to be built.) The program managers together with the developers then write a functional specification in enough detail to describe features and to develop schedules and allocate staff. The feature list in this document will change by about 30% during the course of development, so the list is not fixed at this time. In the next phase, the development phase, the feature list is divided into three or four parts, each with its own small development team, and the schedule is divided into sequential subprojects, each with its own deadline (milestone). The teams work in parallel on a set of features and synchronize their work by putting together their code and finding errors on a daily and weekly basis. This is necessary because many programmers may be working on the same code at once. For example, during the peak development of Excel 3.0, 34 developers were actively changing the same source code on a daily basis.

images

Figure 9.6 Milestones in the synch and stabilize approach (each taking two to four months)

At the end of a subproject, i.e. on reaching a milestone, all errors are found and fixed, thus stabilizing the product, before moving on to the next subproject and eventually to the final milestone, which represents the release date. Figure 9.6 shows an overview of the milestone structure for a project with three subprojects. This synchand-stabilize approach has been used to develop Excel, Office, Publisher, Windows operating systems, Word, and Works, among others. Although the research for this book was conducted over a decade ago, we understand that these practices are still current.

(Cusumano and Selby, 1997)

images

Figure 9.7 A simple interaction design lifecyle model

9.4.1 A Simple Lifecycle Model for Interaction Design

We see the activities of interaction design as being related as shown in Figure 9.3. This model incorporates iteration and encourages a user focus. While the outputs from each activity are not specified in the model, you will have seen from our discussion earlier in this chapter the importance of specifying measurable usability criteria.

The model is not intended to be prescriptive; that is, we are not suggesting that this is how all interactive products are or should be developed. It is based on our observations of interaction design and on information we have gleaned in the research for this book. It has its roots in the software engineering and HCI life-cycle models described below, and it represents what we believe is practiced in the field.

Most projects start with identifying needs and establishing requirements. The project may have arisen because of some evaluation that has been done, but the lifecycle of the new (or modified) product can be thought of as starting at this point. From this activity, some alternative designs are generated in an attempt to meet the needs and requirements that have been identified. Then interactive versions of the designs are developed and evaluated. Based on the feedback from the evaluations, the team may need to return to identifying needs or refining requirements, or it may go straight into redesigning. It may be that more than one alternative design follows this iterative cycle in parallel with others, or it may be that one alternative at a time is considered. Implicit in this cycle is that the final product will emerge in an evolutionary fashion from a rough initial idea through to the finished product. Exactly how this evolution happens may vary from project to project, and we return to this issue in Chapter 11. The only factor limiting the number of times through the cycle is the resources available, but whatever the number is, development ends with an evaluation activity that ensures the final product meets the prescribed user experience and usability criteria.

9.4.2 Lifecycle Models in Software Engineering

Software engineering has spawned many lifecycle models, including the waterfall, the spiral, and rapid applications development (RAD). Before the waterfall was first proposed in 1970, there was no generally agreed approach to software development, but over the years since then, many models have been devised, reflecting in part the wide variety of approaches that can be taken to developing software. We choose to include these specific lifecycle models for two reasons: first, because they are representative of the models used in industry and they have all proved to be successful; and second, because they show how the emphasis in software development has gradually changed to include a more iterative, user-centered view.

We also include here a discussion of a more recent addition to software engineering methods—the family of ‘agile’ development methods. These methods don't favor one particular lifecycle model (although some have their own lifecycle, or development rhythm), but aim to be able to react to change quickly, and embed principles of iteration, communication, and feedback, hence having characteristics sympathetic to user-centered approaches.

The Waterfall Lifecycle Model

The waterfall lifecycle was the first model generally known in software engineering and forms the basis of many lifecycles in use today. This is basically a linear model in which each step must be completed before the next step can be started (see Figure 9.8). For example, requirements analysis has to be completed before design can begin. The names given to these steps varies, as does the precise definition of each one, but basically, the lifecycle starts with some requirements analysis, moves into design, then coding, then implementation, testing, and finally maintenance. One of the main flaws with this approach is that requirements change over time, as businesses and the environment in which they operate change rapidly. This means that it does not make sense to freeze requirements for months, or maybe years, while the design and implementation are completed.

Some feedback to earlier stages was acknowledged as desirable and indeed practical soon after this lifecycle became widely used (Figure 9.8 does show some limited feedback between phases). But the idea of iteration was not embedded in the waterfall's philosophy. Some level of iteration is now incorporated in most versions of the waterfall, and review sessions among developers are commonplace. However, the opportunity to review and evaluate with users was not built into this model.

The Spiral Lifecycle Model

For many years, the waterfall formed the basis of most software developments, but in 1988 Barry Boehm (1988) suggested the spiral model of software development (see Figure 9.9). Two features of the spiral model are immediately clear from Figure 9.9: risk analysis and prototyping. The spiral model incorporates them in an iterative framework that allows ideas and progress to be repeatedly checked and evaluated. Each iteration around the spiral may be based on a different lifecycle model and may have different activities.

images

Figure 9.8 The waterfall lifecycle model of software development

In the spiral's case, it was not the need for user involvement that inspired the introduction of iteration but the need to identify and control risks. In Boehm's approach, development plans and specifications that are focused on the risks involved in developing the system drive development rather than the intended functionality, as was the case with the waterfall. Unlike the waterfall, the spiral explicitly encourages alternatives to be considered, and steps in which problems or potential problems are encountered to be readdressed.

A more recent version of the spiral, called the WinWin spiral model (Boehm et al., 1998), explicitly incorporates the identification of key stakeholders and their respective ‘win’ conditions, i.e. what will be regarded as a satisfactory outcome for each stakeholder group. A period of stakeholder negotiation to ensure a ‘win–win’ result is included.

Rapid Applications Development (RAD)

During the 1990s the drive to focus upon users became stronger and resulted in a number of new approaches to development. The Rapid Applications Development (RAD) approach (Millington and Stapleton, 1995) attempts to take a user-centered view and to minimize the risk caused by requirements changing during the course of the project. The ideas behind RAD began to emerge in the early 1990s, also in response to the inappropriate nature of the linear lifecycle models based on the waterfall. Two key features of a RAD project are:

images

Figure 9.9 The spiral lifecycle model of software development

  • Time-limited cycles of approximately six months, at the end of which a system or partial system must be delivered. This is called time-boxing. In effect, this breaks down a large project into many smaller projects that can deliver products incrementally, and enhances flexibility in terms of the development techniques used and the maintainability of the final system.
  • JAD (Joint Application Development) workshops in which users and developers come together to thrash out the requirements of the system (Wood and Silver, 1995). These are intensive requirements gathering sessions in which difficult issues are faced and decisions are made. Representatives from each identified stakeholder group should be involved in each workshop so that all the relevant views can be heard.

A basic RAD lifecycle has five phases (see Figure 9.10): project initiation, JAD workshops, iterative design and build, engineer and test final prototype, implementation review. The popularity of RAD has led to the emergence of an industry-standard RAD-based method called DSDM (Dynamic Systems Development Method). This was developed by a non-profit-making DSDM consortium made up of a group of companies that recognized the need for some standardization in the field. The first of nine principles stated as underlying DSDM is that “active user involvement is imperative.” The DSDM lifecycle is more complicated—see Figure 9.11. It involves five phases: feasibility study, business study, functional model iteration, design and build iteration, and implementation. This is only a generic process and must be tailored for a particular organization.

images

Figure 9.10 A basic RAD lifecycle model of software development

images

Figure 9.11 The DSDM lifecycle model

Agile Development

Activity 9.6

How closely do you think the RAD and DSDM lifecycle models relate to the interaction design lifecycle model described in Section 9.4.1?

Comment

RAD and DSDM explicitly incorporate user involvement, evaluation, and iteration. User involvement, however, appears to be limited to the JAD workshop, and iteration appears to be limited to the design and build phase. The philosophy underlying the interaction design lifecycle model is present, but the flexibility appears not to be. Our interaction design process would be appropriately used within the design and build stage.

Agile development

Agile software development methods began to emerge in the late 1990s. The most well-known of these are eXtreme Programming (Beck, 2000; Beck and Andres 2005), Crystal (Cockburn, 2005), Scrum (Schwaber and Beedle, 2002), and Adaptive Software Development (ASD) (Highsmith, 2000). DSDM, although established before the agile movement, is also regarded as an agile method as it adheres to the agile manifesto (reproduced below). These methods differ, but they all exhibit certain characteristics. For example, they stress the importance of being able to handle emergent requirements, and of striking a good balance between flexibility and structure. They also all emphasize collaboration, face-to-face communication, streamlined processes to avoid unnecessary activities, and the importance of practice over process, i.e. of getting work done.

The opening statement for the Manifesto for Agile Software Development (http://www.agilemanifesto.org/) is:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

This manifesto is underpinned by a series of principles, which range from communication with the business through to excellence of coding and maximizing the amount of work done. The agile approach to development is particularly interesting from the point of view of interaction design because it incorporates tight iterations and feedback, and collaboration with the customer (e.g. Armitage, 2004; Sharp et al., 2006). For example, in eXtreme4 Programming (XP), each iteration is between one and three weeks, with a product of value being delivered at the end of each iteration. Also, XP stipulates that the customer should be on-site with developers, and that the customer is an end-user (although in practice this is rarely achieved). Because of these similarities, several companies have integrated agile methods with interaction design practices to produce better quality products. Box 9.6 describes one example of this.

Box 9.6: Integrating User-centered Design and Agile Development

Toronto-based company Alias (now part of Autodesk) produce 2D and 3D graphics applications for a variety of markets including video, film, games, automotive design, and interactive media. Their products have been used to create special effects for many award-winning films such as Spider-Man and Lord of the Rings: Return of the King. One of their products is called Alias SketchBook Pro. This application is used for 2D sketching and is a sketching, annotating, and presentation application designed to run on the Tablet PC or any PC with a digitizer tablet. The kinds of images produced by SketchBook Pro are illustrated in Figure 9.12. The detail in this box relates to the development of SketchBook Pro v2.0.

At the same time that this application was being envisioned, Alias' product development group wanted to adopt an agile approach, but they also needed to accommodate their customer input methods within the agile lifecycle. The methods they most commonly use are contextual inquiry, interviews, usability tests, surveys (questionnaires or structured interviews), and beta tests. These beta tests (called ‘previews’ for SketchBook) are conducted when a set of features has been completed. The interaction designers in the group found that the methods for collecting customer data did not need to change for agile development, but the frequency and timing of collection did need to change.

The agile approach adopted by the Alias team used a combination of ASD, Scrum meetings, and many elements of eXtreme Programming. Alias have always been very careful about identifying exactly who their target audience is, i.e. who are the people who will do the kind of sketching and annotating that the product will support, and have many years' experience of collecting customer input. However, the timing and incorporation of this input into the development cycle was not ideal and the activity was often squeezed. To counteract this, interaction designers would often start to develop features before the full set of features for the product was confirmed, which meant that there was more time for customer input, but designed features were sometimes not implemented in the final product.

As a consequence of the agile approach, the development team went from developers working individually on separate features in parallel, to all developers working together on a smaller set of features in a short timescale. One of the principles of agile development is early and continuous delivery of valuable software, hence demanding that customer input be obtained often. The team organized feature implementation and customer input and design as two interrelated tracks (see Figure 9.13).

images

Figure 9.12 Some sample images produced from SketchBook Pro v2.0

images

Figure 9.13 Cycle 0 and its relationship to later cycles

Cycle 0 is the ‘speculate’ phase of ASD. During this time, the team investigated (with their users) the top features that needed to be added for v2.0 of the product. Cycle 1 was a little different from subsequent cycles because the interaction designers had not had any time to do any design, but the developers were waiting to code. To get around this, the team identified some important features that did not require very much design input, but would take time to implement.

For subsequent cycles, three activities were conducted by the interaction designers in parallel with the developers. In Cycle n, usability tests were conducted on the features implemented in Cycle n1, features for implementation in Cycle n+1 were designed, prototyped, and tested with their carefully selected set of users, and customer input data was collected for the features to be implemented in Cycle n+2(see Figure 9.14).

Overall the interaction designers worked very tightly with the developers during design and implementation to make sure that they designed something that could be implemented and also that what was implemented was what had been designed. The interaction designers felt that there were three big advantages to this process. First, no design time was wasted on features that would not be implemented. Second, usability testing (for one set of features) and contextual inquiry (for the next set) could be done on the same customer visit, thus saving time. Third, the interaction designers received timely feedback from all sides—both users and developers. More importantly, they had time to react to that feedback because of the agile way of working. For example, the schedule could be changed if something was going to take longer to develop than first thought, or a feature could be dropped if it became apparent from the users that something else had higher priority.

images

Figure 9.14 The parallel interaction design and implementation tracks

9.4.3 Lifecycle Models in HCI

One of the traditions from which interaction design has emerged is the field of HCI (human–computer interaction). Fewer lifecycle models have arisen from this field than from software engineering and, as you would expect, they have a stronger tradition of user focus. We describe three of these here. The first one, the Star, was derived from empirical work on understanding how designers tackled HCI design problems. This represents a very flexible process with evaluation at its core. In contrast, the second one, the usability engineering lifecycle, shows a more structured approach and hails from the usability engineering tradition. The third lifecycle model is enshrined in an international standard, ISO 13407 Human-centered design processes for interactive systems, and is therefore the result of international collaboration and agreement.

The Star Lifecycle Model

About the same time that those involved in software engineering were looking for alternatives to the waterfall lifecycle, so too were people involved in HCI looking for alternative ways to support the design of interfaces. In 1989, the Star lifecycle model was proposed by Hartson and Hix (1989) (see Figure 9.15). This emerged from some empirical work they did looking at how interface designers went about their work. They identified two different modes of activity: analytic mode and synthetic mode. The former is characterized by such notions as top-down, organizing, judicial, and formal, working from the systems view towards the user's view; the latter is characterized by such notions as bottom-up, free-thinking, creative, and ad hoc, working from the user's view towards the systems view. Interface designers move from one mode to another when designing. A similar behavior has been observed in software designers (Guindon, 1990).

images

Figure 9.15 The Star lifecycle model

Unlike the lifecycle models introduced above, the Star lifecycle does not specify any ordering of activities. In fact, the activities are highly interconnected: you can move from any activity to any other, provided you first go through the evaluation activity. This reflects the findings of the empirical studies. Evaluation is central to this model, and whenever an activity is completed, its result(s) must be evaluated. So a project may start with requirements/specification, or it may start with evaluating an existing situation, or by analyzing existing tasks, and so on.

Activity 9.7

The Star lifecycle model has not been used widely and successfully for large projects in industry. Consider the benefits of lifecycle models introduced above and suggest why this may be.

Comment

One reason may be that the Star lifecycle model is extremely flexible. This may be how designers work in practice, but as we commented above, lifecycle models are popular because “they allow developers, and particularly managers, to get an overall view of the development effort so that progress can be tracked, deliverables specified, resources allocated, targets set, and so on.” With a model as flexible as the Star lifecycle, it is difficult to control these issues without substantially changing the model itself.

The Usability Engineering Lifecycle

The Usability Engineering Lifecycle in Figure 9.16 was proposed by Deborah Mayhew in 1999 (Mayhew, 1999). Many people have written about usability engineering, and as Mayhew herself says, “I did not invent the concept of a Usability Engineering Lifecycle. Nor did I invent any of the Usability Engineering tasks included in the lifecycle…” However, what her lifecycle does provide is a holistic view of usability engineering and a detailed description of how to perform usability tasks, and it specifies how usability tasks can be integrated into traditional software development lifecycles. It is therefore particularly helpful for those with little or no expertise in usability to see how the tasks may be performed alongside more traditional software engineering activities. For example, Mayhew has linked the stages with a general development approach (rapid prototyping) and a specific method (object-oriented software engineering (OOSE, Jacobson et al., 1992)) that have arisen from software engineering.

The lifecycle itself has essentially three tasks: requirements analysis, design/testing/development, and installation, with the middle stage being the largest and involving many subtasks (see Figure 9.16). Note the production of a set of usability goals in the first task. Mayhew suggests that these goals be captured in a style guide that is then used throughout the project to help ensure that the usability goals are adhered to.

This lifecycle follows a similar thread to our interaction design model but includes considerably more detail. It includes stages of identifying requirements, designing, evaluating, and building prototypes. It also explicitly includes the style guide as a mechanism for capturing and disseminating the usability goals of the project. Recognizing that some projects will not require the level of structure presented in the full lifecycle, Mayhew suggests that some substeps can be skipped if they are unnecessarily complex for the system being developed.

Activity 9.8

Study the usability engineering lifecycle and identify how this model differs from our interaction design lifecycle model described in Section 9.4.1, in terms of the iterations it supports.

Comment

One of the main differences between Mayhew's model and ours is that in the former the iteration between design and evaluation is contained within the second phase. Iteration between the design/test/ development phase and the requirements analysis phase occurs only after the conceptual model and the detailed designs have been developed, prototyped, and evaluated one at a time. Our version models a return to the activity of identifying needs and establishing requirements after evaluating any element of the design.

images

Figure 9.16 The Usability Engineering Lifecycle

images

ISO 13407 Human-centered Design Processes for Interactive Systems

ISO 13407 is an international standard providing guidance on human-centered design activities throughout the lifecycle of an interactive product. It addresses the planning and management of human-centered design and is concerned with both hardware and software components. It does not cover specific design approaches in any detail, and is complementary to another standard, ISO 9241, which does cover this area.

The standard identifies four principles of human-centered design:

  1. The active involvement of users and a clear understanding of user and task requirements. The standard claims that the involvement of users provides a valuable source of information, and that the effectiveness of involvement increases as the level of interaction between developers and users increases.
  2. An appropriate allocation of function between users and technology. The standard emphasizes that this decision should not be a simple matter of identifying what the technology is capable of doing, and then allocating all other activities to the human. Instead this decision should be based on several factors including relative competence of technology and humans in terms of reliability, flexibility of response, and user well-being.
  3. The iteration of design solutions.
  4. Multi-disciplinary design. The standard suggests a wide range of potential roles to be included in the team, although it emphasizes that the team need not be large as one member may take on a variety of roles.

It specifies four human-centered design activities as being central to a system development project:

  1. To understand and specify the context of use.
  2. To specify the user and organizational requirements.
  3. To produce design solutions.
  4. To evaluate designs against requirements.

The lifecycle model suggested by this standard is shown in Figure 9.17. This process should iterate from the earliest stage of the project through to project completion when the product meets its requirements.

In addition, the start of this lifecycle should be prefaced by a planning phase which identifies the design activities and how they will be integrated into other system development activities, who is responsible for these activities, procedures for establishing and documenting feedback and communication, and milestones and timescales to allow for feedback to be incorporated into the project schedule.

images

Figure 9.17 The ISO 13407 human-centered design lifecycle model

Dilemma: How Agile Should User-centered Design Become?

Earlier in this chapter, we have discussed examples where user feedback has been successfully incorporated into short product lifecycles. Box 9.6 describes a situation where agile development and user-centered design have been integrated to great advantage. But Mao et al. (2005) found that experienced UCD practitioners regard field studies (including contextual inquiry) as the most important element of user-centered design. In many user-centered design projects, there is a dedicated period of user research during which the users and their context are investigated through field studies, before starting to develop a product. With agile development and other shorter project lifecycles, a different balance needs to be struck. But this then leads to several questions and a dilemma: how much field study data is needed before product development starts? How much time should be allocated to gathering this data, and how much time should be spent on prototyping and getting user feedback? How agile should user-centered design become?

Assignment

Nowadays, timepieces (such as clocks, wristwatches, etc.) have a variety of functions. They not only tell the time and date but they can speak to you, remind you when it's time to do something, and provide a light in the dark, among other things. Mostly, the interface for these devices, however, shows the time in one of two basic ways: as a digital number such as 23:40 or through an analog display with two or three hands—one to represent the hour, one for the minutes, and one for the seconds.

In this assignment, we want you to design an innovative timepiece for your own use. This could be in the form of a wristwatch, a mantelpiece clock, an electronic clock, or any other kind of clock you fancy. Your goal is to be inventive and exploratory. We have broken this assignment down into the following steps to make it clearer:

  1. Think about the interactive product you are designing: what do you want it to do for you? Find three to five potential users and ask them what they would want. Write a list of requirements for the clock, together with some usability criteria and user experience criteria based on the definitions in Chapter 1.
  2. Look around for similar devices and seek out other sources of inspiration that you might find helpful. Make a note of any findings that are interesting, useful, or insightful.
  3. Sketch out some initial designs for the clock. Try to develop at least two distinct alternatives that both meet your set of requirements.
  4. Evaluate the two designs, using your usability criteria and by role playing an interaction with your sketches. Involve potential users in the evaluation, if possible. Does it do what you want? Is the time or other information being displayed always clear? Design is iterative, so you may want to return to earlier elements of the process before you choose one of your alternatives.

Summary

In this chapter, we have looked at user-centered design and the process of interaction design, i.e. what is user-centered design, what activities are required in order to design an interactive product, and how lifecycle models show the relationships between these activities. A simple interaction design lifecycle model consisting of four activities was introduced and issues surrounding the involvement and identification of users, generating alternative designs, and evaluating designs were discussed. A range of lifecycle models from software engineering and HCI were introduced.

Key Points

  • The interaction design process consists of four basic activities: identifying needs and establishing requirements, developing alternative designs that meet those requirements, building interactive versions of the designs so that they can be communicated and assessed, and evaluating them.
  • User-centered design rests on three principles: early focus on users and tasks, empirical measurement and iterative design. These principles are also key for interaction design.
  • Involving users in the design process helps with expectation management and feelings of ownership, but how and when to involve users is a matter of dispute.
  • Before you can begin to establish requirements, you must understand who the users are and what their goals are in using the product.
  • Looking at others' designs provides useful inspiration and encourages designers to consider alternative design solutions, which is key to effective design.
  • Usability criteria, technical feasibility, and users' feedback on prototypes can all be used to choose among alternatives.
  • Prototyping is a useful technique for facilitating user feedback on designs at all stages.
  • Lifecycle models show how development activities relate to one another.
  • The interaction design lifecycle model is complementary to lifecycle models from other fields.

Further Reading

GREENBAUM, J. and KYNG, M. (eds) (1991) Design at Work: Co-operative Design of Computer Systems. Lawrence Erlbaum. This book is a good collection of papers about the co-design of software systems: both why it is worthwhile and experience of how to do it.

HIGHSMITH, J. (2002) Agile Software Development Ecosystems. Addison Wesley. This book introduces the main agile methods and their proponents. Highsmith explains the motivation behind the agile approach to development and extracts some common themes. The book includes some case studies, and how you the reader can go about developing your own agile method that suits your own particular environment.

KELLEY, T. with LITTMAN, J. (2004) The Art of Innovation. Profile Books. Tom Kelley is general manager of IDEO. In this book, Kelley explains some of the innovative techniques used at IDEO, but more importantly he talks about the culture and philosophy underlying IDEO's success. There are some useful practical hints in here as well as an informative story about building and maintaining a successful design company.

MAYHEW, D.J. (1999) The Usability Engineering Lifecycle. Morgan Kaufmann. This is a very practical book about product user interface design. It explains how to perform usability tasks throughout development and provides useful examples along the way to illustrate the techniques. It links in with two software development-based methods: rapid prototyping and object-oriented software engineering.

SOMMERVILLE, I. (2006) Software Engineering (8th edn.) Addison-Wesley. If you are interested in pursuing the software engineering aspects of the lifecycle models section, then this book provides a useful overview of the main models and their purpose.

NIELSEN, J. (1993) Usability Engineering. Morgan Kaufmann. This is a seminal book on usability engineering. If you want to find out more about the philosophy, intent, history, or pragmatics of usability engineering, then this is a good place to start.

INTERVIEW: with Gillian Crampton Smith

images

In 1991 Gillian Crampton Smith founded the Computer Related Design Department at the Royal College of Art—a program to enable artist-designers to develop and apply their traditional skills and knowledge to the design of all kinds of interactive products and systems. Between 2001 and 2006 she was director of the brand new Interaction Design Institute Ivrea (near Turin), an institute for teaching and research funded by Telecom Italia and Olivetti, where she worked to develop connections between the disciplines of technology, design, and business. In 2006 she moved to the IUAV University of Architecture and Design in Venice to continue the work started at Ivrea.

GC: I believe that things should work but they should also delight. In the past, when it was really difficult to make things work, that was what people concentrated on. But now it's much easier to design and build software and hardware that is robust and reliable. We have an amazing range of technologies but they're often not well designed for people—and they're certainly not very enjoyable to use. If we think about other things in our life, our clothes, our furniture, the things we eat with, we choose them because they have a meaning beyond their practical use. Good design is partly about working really well, but it's also about what something looks like, what it reminds us of, what it refers to in our broader cultural environment. It's this side that interactive systems are only just beginning to address—how they can become a true part of culture. They are not just tools for professionals any more, but an environment in which we live.

HS: How do you think we can improve things?

GC: The parallel with architecture is interesting. In architecture, a great deal of time and expense is put into the initial design; with software this is rarely the case: on the whole not much money or time is put into the initial design stages. If you think of the big software engineering companies, how many people work on the design side rather than on the implementation side?

HS: When you say design do you mean conceptual design, or task design, or something else?

GC: I mean all phases of design. Firstly there's research—finding out about people, their needs and desires. This is not necessarily limited to finding out about what they want, because if we're designing new things, they are probably things people don't even know they could have. At the Royal College of Art we developed ways of working with users—to be inspired by them, and not constrained by what they know is possible.

The second stage is thinking, “What should this thing we are designing do?” You could call this conceptual design, deciding the idea of what the product is. A third stage is thinking how do you represent it—what mental model of what it is do you want to conjure up in the mind of the user—and how do you give it form? And then the fourth stage is actually crafting the interface—exactly what color is this pixel? Is this type the right size, or do you need a size bigger? How much can you get on a screen?—all those things about the details that make the difference between something graceful or awkward.

One of the problems companies have is that the feedback they get is: “I wish it did x.” Software looks as if it's designed, not with a basic model of how it works that is then expressed on the interface, but as a load of different functions that are strung together. The desktop interface, although it has great advantages, encourages the idea that you have a menu and you can just add a few more bits when people want more things. In today's word processors, for instance, there isn't a clear conceptual model about how it works, or an underlying theory people can use to reason about why it is not working in the way they expect.

HS: So in trying to put more effort into the design aspect of things, do you think we need different people in the team?

GC: Yes. People in the software field tend to think that designers are people who know how to do the pretty bits at the end which, of course, they do. But a graphic designer, for instance, is somebody who also thinks at a more strategic level, “What message needs to be communicated? and to whom?” and then, “What is the best way to give form to a message like that?” The part you see is the beautiful design, the lovely poster or record sleeve, or elegant book, but behind that is a lot of thinking about how to communicate ideas via a particular medium.

HS: If you've got people from different disciplines, have you experienced difficulties in communication?

GC: Absolutely. People from different disciplines have different values, so different results and different approaches are valued. People have different temperaments, that have led them to the different fields in the first place, and they've been trained in different ways. In my view the big difference between the way engineers are trained and the way designers are trained is that engineers are trained to focus in on a solution from the beginning whereas designers are trained first to focus out and only when they have explored a lot of different ideas to focus in. This is very hard for both the engineers and the designers because the designers are thinking the engineers are trying to home in much too quickly on a solution without considering enough alternatives; and the engineers can't bear the designers faffing about! Each is trained to get their results in a completely different way.

HS: Is your idea to make each more tolerant of the other?

GC: Yes, my idea is not to try to make renaissance people, as I don't think it's feasible. Very few people can do everything well. The ideal team is made up of people who are really confident and good at what they do and open-mined enough to realize there are very different approaches. There's the scientific approach of the HCI specialists, the engineering approach, the design approach. All three are different and that's their value—you don't want everybody to be the same. The best combination is where you have engineers who understand and appreciate design and designers who understand and appreciate engineering.

It's important that people know their limitations too. If you realize that you need an ergonomist, then you go and find one and you hire them to consult for you. So you need to know what you don't know as well as what you do.

HS: What other aspects of traditional design do you think help with interaction design?

GC: The ability to visualize things. It allows people to make quick prototypes or models or sketches so that a group of people can talk about something concrete. It's an invaluable aid to the process. And making things that people like is one of the things that good designers have a feel for.

HS: Do you mean aesthetically like or like in its whole sense?

GC: In its whole sense. Obviously there's the aesthetic of what something looks like or feels like but there's also the aesthetic of how it works. You can talk about an elegant way of doing something as well as an elegant look.

HS: Another trait I've seen in designers is being protective of their design.

GC: This is both a vice and a virtue. In order to keep a design coherent you need to keep a grip on the whole and to push it through as a whole. Otherwise it can happen that people try to make this a bit smaller and cut bits out of that, and so on, and before you know where you are the original coherence of the design is lost. It is quite difficult for a team to hold a coherent vision of a design. If you think of other design fields, like film-making, for instance, there is one director and everybody accepts that the director's role is to hold the vision; all the other roles are essential—cameraman, producer, scriptwriter, but it is the director who makes all the elements work together to make something powerful. One of the things that's wrong with products like Microsoft Word, for instance, is that there's no single powerful organizing idea in it that makes you think, “Oh yes, I understand how this all fits together.”

Design is always a balance between things that work well and things that look good. The ideal design satisfies everything, but in most designs you have to make trade-offs. If you're making a game it's more important that people enjoy it and that it looks good than to worry if some of it's a bit difficult. If you're making a fighter cockpit then the most important thing is that pilots don't fall out of the sky, and so this informs the tradeoffs you make. The question is, who decides how to decide the criteria for the trade-offs that inevitably need to be made. This is not a matter of engineering: it's a matter of values—cultural, emotional, aesthetic.

HS: I know this is a controversial issue for some designers. Do you think users should be part of the design team?

GC: No, I don't. I think it's an abdication of responsibility. Users should definitely be involved as a source of inspiration, suggesting ideas, evaluating proposals—saying, “Yes, we think this would be great” or “No, we think this is an appalling idea.” But in the end, if designers aren't better than the general public at designing things, what are they doing as designers?

1 When reporting raw data such as quotations anonymously, it is common practice to replace specific words or phrases that might compromise anonymity with similar words enclosed in square brackets to indicate that they are not the speaker's original words.

2 RIBA (Royal Institute of British Architects) is the professional organization for architects of the built environment in the UK.

3 Sommerville (2006) uses the term ‘process model’ to mean what we call a lifecycle model, and refers to the waterfall model as the software lifecycle. Pressman (1992) talks about paradigms. In HCI the term ‘lifecycle model’ is used more widely. For this reason, and because others use ‘process model’ to represent something that is more detailed than a lifecycle model (e.g. Comer, 1997), we have chosen to use lifecycle model.

4 The method is called ‘extreme’ because it pushes a key set of good practices to the limit, i.e. it is good practice to test often, so in XP the development is test-driven and a complete set of tests is executed many times a day, it is good practice to talk to people about their requirements, so rather than having weighty documentation, XP reduces documentation to a minimum, thus forcing communication, and so on. Kent Beck says that it is called extreme because if he called it ‘moderate programming’, no-one would ever take any notice of it!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset