Usability and user Interfaces

Slides:



Advertisements
Similar presentations
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Advertisements

CS CS 5150 Software Engineering Lecture 11 Usability 1.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
1 SWE Introduction to Software Engineering Lecture 26 – User Interface Design (Chapter 16)
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.,
CS CS 5150 Software Engineering Lecture 12 Usability 2.
CS CS 5150 Software Engineering Lecture 11 Usability 1.
1 CS 501 Spring 2007 CS 501: Software Engineering Lectures 11 & 12 Usability.
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.
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
New and Emerging Technology from GW Micro GW Micro was founded in 1990 and has always focused on products for people who are blind and visually impaired,
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
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.
Lecture 6 User Interface Design
Computer Graphics Lecture 28 Fasih ur Rehman. Last Class GUI Attributes – Windows, icons, menus, pointing devices, graphics Advantages Design Process.
Q Q Human Computer Interaction – Part 1© 2005 Mohammed Alabdulkareem Human Computer Interaction - 1 Dr. Mohammed Alabdulkareem
CS 5150 Software Engineering Lecture 11 Usability 2.
CS CS 5150 Software Engineering Lecture 11 Usability 1.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 12 Designing for Usability II.
Software Architecture
CMPF124 Basic Skills For Knowledge Workers Chapter 1 – Part 1 Introduction To Windows Operating Systems CMPF 112 : COMPUTING SKILLS.
CS 5150 Software Engineering Lecture 9 Usability 1.
1 CS 501 Spring 2008 CS 501: Software Engineering Lectures 11 & 12 Usability.
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.
CMPF124 Basic Skills For Knowledge Workers Chapter 1 – Part 1 Introduction To Windows Operating Systems.
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.
Usability and User Interfaces CS 560. Human Computer Interaction Human Computer Interaction (HCI) is the academic and industrial discipline that studies.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Web Accessibility. Why accessibility? "The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect."
Chapter 2 – Introduction to Windows Operating System II Manipulating Windows GUI 1CMPF112 Computing Skills for Engineers.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Operating System and Utility Programs
Chapter 6 : User interface design
Technology Skills for Life, Career, and Academic Success
11.10 Human Computer Interface
Chapter 5: Using System Software
Human Impact of UI Design Paradigms
Difficulties in Expert System Development
Unit 2 User Interface Design.
Course: Introduction to Computers
GNS 312 (DIGITAL SKILL ACQUISITION)
Computer Concept What is a computer?
Understand Windows Forms Applications and Console-based Applications
CS 351d Human-computer interaction Lecture 01 Introduction
CS 580 Human-computer interaction Lecture 01 Introduction
GUI Week 9.
Human Factors Issues Chapter 8 Paul King.
CIS 524 Possible Is Everything/tutorialrank.com
CIS 524 Education for Service/tutorialrank.com
Design : Agenda Design challenges Idea generation Design principles
Introduction UI designer stands for User Interface designer. UI designing is a type of process that is used for making interfaces in the software or the.
User interface design.
People and ICT INFO 2.
GRAPHICAL USER INTERFACE GITAM GADTAULA. OVERVIEW What is Human Computer Interface (User Interface) principles of user interface design What makes a good.
GRAPHICAL USER INTERFACE GITAM GADTAULA KATHMANDU UNIVERSITY CLASS PRESENTATION.
Proper functionality Good human computer interface Easy to maintain
CS 580 Human-computer interaction Lecture 01 Introduction
Software - Operating Systems
CS 501: Software Engineering
Human and Computer Interaction (H.C.I.) &Communication Skills
Map of Human Computer Interaction
Windows Operating System
An Introduction to the Windows Operating System
Presentation transcript:

Usability and user Interfaces CS 560 Lecture 13

Human computer interaction Human Computer Interaction (HCI) is the discipline that studies how people interact with computers. Study of how we interface with information. Not just “how large should I make buttons” or “menu layout” Motivations: User Effectiveness/Productivity Morale Safety HCI fields of study: Computer Science Psychology Communication Education Anthropology Design (Graphic and Industrial)

