User Interface Overview Jeff Offutt SWE 432 Design and Implementation of Software for the Web.

Slides:



Advertisements
Similar presentations
… with apologies to those who already know all this. Tips for Teaching On-Line How to Succeed With FRED Barriers to Student Learning in an On-Line Environment.
Advertisements

User Modeling CIS 376 Bruce R. Maxim UM-Dearborn.
ORGANIZING THE CONTENT Physical Structure
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Introduction User Patterns September 4 th, User Patterns in Software Safe Exploration Instant Gratification Satisficing Changes in Midstream Deferred.
S.T.A.I.R.. General problem solving strategy that can be applied to a range problems.
COMP 3715 Spring 05. Computer Interface Interaction between human and computer Has to deal with two things  User’s mental model Different user has different.
CS774 Human-Computer Interaction Lecturer: Roger D. Eastman
Spring /6.831 User Interface Design and Implementation1 Lecture 1: Usability.
Review for Midterm Spring 2015 Jeff Offutt SWE 205 Software Usability and Design.
Overview of Long-Term Memory laura leventhal. Reference Chapter 14 Chapter 14.
Meaningful Learning in an Information Age
CSI-553 Internet Information Presented by: Ignacio Castro June 28, 2006 Internet Usability.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
Ch 26 & 27 User Interfaces.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
Computer-Based Training Methods
11.10 Human Computer Interface www. ICT-Teacher.com.
AS Level ICT Selection and use of appropriate software: Interfaces.
Interacting with IT Systems Fundamentals of Information Technology Session 5.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
3461P Crash Course Lesson on Usability Testing The extreme, extreme basics...
1 CSCI E-170: L01 February 2, Lecture Plan Introduction to this class Introduction to usability GUI usability: Design Process, Principles & Bloopers.
Review for Final Exam Fall 2014 Jeff Offutt SWE 632 User Interface Design and Development.
Operating Systems. Without an operating system your computer would be useless! A computer contains an Operating System on its Hard Drive. This is loaded.
Usability Testing & Web Design by Alex Andujar. What is Usability? Usability measures the quality of a user's experience when interacting with a Web site,
Why do we need good user interfaces?. Goals of User Interfaces Usable – how much effort to do a task? – example: often-used buttons easier to find – example:
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 3132/3192 User Accessibility © University of Stirling /3192 User Accessibility 2.
A-Level Computing#BristolMet Session Objectives#15 MUST define the term user interface SHOULD describe the characteristics of different UIs and suggest.
Windows User Interface and Web User Interface By E. Marlene Graham.
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.
The Software Development Process
USER INTERFACE DESIGN (UID). Introduction & Overview The interface is the way to communicate with a product Everything we interact with an interface Eg.
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.
Knowledge Based Systems ExpertSystems Difficulties in Expert System Development u Scarce resources – new technology – demand for trained personnel u Development.
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
Cohesion : A SENSE OF FLOW Coherence : A SENSE OF THE WHOLE 王詳勛 & 張鴻翌.
Usability Overview Upsorn Praphamontripong CS
[Donald A. Norman, “The Design of Everyday Things,” Chapter 3]
CIS 376 Bruce R. Maxim UM-Dearborn
11.10 Human Computer Interface
Difficulties in Expert System Development
Unit 2 User Interface Design.
Software engineering USER INTERFACE DESIGN.
Design and Implementation of Software for the Web
Cooper Part III Interaction Details Designing for the Desktop
Introduction & Overview
Accidental and Essential Problems Excise Tasks
Introduction & Overview
Web User Interface (WUI) Behavior
User Interface Design and Development
Software Usability and Design
GRAPHICAL USER INTERFACE
Krug Chapter 6 B: Flow in UIs
Krug Chapter 1 Don’t Make Me Think ! And Designing Hyper Text
Cooper Part III Interaction Details Designing for the Desktop
Norman 7 A: User-Centered Design
Shneiderman’s measurable criteria
COMP444 Human Computer Interaction Usability Engineering
Software Usability and Design
Chapter 1 Jeff Offutt Chapter 1.1, Concept 1 The 7  2 rule.
Chapter 2 Foundations of usability
Krug Chapter 1 Don’t Make Me Think ! And Designing Hyper Text
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
[Jakob Nielsen and Hoa Loranger, “Prioritizing Web Usability”]
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

User Interface Overview Jeff Offutt SWE 432 Design and Implementation of Software for the Web

10/2/2015© Offutt2 What is Usability Engineering? Requires knowledge of some psychology – theory Uses graphics – not how, but what to do with it Depends on GUI programming Usability engineering is about designing interfaces for the user

10/2/2015© Offutt3 Usability Engineering A design class Engineers tend to focus on functionality –But slick features are worthless if users cannot use them VCR programming –Programming was impossible with the original interfaces –It’s easy with new ones

10/2/2015© Offutt4 User Friendly The term user friendly is over-used and under-defined –What is “friendly” to one person may be trite, tedious, or confusing to another “User appropriate” is a much more meaningful term –But we have to know the user This class is largely about communication –Communication between software and people Never use the term “user friendly” again!

