1 CS 501 Spring 2008 CS 501: Software Engineering Lectures 11 & 12 Usability.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
Human Computer Interface. HCI and Designing the User Interface The user interface is a critical part of an information system -- it is what the users.
CS CS 5150 Software Engineering Lecture 11 Usability 1.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 10 Requirements 4.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
Define usability testing Usability is all about how easy a product, service or system is to use. The extent to which a product can be used by specified.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 10 Requirements 4.
1 CS 430 / INFO 430 Information Retrieval Lecture 24 Usability 2.
An evaluation framework
CS CS 5150 Software Engineering Lecture 11 Usability 1.
1 CS 501 Spring 2007 CS 501: Software Engineering Lectures 11 & 12 Usability.
Principles and Methods
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 11 Usability 1.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
1 CS 501 Spring 2006 CS 501: Software Engineering Lectures 11 & 12 Usability.
CS 501: Software Engineering Fall 2000 Lecture 17 Design for Usability I.
Chapter 13: Designing the User Interface
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
4.5 Multimedia Production. Learning Outcome 1. Design the structure and user interface for a multimedia project. 2. Produce a successful multimedia project.
1 Shawlands Academy Higher Computing Software Development Unit.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
User interface design. Recap OOD is an approach to design so that design components have their own private state and operations Objects should have constructor.
CSC 480 Software Engineering Lecture 19 Nov 11, 2002.
CS 5150 Software Engineering Lecture 11 Usability 2.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
CS CS 5150 Software Engineering Lecture 11 Usability 1.
What is Usability? Usability Is a measure of how easy it is to use something: –How easy will the use of the software be for a typical user to understand,
Computing Fundamentals Module Lesson 3 — Changing Settings and Customizing the Desktop Computer Literacy BASICS.
SEG3120 User Interfaces Design and Implementation
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
User Interface Structure Design Chapter 11. Key Definitions The user interface defines how the system will interact with external entities The system.
Designing & Testing Information Systems Notes Information Systems Design & Development: Purpose, features functionality, users & Testing.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 12 Designing for Usability II.
User Support Chapter 8. Overview Assumption/IDEALLY: If a system is properly design, it should be completely of ease to use, thus user will require little.
1 CS430: Information Discovery Lecture 18 Usability 3.
Software Architecture
Software Engineering User Interface Design Slide 1 User Interface Design.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
1 CS 430: Information Discovery Lecture 19 User Interfaces.
CS 5150 Software Engineering Lecture 9 Usability 1.
The Software Development Process
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
CS 360 Lecture 13.  Human Computer Interaction (HCI) is the academic discipline that studies how people interact with computers.  More HCI details during.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
1 CS 430: Information Retrieval Lecture 13 Usability 1 Guest Lecture: Gilly Leshed.
1 CS 430: Information Discovery Lecture 14 Usability I.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
1 CS 430 / INFO 430 Information Retrieval Lecture 25 Usability 3.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 13 Usability 1.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 12 Usability 2.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Human Computer Interaction Lecture 21 User Support
GUI Week 9.
Usability and user Interfaces
CS 501: Software Engineering
Presentation transcript:

1 CS 501 Spring 2008 CS 501: Software Engineering Lectures 11 & 12 Usability

2 CS 501 Spring 2008 Course Administration Quiz 2 on Thursday Same format as the first quiz No office hours on Thursday Quiz 4 Moved to Tuesday, April 22. Please contact me if you cannot make this date.

3 CS 501 Spring 2008 Presentations Project Presentations First presentation is next week, Monday through Thursday. Meeting room is at 301 College Avenue. For instructions, read the Assignments page. Your client must attend the presentation unless you have special permission.

4 CS 501 Spring 2008 Planning for the Presentation How will you use the time? This is a presentation to the client, with the instructor and teaching assistant as a secondary audience. Possible topics: Overview of project and progress against plan. Presentation of assumptions, decisions. Summary of requirements in moderate detail. What has been learned since feasibility study? Changes in plans. Allow 15 minutes for questions. Expect interruptions. "This is our understanding of your requirements."