The importance of user interface design A software system is only as good as the interface it provides to its users. System effectiveness depends on: Functionality Easy navigation Fast response times If a system is hard to use: Users may fail to find results Users may become frustrated and give up Developing good user interfaces takes time.

Interface Usability: The analyze/design/build/evaluate loop

Tools for usability requirements: mock-up/Wire Frame (documentation)

Tools for usability requirements: Prototype screenshots (documentation)

Usability Requirements: accessibility (Documentation) Software designers must be prepared for users with Poor eyesight Lack of hearing Poor manual dexterity Limited knowledge of English, etc. Requirements about accessibility Support for users with disabilities are likely to arise in the user interface. You may have a legal requirement to support people with disabilities. Example: The system must comply with Section 508 of the US Rehabilitation Act. See http://www.section508.gov/

Usability Requirements: equipment (Documentation) Your project may also have requirements to support: Computers/systems with poor performance Limited screen sizes Bad network connections Etc. Be explicit about the equipment assumptions that you make. Perform user testing with both good and bad equipment (if possible). Example OS X Mail has a requirement that operations terminate cleanly if the network connection is lost, but its behavior is erratic if the network connection becomes extremely slow. It would not terminate in that case.

Design from a system viewpoint Usability is more than user interface design.

Examples of Mental Models (Documentation) The mental model is the development team’s internal model of what the system provides. The desktop metaphor: files and folders The web search model: one vast collection of pages, which are searched on request

Examples of Mental Models (Documentation) Mental models can evolve No files, only pictures Arguably, the key reason why people who have never used a computer become active iPad users is that Apple provides great mental models of how to use their software.

Principles of User interface design General principles of user interface design: Consistency: Appearance, controls, and function. Style sheets Feedback: What is the computer system doing? Why does the user see certain results? Users should be able to interrupt or reverse actions. When applicable Error handling should be simple and easy to comprehend. The user should feel in control.

Interface functions The interface functions determine the actions that are available to the user: Search a list or sort the results View help information Manipulate objects on a screen Pan or zoom Alternative user interface designs for the same interface functions may exist

Computer systems and networks: Requirements As computer systems improve, users have got more demanding. A response time that is good enough today, may not be good enough five years from now. Example: Response times 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 interface

Computer systems and networks: Device-aware interfaces Interfaces must take into account physical constraints of computers and networks: How does a desktop computer differ from a laptop? 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: performance of device (e.g., fast or slow graphics/CPUs) limited form factor (e.g., small display, on-screen keyboard) connectivity (e.g., intermittent, wireless only)

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 (Ex: states of USA) Hierarchical Associated control panels Menus plus command line

Interface design: command line User interacts with computer by typing commands Ex: Linux shell script Allows complex instructions to be given to the computer Skilled users can input commands quickly Unless very simple, requires learning or training Can use multiple programming languages Suitable for scripting

Help system design Help system design is difficult Must prototype with mixed users Must have many routes to same information Categories of help: Overview and general information Specific or context information Tutorials (general) Wizards Emergency ("I am in trouble ...")

Usability and cost User interface development is a major part of your software project. Web-based projects Good usability may be expensive in hardware or require special software development. Usability and performance are related Costs are multiplied if a user interface has to be used on different computers or migrate to different versions of systems. Client devices: laptops, desktops, smart phones, etc.

Changes in user interface design Examples of change: 1985 to today

Yahoo 1995

Yahoo 2000

Yahoo 2005

Yahoo 2010

Yahoo 2015

Yahoo Today

Google November 11, 1998

Google December 2, 1998

Google 2000

Google 2005

Google 2010

Google Today

wku 1998

wku 2000

wku 2005

wku 2010

wku 2015

wku Today

Microsoft windows 1.0 1985

Microsoft windows 3.1 1993

Microsoft windows 95 1995

Microsoft windows xp 2001

Microsoft windows Vista 2007

Microsoft windows 7 2009

Microsoft windows 8.1 2013

Microsoft windows 10 2015