CS CS 5150 Software Engineering Lecture 12 Usability 2
CS Course Administration Fall break Next lecture is Wednesday, October 12. First presentations October 12 to 14 Office hours No office hours October 11 or 18. Send if you wish to schedule an appointment.
CS Content for the First Presentation Client and Team Agreement on Scope and Goals Presentation of assumptions, decisions. "The project will be a success if..." Progress to date Summary of requirements. "This is our understanding of your requirements..." Mock-ups, prototypes, designs, etc. Schedule and plan What has been done since feasibility study? What has been learned? Changes in plans? Problems? "The main risks are..."
CS Planning for the First Presentation How will you use the time? This is a presentation to both the client and the instructor, with the teaching assistant as a secondary audience. Allow 15 minutes for questions. Expect interruptions. If you have a mock-up, demonstration, prototype, etc., it is usually better to show it first before talking about it.
CS Planning for the First Presentation: Presenters Not everybody is a great presenter, but everybody can be well-prepared. Have a rehearsal, check visual aids and demonstrations. Then change nothing. Will one person act as chair and call on other members of the team? 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?
CS During the Presentation The presenter should stand. Other people should sit. Appoint a team member to take notes. The first presenter should introduce everybody at each presentation. 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.
CS Interface Design: Graphical Interfaces and Direct Interaction User interacts with computer by manipulating objects on screen (e.g., Windows desktop, iPad) Can be intuitive and easy to learn Users get immediate feedback Not suitable for some complex interactions Requires minimal 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
CS 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, gestures, 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
CS Interface Design: 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
CS 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
CS Information Presentation Simple is often better than fancy Text precise, unambiguous fast to compute and transmit Graphical interface simple to comprehend / learn, but icons can be difficult to recognize uses of color variations show different cases
CS Separation of Content from Presentation Information to be displayed Presentation software Display Presentation software Display PDF Adobe Reader html Firefox
CS Usability: The Analyze/Design/Evaluate Loop Evaluate ? Design Build Analyze requirements User testing
CS Evaluation Iterative improvements during development. Making sure that a system is usable before launching it. Iterative improvements after launch. Categories of evaluation methods: Analytical evaluation: without users (not in CS 5150) Measurements on operational systems Empirical evaluation: with users
CS 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
CS Evaluation based on 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.
CS 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
CS The Search Explorer Application: Reconstruct a User Sessions
CS Evaluation with Users Test the system, not the users Stages of evaluation with users: Prepare Conduct sessions Analyze results User testing is time-consuming, expensive, and essential.
CS 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 determine categories of potential users and user tasks
CS Usability Laboratory Concept: monitor users while they use system Evaluators User one-way mirror
CS Evaluation with Users: Sessions Conduct the session –Usability Lab –Simulated working environment Observe the user –Human observer(s) –Video camera –Audio recording Inquire satisfaction data
CS 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.
CS Evaluation Example: Eye Tracking
CS Evaluation Example: Eye Tracking
CS Refining the Design based on Evaluation Do not allow evaluators to become designers 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) Designers and evaluators need to work as a team
CS Usability: Design Tensions in Networked Systems Designers wish to control what the user sees, but users wish to configure their own environments. Accessibility requires that designers do not control parameters such as font size. Client computers and network connections vary greatly in capacity. Client software may run on various operating systems, which may not be the current version. Be explicit about the assumptions you make about the user's computer, Web browser, etc.
CS 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
CS Changes in user interface design Examples of change: 1995 to 2010
CS
CS
CS
CS
CS
CS
CS
CS
CS
CS
CS
CS
CS
CS