5 CS 501 Spring 2008 Planning for the Presentation Logistics Have a rehearsal, check visual aids and demonstrations. Then change nothing. Check out the equipment in the meeting room. What network will you use (if any). How will you connect a computer (if you do)? What about firewalls? Will one person act as chair and call on other members of the team? Not everybody is a great presenter, but everybody can be well-prepared.

6 CS 501 Spring 2008 During the Presentation The presenter should stand. Other people should sit. Appoint a team member to take notes. The first presenter should introduce everybody. When asked a question: -> If the presenter knows the answer, answer it. -> Or the presenter may ask another team member to answer. -> Otherwise make a note and reply later. Never interrupt your colleagues. If you have information to add, raise you hand and the presenter can decide whether to call on you.

7 CS 501 Spring 2008 Usability: The Analyze/Design/Evaluate Loop Evaluate ? Design Build Analyze requirements The Information Science program and Communication Department offer a series of courses in Human Computer Interaction.

8 CS 501 Spring 2008 Requirements for user interfaces It is very difficult to specify and comprehend an interactive interface in a textual documents Requirement documents benefit from sketches, comparison with existing systems, etc. Design documents should definitely include graphical elements and often benefit from a mock-up or other form of prototype. Implementation plans should include evaluation of user factors and time to make changes. User interfaces must be tested with users. Expect to change the requirements as the result of testing.

9 CS 501 Spring 2008 Tools for developing usability requirements and evaluation of usability Initial Mock-upPrototypeProduction Client's opinions    Competitive analysis  Expert opinion   Focus groups   Observing users    Measurements  

10 CS 501 Spring 2008 Tools for developing usability requirements: Mock-up

11 CS 501 Spring 2008 Tools for developing usability requirements: Focus group A focus group is a group interview Interviewer Potential users Typically 5 to 12 Similar characteristics (e.g., same viewpoint) Structured set of questions May show mock-ups Group discussions Repeated with contrasting user groups

12 CS 501 Spring 2008 Usability requirements: Device-aware user interfaces Examples of devices: desk-top computer, fast network connection laptop computer, intermittent connectivity PalmPilot, synchronization smart telephone digital camera, camcorder Device-aware user interfaces are aware of: => performance of device => limited form factor (display, keyboard) => connectivity

13 CS 501 Spring 2008 Usability: Accessibility requirements Requirements about accessibility (e.g., support for users with disabilities) are most likely to arise in the user interface. You may have a legal requirement to support people with disabilities. Example of requirements specification: The system must comply with Section 508 of the US Rehabilitation Act. See

14 CS 501 Spring 2008 Non-functional Requirements Performance, Reliability, Scalability, Security… Example: Response time 0.1 sec – the user feels that the system is reacting instantaneously 1 sec – the user will notice the delay, but his/her flow of thought stays uninterrupted 10 sec – the limit for keeping the user's attention focused on the dialogue

15 CS 501 Spring 2008 The Importance of User Interface Design Good support for users is more than a cosmetic flourish Elegant design, appropriate functionality, & responsive system: => a measurable difference to their effectiveness A system that is hard to use: => users may fail to find important results, or mis-interpret what they do find => user may give up in disgust A computer system is only as good as the interface it provides to its users

16 CS 501 Spring 2008 Design for Usability Usability of a computer system is a combination of factors: User interface design Functionality Performance Help systems and documentation Freedom from errors Anything else?

17 CS 501 Spring 2008 Design from a System Viewpoint interface design functional design data and metadata computer systems and networks mental model

18 CS 501 Spring 2008 Mental Model What a person thinks is true about a system, not necessarily what is actually true Similar in structure to the system that is represented Allows a person to predict the results of his actions Simpler than the represented system. A mental model includes only enough information to allow accurate predictions (i.e. no data structures) Also called conceptual model

19 CS 501 Spring 2008 Examples of Mental Model The mental (conceptual) model is the user's internal model of what the system provides: The desk top metaphor -- files and folders The Web model -- one vast collection of pages with hyperlinks

