Objectives By the end of today’s class you will be able to… • Describe the major steps in the interaction design process • Explain the importance of iterative design and evaluation • Explain the benefits of involving users in design • Explain why rapid prototyping techniques are useful • Explain how you would apply your knowledge about the design process to a particular example application.
Traditional ‘waterfall’ lifecycle Requirements analysis Design Code Test Maintenance
Example Design Process: FAST • “Final approach spacing tool” for air traffic control • Would assist air traffic controllers (ATCs) with their work • Commissioned by LATCC (organization related to London Heathrow Airport)
Background: Final approach control • Goal: most efficient order for landing / maximize runway use • Aircraft controlled by ATC team: • Intermediate controller: instructs an aircraft to leave a holding pattern (stack) • Final Director: guides aircraft through final approach to runway • Advises turns based on wind speed, aircraft size, etc.
Who are the stakeholders? • Users: air traffic controllers • Note: various different roles • Other stakeholders • LATCC – commissioned the work and is the customer • Many roles: business financing, end users, managers, etc. • People who work at airports & ride in airplanes KEY Point: you want to involve all important stakeholders in design
FAST Design Process • Requirements gathering • Design & Prototype • Evaluate • ITERATE!
How would you gather requirements for this project? • What do you want to know? • How will you learn it?
Requirements Gathering: Factors • ATCs – experience, demographics, personalities • Tasks they need to accomplish • Environment – physical environment, communication methods, breaks, etc. • Usability requirements
ATC Environment • What do you notice that may be important to design?
Requirements Gathering: Process • Observation of ATCs • Interviews with controllers, individually & in groups • Hierarchical task analysis, verified with the users NOTE: Multiple methods of data collection: increases confidence that findings are correct.
FAST Design was “User Centered”. Why? • Focused on users & their tasks • Involved users throughout design process
Benefits of User Centered Design for FAST • Product works more effectively because users and tasks are understood • Users contributed ideas designers didn’t think of • Users committed to adoption
Comments from and ATC on the Design Team: “Well, when I first got involved with FAST…I thought, Why are we doing this? We don’t need this. I mean controllers are professional people, they’re very proud of what they do, and at the end of the day they can provide very accurate and consistent spacing. And I couldn’t see for the life of me why we needed a tool to help us do a job which we’re doing, as far as I could see, very well anyway” “I think that over the number of trials we’ve done, various benefits have come out of it which weren’t first envisaged. ….none of us realized how much work and effort we were actually putting into it to achieve [aircraft spacing]. With FAST, I noticed you weren’t so tired, you felt more relaxed and at ease…”
How could you prototype these interfaces? • Several rounds of paper prototypes (several months!) • Microsoft powerpoint – to show animation sequences • C++ prototypes • Much of the C++ code was thrown out (not used in final implementation)
How could you test these prototypes? • Paper & Powerpoint? • C++ prototypes?
FAST Testing • Paper & PPT: structured walkthroughs with users, discusssions • C++: • User testing: observe simulated tasks, discussions, questionnaires • Inspections without users Q: Why evaluate both with and without users?
Key Points • Iterate! • Involve users in both design and evaluation • Use rapid prototyping techniques