360 likes | 484 Views
Gebruikersaspecten van software systemen User Aspects of Software Systems. Books: [1] “User-Centered Website Development. A Human-Computer Interaction Approach”, D.D. McCracken, R.J. Wolfe, Pearson Prentice Hall, 2004.
E N D
Gebruikersaspecten van software systemen User Aspects of Software Systems
Books: • [1] “User-Centered Website Development. A Human-Computer Interaction Approach”, D.D. McCracken, R.J. Wolfe, Pearson Prentice Hall, 2004. • [2] “Model-Based Design and Evaluation of Interactive Applications”, F. Paternò, Springer, 2000. • [3] “Graphical User Interface Design and Evaluation”, • Redmon-Pyle and Moore, Prentice-Hall, 1995 • WebSite: via elvas or via wise.vub.ac.be
What is this course about? • How to make a good (= usable) user interface for an interactive application • Why are usable user interfaces important? • Nearly all applications have a user interface • Bad interfaces are frustrating for the user and will influence the productivity • Competitors may have better systems • Good user interface are hardly noticed, bad ones are! • It is easier to make a bad interface than a good one.
Content (1) • Introduction • Usability: Illustrating example • HCI overview • User-Centered Development Methodology • Capabilities of the Human Being
Content (2) • The User Interface Design Process 3.1 The Users and their Usability Requirements 3.2 Task Analysis & Task Modeling 3.3 User Object Modeling 3.4 The Style Guide 3.5 Design • Task-Driven Design • Visual Organization • Use of Color • Typography • Multimedia 3.6 Prototyping 3.7 Evaluation
Content (3) • Accessibility • Localization • Model-Based Approaches for UI design GOMS Norman’s cycle Task analysis methods UAN Petri Nets UML More details on the website
Format of the Course • Chapter 6 • Self-study • Rest (Methodology) • During the lessons • Project in groups
Good Design is as easy as 1-2-3 • Learn the principlesThey are simpler than you might think • Recognize when you are not using themPut into words - name the problems • Apply the principles you will be amazed
1. Introduction Content • Usability: Illustrating example • The history and goals of Human-Computer Interaction • The methodology of User-Centered Development
It doesn’t have to be that way • You can design user interfaces that • Are pleasant and convenient for your users • Let them accomplish their goals • The key: think about your users • Learn about them • Watch them work, in their workplace • Interview them, also in their workplace
Benefits of Usable User Interfaces • Gaining a competitive edge • Reducing development and maintenance costs • Improving productivity • Lowering support costs
Reducing development and maintenance costs • Learn about users first, and you will avoid • Implementing features users don’t want • Creating features that are annoying or inefficient • High cost of making changes late in the development cycle
Improving productivity • Productivity means employees become more efficient because the system supports their tasks in an easy way.
Lower support costs • Calls to customer support are very expensive for the vendor: estimates range from €12 to €250 per call
1.2 What is HCI? “Human Computer Interaction is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of the major phenomena surrounding them.” • As defined by the Special Interest Group on Human-Computer Interaction (SIGCHI) of the Association for Computing Machinery (ACM)
A major shift • 50 years ago the cost of a computer would pay the salaries of 200 programmers for a year • Today the salary of one programmer for a year will buy 200 computers—each vastly more powerful than the early machines • Late 70’s: smaller and cheaper computers (PC’s) used by non-computer experts • Now the goal is to make computers easy to use, to save people time
Examples of interactive computing systems • Single PC - capable of displaying web pages • Embedded devices, for example in cars and in cell phones • Handheld Global Positioning Systems for outdoor activities
1.3 Goals of HCI To develop or improve the • Safety • Utility • Effectiveness • Efficiency • Usability • Appeal . . . of systems that include computers
Safety • Safety of Users—think of • Air traffic control • Hospital intensive care • Safety of Data—think of • Protection of files from tampering • Privacy and security
Utility and effectiveness • Utility: what services a system providese.g. Ability to print documents • Effectiveness: user’s ability to achieve goals, e.g. • How to enter the desired information • How to print a report • Utility and effectiveness are distinct • A system might provide all necessary services, but if users can’t find the services items, the system lacks effectiveness
Efficiency • A measure of how quickly users can accomplish their goals or finish their work using the system
Usability • Definitions • “a measure of the ease with which a system can be learned and used, its safety, effectiveness and efficiency, and attitude of its users towards it” (Preece et al., 1994) • “the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use” (ISO 9241-11)
Usability (2) • Ease of learning ! • Ease of use ! • Appeal/ attitude ! • How well users like the system • First impressions • Long-term satisfaction
How can we measure usability? • How can we develop a system to ensure usability? • Paradigms • Usually based on new technology E.g. WIMP interface • Principles • Independent of technology
Principles to support usability • Learnability • The ease with which new users can use the system effectively • Flexibility • The multiplicity of ways the user and the system exchange information • Effectiveness • the level of support provided to the user to achieve successfully its goals
Learnability Principles affecting learnability: • Predictability: to be able to predict the result of an interaction • Feedback: the system provides feedback about the effect of the interaction • Familiarity: correlation between the user’s existing knowledge and the knowledge required to use the interaction • Generalization: e.g. drawing rectangle will be the same as drawing square; close/open window will be the same as in other MS word application • Consistency: in naming, color use, command invocation, … • Advantages • reduces training time and costs • enable more flexible staffing practices (staff become effective more quickly)
Flexibility (1) • Examples: • Input/output in different forms • Inches/cm, fixed point/decimal, % or fixed part, … • Input may be output and vice versa: • Draw line, out: coordinates • Give coordinates, out: draw line • Order of tasks is not fixed • System driven interaction hinders flexibility, user-driven interaction favors it • Multi-treading allows to support more than one task at the time
Flexibility (2) Related: • Customization: • Adaptability: user can adapt the user interface • Adaptivity: The user interface can be adapted by the system • Personalization: user interface is tailored towards the individual user • Advantages • allows reorganization of tasks and business
Effectiveness • Always for a specified range of tasks and group of users in a particular environment. • Principles affecting effectiveness: • Ability to observe the internal state of the system • Ability to take corrective actions once an error has been recognized • Response time • Task completeness: are all user tasks supported by the system? • Task adequacy: match of the task as understood by the user and supported by the system • Advantages: • higher productivity
1.4 User-Centered Development Methodology • Traditional software engineering methods arose in 1960s and 1970s • Systems were not highly interactive • End-user were computer specialists • Issues concerning end-user and usabilitywere not at all important • user interface design not considered explicitly • Now: • Most end-users are not computer specialists • Usability vital for success
Traditional System-Centered design: • Emphasis on the functionality, • UI is added at the end • Emphasis on correct software rather than on ease of use • User has to adapt himself to the system • Things are changing: User-Centered design • UI more important • Emphasis on end-users’ tasks, • Early end-user participation: in analysis and design • Evaluation by end-users • Consequences: • more work for UI-designer and UI-programmer
Summary: User Centered Development • User-centric, not data-centric • Involves users in the design process • Usability can be quantified and measured • Highly Iterative • Involves testing and revision • Interdisciplinary, building on a dozen different disciplines
Fields that HCI builds on (1) • Computer Science • Implementation of software • Engineering • Faster, cheaper equipment • Ergonomics • Design for human factors • Graphic design • Visual communication • Technical writing • Textual communication
Fields that HCI builds on (2) • Linguistics, artificial intelligence • Speech recognition, natural language processing • Cognitive psychology • Perception, memory, mental models • Sociology • How people interact in groups • Anthropology • Study of people in their work settings