20 CS 501 Spring 2008 Interface Design The interface design is the appearance on the screen and the actual manipulation by the user Fonts, colors, logos, key board controls, menus, buttons Mouse control or keyboard control Conventions (e.g., "back", "help") Examples: Screen space utilization in Acrobat. Number of snippets per page in Web search.

21 CS 501 Spring 2008 Principles of Interface Design Interface design is partly an art; there are general principles: Consistency -- in appearance, controls, and function. Feedback -- what is the computer system doing? why does the user see certain results? Users should be able to interrupt or reverse actions Error handling should be simple and easy to comprehend Skilled users should be offered shortcuts; beginners should have simple, well-defined options The user should feel in control

22 CS 501 Spring 2008 Functional Design The functional design, determines the functions that are offered to the user Selection of parts of an object Searching a list or sorting the results Help information Manipulation of objects on a screen Pan or zoom There may be many user interface choices for the same function, e.g., Macintosh v. Windows desktop

23 CS 501 Spring 2008 Data and metadata Structural data and metadata stored by the computer system enable the functions and the interface Effectiveness of searching depends on the type and quality of data that is indexed (free-text, controlled vocabulary, etc.) The desktop metaphor has the concept of associating a file with an application. This requires a file type to be stored with each file: -- extension to filename (Windows and Unix) -- resource fork (Macintosh)

24 CS 501 Spring 2008 Computer systems and networks The performance, reliability and predictability of computer systems and networks is crucial to usability Examples Instantaneous response time for mouse tracking and echo of key stroke Pipelined algorithm for the Mercury page turner Quality of Service for real time information

25 CS 501 Spring 2008 Design: Command Line Interfaces

26 CS 501 Spring 2008 Command line interfaces and Text-only menus Command line interfaces and text-only menus had become almost entirely replaced by graphical interfaces, but are returning: Devices with small form factor or other special features, e.g. cell phone, PDA, etc. Interfaces for simple tasks with general users, e.g. automated bank teller (ATM)

27 CS 501 Spring 2008 Command Line Interfaces User interacts with computer by typing commands Allows complex instructions to be given to computer Facilitates formal methods of specification & implementation Skilled users can input commands quickly Unless very simple, requires learning or training Can be adapted for people with disabilities Can be multi-lingual Suitable for scripting / non-human clients

28 CS 501 Spring 2008 Design: Graphical interfaces and direct interaction User interacts with computer by manipulating objects on screen Can be intuitive and easy to learn Users get immediate feedback Not suitable for some complex interactions Does not require typing skills Straightforward for casual users, may be slow for skilled users Icons can be language-independent Difficult to build scripts Only suitable for human users

29 CS 501 Spring 2008 Design for Direct Manipulation metaphors and mental models: Conceptual models, metaphors, icons, but there may not be an intuitive model navigation rules: How to move among data functions, activities and roles in a large space conventions: Familiar aspects that do not need extra training. => scroll bars, buttons, help systems, sliders => good for users, good for designers look: characteristics of the appearance that convey information feel: interaction techniques that provide an appealing experience

30 CS 501 Spring 2008 Design for Direct Manipulation: Menus Easy for users to learn and use Certain categories of error are avoided Enables context-sensitive help Major difficulty is structure of large choices Scrolling menus (e.g., states of USA) Hierarchical Associated control panels Menus plus command line Users prefer broad and shallow to deep menu systems

31 CS 501 Spring 2008 Help System Design Help system design is difficult Must prototype with mixed users Categories of help: => Overview and general information => Specific or context information => Tutorials (general) => Cook books and wizards => Emergency ("I am in trouble...") Must have many routes to same information Never blame the user!

32 CS 501 Spring 2008 Information Presentation Simple is often better than fancy Text precise, unambiguous fast to compute and transmit Graphical interface simple to comprehend / learn uses of color variations show different cases

33 CS 501 Spring 2008 Information presentation: Separation of presentation from content Information to be displayed Presentation software Display Presentation software Display PDF Acrobat html Firefox