10/2/2015© Offutt5 Software Design Inside-out 1.Develop a system 2.Then add the interface Outside-in 1.Develop the interface 2.Then build the system to support it When design decisions are made, either the developer must conform to the user, or the user must conform to the developer.

10/2/2015© Offutt6 Software Design (2) Effective software systems could be designed inside-out in the 1970s Modern systems must be designed outside-in to be effective Web sites sink or swim based on the usability Traditional computer science courses are almost entirely inside-out!

10/2/2015© Offutt7 Fundamental Software Design Principle: the 7  2 Rule Human's short term memory can only hold about seven things at a time (plus or minus 2) That is all we can concentrate on! –Sports –Books –People and organizations –Software –User interfaces When we get more than about 7 items, we get confused

10/2/2015© Offutt8 Brain Washing When we use the same interface repeatedly, we get “blinded” to the usability problems –Familiarity breeds content We sometimes “brainwash” ourselves into not noticing the problems If you look at an interface and keep the fundamental principles of user interfaces in mind, then the brain washing doesn’t matter anymore –You do not see the interface as a whole, but individual pieces

10/2/2015© Offutt9 Simplicity An old quote: “It’s easy to make things hard, it’s hard to make things easy” Or as Mark Twain said: “It takes three weeks to prepare a good ad lib speech” Simple is hard! –A good interface is a lot like a good umpire … you never notice it’s there

10/2/2015© Offutt10 Shneiderman’s Measurable Criteria User interface design has long been considered an art rather than a science –That is, decisions have been made subjectively rather than objectively There has been a lot of effort to make UI design more objective – that is, an engineering activity This course will teach you some of that The most important step was taken by Shneiderman …

10/2/2015© Offutt11 Shneiderman’s Measurable Criteria (2) 1.Time to learn : The time it takes to learn some basic level of skills 2.Speed of UI performance : Number of UI “interactions” it takes to accomplish tasks 3.Rate of user errors : How often users make mistakes 4.Retention of skills : How well users remember how to use the UI after not using for a time 5.Subjective satisfaction : The lack of annoying features

10/2/2015© Offutt12 1. Time to Learn With complicated UIs, the users must “plateau” No knowledge Able to perform basic tasks Some advanced features mastered High expertise Plateaus Well designed interfaces make the first plateau easy to get to subsequent plateaus clearly available

10/2/2015© Offutt13 2. Speed of UI Performance This is about navigating through the interface, not how fast the software or network runs Interaction points are places where the users interact with the software: –Buttons –Text boxes –Commands Speed of UI performance is roughly how many interactions are needed to accomplish a task

10/2/2015© Offutt14 2. Speed of UI Performance: The tyranny of the mouse The simplest way to slow down a UI is to use the mouse The mouse is incredibly slow: Most users can type between 8 to 15 keystrokes in the time it takes to move the hand from the keyboard to the mouse –The two activities use different muscles and parts of the brain Good UI designers need to reduce the amount of keyboard-to-mouse movements

10/2/2015© Offutt15 3. Rate of User Errors Users will always make mistakes UIs can encourage or discourage mistakes Consider: –C/C++ : The lack of typing, particularly on pointers, and the complexity of the syntax actively encourages programmers to make mistakes. (Thus, we become debuggers, not programmers.) –Unix : The large, complicated command language encourages many mistakes as a result of simple typos and confusion.

10/2/2015© Offutt16 4. Retention of Skills “Once you learn to ride a bicycle, you never forget” Some interfaces are easy to remember, some are hard If an interface is very easy to learn, then the retention is not important – users can just learn again Retention is typically more important with UIs that are hard to learn

10/2/2015© Offutt17 5. Subjective Satisfaction Subjective satisfaction is defined to be how much the users “like” the UI This depends on the user (thus the word "subjective") Think of it in reverse: Users are dissatisfied when there is something annoying in the interface –Blinking – Ugly colors– Ugly colors –Spelling errors in massages Most important in very competitive software systems

10/2/2015© Offutt18 Tradeoffs Among Criteria There are always tradeoffs among the criteria Most people today equate “user friendly” with “time to learn” – this is a very narrow view of the world Making a UI easier to learn often winds up reducing the speed –Example: Many GUIs are easy to learn, but slow – Many command languages are fast, but hard to learn To be an effective UI designer, we must consider each criterion carefully and prioritize before designing

10/2/2015© Offutt19 Establishing Criteria Priorities Order of priorities Minimally acceptable Optimistic goal Before designing, decide what is acceptable for each of the five criteria

10/2/2015© Offutt20 Three Categories of Knowledge 1.Syntactic Knowledge Varied, dependent on computer and OS Based on rote memorization Easy to forget 2.Task Semantic Knowledge Structured Independent of computer and OS More stable in memory 3.Computer Semantic Knowledge About how software and hardware works on the inside Not learned by using software, but from reading and classes Applies here as well

10/2/2015© Offutt21 Three Categories of Knowledge (2) Good syntax can: –Decrease the amount of memorization –Decrease time to learn –Decrease rate of errors Semantic knowledge involves: –Actions – things that can happen –Objects – things that exist

10/2/2015© Offutt22 H H H Three Categories of Knowledge (3) Comp Semantic Low High Task Semantic Low High Syntactic LowHigh H HL L L L H H L L L L L H H