CS 5150 Software Engineering Lecture 9 Usability 1 Administrivia • • Surveys cancelled Not all team members need to attend every presentation • CS 5150 Every team member must present at least once 2 A Couple of Interesting News Items • • CS 5150 US Patent and Trademark Office attempting to crowd-source patent review Dual licensing fiasco 3 The Usability Corollary to Schneier’s Law • • CS 5150 Any person can invent a security system so clever that he or she can’t imagine a way of breaking it Any person can design an interface so intuitive that he or she can’t imagine a way of misusing it 4 Software Must Be Usable to be Useful • • • CS 5150 Effective design, appropriate functionality, responsive system • happy users, satisfied developers Poor usability • • • • Users fail to find functionality/data Users misinterpret or misuse features Users give up in disgust (may apply to specific subsets of users) Usability is more than esthetics! 5 The Core of Usability Design: Evaluation, Iteration CS 5150 6 • User Interfaces in Software Processes Static textual documents are weak for specifying interactive human interfaces • • • • CS 5150 Requirement specifications benefit from sketches, comparison with existing systems, etc. Design specifications should definitely include graphical elements and benefit from a mock-up or other form of prototype Schedules should include user testing and time to make changes User interfaces must be tested with users. Expect to change the requirements as the result of testing. 7 Tools for User Interface Design/Evaluation CS 5150 8 Mock-ups: a Cheap and Flexible Tool CS 5150 9 Focus Groups for New Interface Ideas • • • A focus group is a group interview Interviewer Potential users • • • CS 5150 Similar characteristics (e.g., same viewpoint) Structured set of questions • • • Typically 5 to 12 May show mock-ups Group discussions Repeated with different (potential) user populations 10 Accessibility • • • Support for users who cannot use standard interface effectively Your team may be subject to legal/contractual requirements Example of requirements specification: • • • • CS 5150 The system must comply with Section 508 of the US Rehabilitation Act http://www.section508.gov/ Good first step: build your software with popular user interface frameworks; adhere to standards User testing may not be enough 11 Usability is More than Skin Deep CS 5150 12 Examples of Mental Models • • • CS 5150 The desk top metaphor -- files and folders in “physical” locations The web search model -- A flat collection of pages, searched upon request Also called a conceptual model 13 Mental Models • A mental model is the user’s understanding of what is going on under the hood • • • CS 5150 Allows user to predict results of actions Usually quite a bit simpler than the actual system implementation Can be different from system implementation, but such divergence creates risk of user surprise 14 Interface Design is Skin Deep • Appearance of information on screen and modes of control • • CS 5150 • • Fonts, colors, logos, key board controls, menus, buttons Mouse control or keyboard control Conventions (e.g., "back", "help") Examples: • • Screen space utilization in Adobe Reader Number of snippets per page in Web search 15 Art and Science of Interface Design • Interface design has a large dose of art, but there are some general principles that can be applied • • • • • • • CS 5150 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 Fitt’s law 16 Interface Functions and Objects • • CS 5150 Interface functions: actions available to the user • • • • • Select part of an object Search a list or sort results View help information Manipulate on-screen objects Pan, zoom In general there are many alternative interface designs for an interface function 17 System Issues Affect Usability • • The performance, reliability and predictability of computer systems and networks is crucial to usability Examples • • • CS 5150 Instantaneous response time for mouse tracking and echo of key stroke Pipelined algorithm for a page turner Quality of service for real time information, e.g., audio 18 Relevant Response Time Limits • Example: Response time • • • CS 5150 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 19 Device Aware Interfaces • Interfaces must take into account physical constraints of computers and networks: • • • • • What is special about a smart phone? How do you make use of a touch-sensitive screen? What works well with a digital camera? Constraints that the interfaces must allow for: • • • CS 5150 How does a desk-top computer differ from a laptop? performance of device (e.g., fast or slow graphics) limited form factor (e.g., small display, keyboard) connectivity (e.g., intermittent) 20 Textual (Command Line) Interfaces • Largely displaced by graphical interfaces, but still relevant in some contexts: • • • • • CS 5150 Scripting Sometimes makes complex interactions easier Faster for certain tasks (and certain users) Easier for people with some disabilities Low bandwidth requirements 21