34 CS 501 Spring 2008 Refining the design based on evaluation Designers and evaluators need to work as a team Designers are poor evaluators of their own work, but know the requirements, constraints, and context of the design: Some user problems can be addressed with small changes Some user problems require major changes Some user requests (e.g., lots of options) are incompatible with other requests (e.g., simplicity) Do not allow evaluators to become designers

35 CS 501 Spring 2008 Evaluation Making sure that a system is usable before launching it. Iterative improvements after launch. Categories of evaluation methods: Analytical evaluation: without users Measurements on operational systems Empirical evaluation: with users

36 CS 501 Spring 2008 Evaluation How do you measure usability? Usability comprises the following aspects: Effectiveness – the accuracy and completeness with which users achieve certain goals Measures: quality of solution, error rates Efficiency – the relation between the effectiveness and the resources expended in achieving them Measures: task completion time, learning time, clicks number Satisfaction – the users' comfort with and positive attitudes towards the use of the system Measures: attitude rating scales From ISO

37 CS 501 Spring 2008 Measurement Basic concept: log events in the users' interactions with a system Examples from a Web system Clicks (when, where on screen, etc.) Navigation (from page to page) Keystrokes (e.g., input typed on keyboard) Use of help system Errors May be used for statistical analysis or for detailed tracking of individual user.

38 CS 501 Spring 2008 Evaluation based on measurements Analysis of system logs Which user interface options were used? When was was the help system used? What errors occurred and how often? Which hyperlinks were followed (click through data)? Human feedback Complaints and praise Bug reports Requests made to customer service

39 CS 501 Spring 2008 Evaluation with Users Testing the system, not the users! Stages of evaluation with users: Preparation Sessions conduct Analysis of results User testing is time-consuming, expensive, and essential.

40 CS 501 Spring 2008 Evaluation with Users Preparation Determine goals of the usability testing “Can a user find the required information in no more than 2 minutes?” Write the user tasks “Answer the question: how hot is the sun?” Recruit participants Use the descriptions of users from the requirements phase to detect potential users

41 CS 501 Spring 2008 Usability Laboratory Concept: monitor users while they use system Evaluators User one-way mirror

42 CS 501 Spring 2008 Evaluation with Users Sessions Conduct Conduct the session –Usability Lab –Simulated working environment Observe the user –Human observer(s) –Video camera –Audio recording Inquire satisfaction data

43 CS 501 Spring 2008 Evaluation with users: Results analysis If possible, use statistical summaries. Pay close attention to areas where users –were frustrated –took a long time –could not complete tasks Respect the data and users' responses. Do not make excuses for designs that failed. Note designs that worked and make sure they are incorporated in the final product.

44 CS 501 Spring 2008 Usability: Design Tensions in Networked Systems Client computers and network connections vary greatly in capacity Client software may run on various operating systems. It may be current or an earlier version. What assumptions do you make about the user's computer and Web browser? Designers wish to control client software, e.g., Web browsers, but users wish to configure their own environments. This can be a factor in accessibility, e.g., which part of the system determines the font size.

45 CS 501 Spring 2008 System considerations of user interface design Personal computer cycles are there to be used Any network transfer involves delay Shared systems have unpredictable performance Data validation often requires access to shared data Mobile code poses security risks

46 CS 501 Spring 2008 Usability and Cost Good usability may be expensive in hardware or special software development User interface development may be a major part of a software development project Programming environments provide powerful user interface toolkits Costs are multiplied if a user interface has to be used on different computers or migrate to different versions of systems Web browsers provide a general purpose user interface where others maintain the user interface software

47 CS 501 Spring 2008 Changes in user interface design Examples of change: 1995 to 2007

48 CS 501 Spring

49 CS 501 Spring

50 CS 501 Spring

51 CS 501 Spring

52 CS 501 Spring

53 CS 501 Spring

54 CS 501 Spring

55 CS 501 Spring

56 CS 501 Spring

57 CS 501 Spring