Task-Based User Interface Design
Total Page:16
File Type:pdf, Size:1020Kb
TASK-BASED USER INTERFACE DESIGN Martijn van Welie SIKS Dissertation Series No. 2001-6. The research reported in this thesis has been carried out under the auspices of SIKS, the Dutch Graduate School for Information and Knowledge Systems. Promotiecommissie: prof.dr. J.C. van Vliet (promotor) dr. G.C. van der Veer (co-promotor) dr. A. Eliens¨ (co-promotor) dr. F. Paterno` (CNUCE Italy, referent) prof.dr. M. Rauterberg (IPO & Technische Universiteit Eindhoven) prof.dr. J.M. Akkermans (Vrije Universiteit Amsterdam) prof.dr. B. Wielinga (University of Amsterdam) Copyright c 2001 by Martijn van Welie. VRIJE UNIVERSITEIT TASK-BASED USER INTERFACE DESIGN ACADEMISCH PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Vrije Universiteit Amsterdam, op gezag van de rector magnificus prof.dr. T. Sminia, in het openbaar te verdedigen ten overstaan van de promotiecommissie van de faculteit der Exacte Wetenschappen Wiskunde en Informatica op dinsdag 17 april 2001 omn 13.45 uur in het hoofdgebouw van de universiteit, De Boelelaan 1105 door Martijn van Welie geboren te Lisse Promotor: prof.dr. J.C. van Vliet Copromotoren: dr. G.C. van der Veer dr. A. Eliens¨ Preface This thesis could not have been written without the help and inspiration of many people around me. At the Vrije Universiteit, I was in an interesting environment with many different ideas. I want to thank Gerrit van der Veer, Anton Eliens¨ and Hans van Vliet for their enthusiasm and how they enriched my research by showing me their perspectives. Thanks to Gerrit for introducing me to the “world of Human Computer Interaction”. I very much enjoyed our collaboration where we had different approaches to a common interest. Thanks to Anton for “convincing” me to do a Ph.D. in the first place and for showing me the use of several interesting techniques during the development of my tool EUTERPE. I also want to thank many other people who supported me throughout the last years. A big part of that was due to Bastiaan Schonhage,¨ by being a friend and roommate for many years. We sure had a lot of fun in between the “serious” work. It was very good to have someone like him to discuss “raw” ideas and to keep me from “overdoing” it. During the last months, we were both writing our dissertation which definitely helped me to keep up the spirit and finish it in time. In addition, thanks to my direct colleagues Nico Lassing, Jacco van Ossenbruggen, Frank Niessink and Jaap Gordijn. During a working day, it is also important to relax and have pointless discussions, for example during lunch when Arno Bakker and Gerco Ballintijn used to join us. Thanks to Hallvard Trætteberg for his work on the patterns. During the development of the patterns he was my best reviewer and contributor. Without his help I would not have developed them so fast. Joerka Deen also proved to be a good discussion partner, always emphasizing the more “philosophical” side of patterns. And of course, many thanks to my parents, my sister and Merche for all their support and love during these years. Contents 1 Introduction 1 1.1 The Task-based Design Process ..................... 2 1.1.1 Analyzing the current task situation (Task model 1) ...... 3 1.1.2 Envisioning the future task situation (Task model 2) ...... 4 1.1.3 Detailed design ......................... 4 1.1.4 Evaluation and usability testing ................ 4 1.2 Research Goals ............................. 5 1.2.1 Improving the design process ................. 5 1.2.2 Improving the final product .................. 5 1.3 Research Approach ........................... 6 1.4 Outline of this Thesis .......................... 7 1.5 Publications ............................... 8 2 Designing for Usability 9 2.1 Introduction ............................... 9 2.2 Potential Benefits of Usability ..................... 10 2.3 Understanding Usability ........................ 11 2.3.1 Understanding humans ..................... 11 2.3.2 Understanding the work .................... 12 2.3.3 Understanding the interaction ................. 13 2.4 Definitions of Usability ......................... 14 2.5 Heuristics, Guidelines and Principles .................. 16 2.6 A Layered Model of Usability ..................... 18 2.7 Usability and Software Quality ..................... 20 2.8 Usability Evaluation and Improvement ................. 21 viii Contents 2.8.1 Measuring usability ....................... 22 2.8.2 Improving usability ....................... 24 2.8.3 Usability process improvement ................. 24 2.9 Usability and Design Methods ..................... 25 2.9.1 Modeling humans and work .................. 25 2.9.2 Modeling the system ...................... 26 2.10 Summary ................................ 27 3 An Ontology for Task Models 29 3.1 Introduction ............................... 29 3.2 A Short History of Task Analysis .................... 30 3.3 Methods and techniques ........................ 31 3.3.1 Hierarchical Task Analysis (HTA) ............... 31 3.3.2 Goals Operators Methods Selectors (GOMS) ......... 31 3.3.3 Methode´ Analytique de Description des tachesˆ (MAD) .... 34 3.3.4 Groupware Task Analysis ................... 35 3.4 An Ontology for Task World Models .................. 37 3.4.1 Modeling work structure .................... 37 3.4.2 Modeling the work flow .................... 39 3.4.3 Modeling work artifacts .................... 40 3.4.4 Modeling the work environment ................ 40 3.4.5 Defining an ontology ...................... 42 3.5 Related Work .............................. 45 3.6 Summary ................................ 46 4 Task Modeling and Analysis 47 4.1 Introduction ............................... 47 4.2 Representations for Task Modeling ................... 48 4.2.1 Common representations .................... 48 4.2.2 A collection of ontology-based representations ........ 55 4.3 Static versus Dynamic Representations ................. 62 4.4 Analyzing the Task World ....................... 63 4.4.1 Heuristic model-based evaluation ............... 64 4.4.2 Model verification ....................... 65 Contents ix 4.4.3 Comparing two specifications ................. 67 4.4.4 Model validation ........................ 68 4.5 Summary ................................ 68 5 Detailed Design 71 5.1 Introduction ............................... 71 5.2 The Gap between Analysis and Design ................. 72 5.3 Guidelines for Bridging the Gap .................... 72 5.4 Designing the User’s Virtual Machine ................. 74 5.4.1 Designing the functionality ................... 75 5.4.2 Designing the dialog ...................... 76 5.4.3 Designing the presentation ................... 77 5.5 Cognitive aspects in UVM Design ................... 78 5.6 Specifying the User Interface ...................... 79 5.6.1 Informal methods for detailed design ............. 79 5.6.2 Formal specification techniques ................ 81 5.7 NUAN: New User Action Notation ................... 83 5.7.1 Adding an interface pre-state column ............. 84 5.7.2 A modified interface feedback column ............. 85 5.7.3 Expanding time capabilities .................. 85 5.7.4 Mental actions ......................... 85 5.7.5 Generic interaction diagrams .................. 86 5.7.6 Parallellism ........................... 86 5.8 Evaluating Design Alternatives ..................... 86 5.8.1 Scenarios, guidelines, and patterns ............... 87 5.8.2 Prototype evaluation tools ................... 88 5.8.3 Formal usability evaluation of the user interface ........ 89 5.9 Summary ................................ 92 6 Interaction Patterns in User Interface Design 93 6.1 Introduction ............................... 93 6.2 Guidelines or Patterns? ......................... 94 6.3 An Example ............................... 95 6.4 Patterns as Design Tools ........................ 96 x Contents 6.4.1 Defining a pattern ........................ 97 6.4.2 Anti-patterns .......................... 97 6.4.3 Types of patterns ........................ 97 6.5 Interaction Design Patterns ....................... 98 6.5.1 Taking the user perspective ................... 99 6.5.2 Categorizing user problems .................. 100 6.5.3 A focus on usability ...................... 101 6.5.4 A template for interaction patterns ............... 102 6.6 Towards a Pattern Language ...................... 105 6.6.1 Structuring a pattern collection ................. 106 6.6.2 Developing a pattern language ................. 107 6.7 Summary ................................ 108 7 Tools for Task-based Design 109 7.1 Introduction ............................... 109 7.2 User Interface Design Tools ...................... 110 7.3 Supporting Task-based Design ..................... 110 7.3.1 Support throughout the process ................ 111 7.3.2 Integrated modeling and modeling Purposes .......... 111 7.4 An Overview of Current Task Analysis Tools ............. 112 7.4.1 Commercially available tools .................. 113 7.4.2 Research tools ......................... 116 7.5 Requirements for Task Analysis Tools ................. 123 7.5.1 Base the tool directly on a conceptual framework ....... 124 7.5.2 Offer consistent and coherent representations ......... 124 7.5.3 Support cooperative task analysis ............... 124 7.5.4 Support documentation including multimedia ......... 124 7.5.5 Support design tracking .................... 125 7.5.6 Offer stability, robustness and product support ......... 125 7.6 Discussion ................................ 125 7.7 Summary ................................ 126 Contents