GUI Bloopers Responsiveness Bloopers. Responsiveness Responsiveness not the same as performance or speed Highly responsive software – Lets you know immediately.

Slides:



Advertisements
Similar presentations
Management Bloopers Counterproductive Attitude. Management Bloopers Chapter 8 Counterproductive Attitude Misunderstanding what user interface professionals.
Advertisements

ATMAN HB summary seminar # Challenges 2 ATMAN project 9/17/2010.
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
GENERAL USABILITY CONSIDERATIONS. Overview of usability Aspects of usability – Learnability, memorability, efficiency, error reduction Techniques for.
Software Process Models
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Project What is a project A temporary endeavor undertaken to create a unique product, service or result.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
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.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
IT Systems Multiprocessor System EN230-1 Justin Champion C208 –
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
IS 214 Needs Assessment and Evaluation of Information Systems Managing Usability © Copyright 2001 Kevin McBride.
ICE Evaluations Some Suggestions for Improvement.
Interface Guidelines & Principles Responsiveness.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Gui Design Taken from “Gui Bloopers” by Jeff Johnson.
Principles and Methods
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
The Systems Analysis Toolkit Project Management Tools.
12 Steps to Useful Software Metrics
Planning. SDLC Planning Analysis Design Implementation.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Improve a Product's User Experience with Model-Based UI Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Rapid Prototyping Model
Ch 26 & 27 User Interfaces.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University User Interface Design.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
System Design: Designing the User Interface Dr. Dania Bilal IS582 Spring 2009.
Industry SDLCs and Business Climate. Justin Kalicharan Credentials Director and Senior Technology Officer Over 14 years of coding experience in various.
COSC 3461: Module 6 UI Design in the Workplace. 2 What is User-Centered Design? Three major components: –Iterative design –Early focus on users and tasks.
Prof. Aiken CS 169 Lecture 61 Project Planning CS169 Lecture 6.
Lecture 31 Introduction to System Development Life Cycle - Part 2.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Click to edit Master subtitle style USABILITY and USER INTERFACE DESIGN Application.
CS CS 5150 Software Engineering Lecture 11 Usability 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
CHAPTER TEN AUTHORING.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Open the software and click “close” after reading the tip. The screen below will come up. You may want to load a sample bridge design for starters. You.
Interface Guidelines & Principles Responsiveness.
CS 5150 Software Engineering Lecture 9 Usability 1.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Managing Challenging Projects Presented to the class of: Dr. Jane Mackay M.J. Neely School of Business.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Memory Management OS Fazal Rehman Shamil. swapping Swapping concept comes in terms of process scheduling. Swapping is basically implemented by Medium.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Lecture 12 Page 1 CS 111 Online Using Devices and Their Drivers Practical use issues Achieving good performance in driver use.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
FOP: Multi-Screen Apps
Methodologies By Akinola Soyinka.
Prototyping.
CSCI1600: Embedded and Real Time Software
Operating Systems Chapter 5: Input/Output Management
CSCI1600: Embedded and Real Time Software
Presentation transcript:

GUI Bloopers Responsiveness Bloopers

Responsiveness Responsiveness not the same as performance or speed Highly responsive software – Lets you know immediately that your keystrokes, mouse, and clicks were received – Estimates how long operations will take – Frees you to do other things while waiting – Manages queued events intelligently – Performs housekeeping and low-priority tasks in the background – Anticipates your requests Can be highly responsive but slow

Responsiveness Bloopers Hard to show screenshots since responsiveness requires a time-lapse capture or movie Bloopers are closely related, so they are listed and discussed together instead of one at a time

Bloopers Blooper 52: Cursor doesn’t keep up with you; it jumps around and keeps moving after you stop the mouse Blooper 53: On-screen buttons acknowledge clicks too late or not at all Blooper 54: Menus, sliders, scrollbars lag behind actions, destroying hand-eye coordination for successful operation Blooper 55: Moving and sizing operations don’t keep up with your actions and don’t provide temporary “rubber-band” feedback

Bloopers Blooper 56: Application doesn’t indicate that it is busy; it just ignores you Blooper 57: Application occasionally – and unpredictably – is unresponsive while it does internal housekeeping Blooper 58: Long operations don’t display progress Blooper 59: Long operations provide no way to cancel

Bloopers Blooper 60: Application wastes idle time, and when you finally give a predictable command it takes a long time to finish Blooper 61: Application gives no feedback when it hangs, with no indication of what is or is not happening Blooper 62: Website has huge images and animations, so it is viewable only with a high- speed Internet connection Blooper 63: Website always reloads whole page in response to small edits

Responsiveness Blooper Example : Waiting Let the user know when the system is busy Without it the user may think the application is locked up, submit data multiple times, kill it

Phony Progress Bars

Reasons for poor responsiveness UI designers rarely consider responsiveness during design Programmers don’t know how important responsiveness is Programmers equate responsiveness with performance – e.g. better algorithms or data structures Programmers treat user input like machine input – Doesn’t always have to be processed in the order received Developers use simple implementations

Reasons for poor responsiveness GUI software tools, components, and platforms are inadequate – Normally not the default for a multi-threaded wait cursor Managers hire GUI programmers who lack the required skill

Avoiding Responsiveness Bloopers Principle 1: Responsiveness is not the same as performance Principle 2: Processing resources are always limited – Users try to do more as CPU speeds increase – Customers probably have slower computers than developers Principle 3: The user interface is a real-time interface

Real Time Interface 0.1 seconds – Limit for perception of cause-and-effect between events – Software that waits longer than 0.1 seconds to register a reaction to a user action appears “broken” – Limit for perception of smooth animation 1 second – Maximum comfortable gap in a conversation – If displaying information on the screen the user is unlikely to react until at least one second 10 seconds – Unit of time into which people break down their planning and execution of larger tasks – Every ten seconds user like to look up and reassess their task status, relax, etc. – Like to mark a task complete and move onto the next one – Amount of time a user is willing to spend to set up and operation and start it before losing patience (operation can take longer)

Avoiding Responsiveness Bloopers Principle 4: All delays are not equal: software need not do everything immediately Principle 5: Software need not do tasks in the order in which they were submitted Principle 6: Software need not do everything it was asked to do – Sometimes an operation is not necessary; e.g. if told to save but nothing has changed there is no need to waste time re-saving it – Queued task may become moot

Avoiding Responsiveness Bloopers Principle 7: Human users are not computer programs – Cannot sustain high rates of input for very long; can keep the system busy for several seconds but then must pause to think or rest – Can multi-task depending on tasks – When buttons don’t acknowledge a click immediately, users assume they missed and click again

Management Bloopers

GUI bloopers are not always the programmers fault; sometimes management is to blame for creating adverse circumstances Example: Smooth over problem of the moment – Call in a UI consultant with no mandate or resources to correct a flawed process and attitudes – “Smearing lipstick on a bulldog”

Blooper 64: Treating UI as a low priority Usability often has a lower priority over other tasks Variation A: Assuming that usability has low impact on market success by focusing on time to market, not time to profitability

Blooper 64 Variation B: Assuming that the UI is only “fonts and color” Variation C: Assuming that users can adapt to anything – Just because people can doesn’t mean they will Variation D: Rationalizing – UI not a product feature that can be dropped to meet a deadline Variation E: Assigning the GUI to junior programmers

Avoiding Blooper 64 Management should make it a high priority to develop products that have high-quality user interfaces – Usability has a powerful impact on the product’s success – The UI is about “deep” issues not just fonts and colors – Users can adapt to bad UI’s but banking on that is foolish – The UI can’t be dropped to meet a schedule or budget constraint – Experience matters

Blooper 65 : Misunderstanding what user interface professionals do Many people don’t know what usability professionals actually do GUI programmers are GUI designers? – Programmers know how to write code using controls, menus, etc. but not necessarily how to design the interface and in fact can produce bad GUI’s Graphic designers are GUI designers? – Appearance vs. usability

Avoiding Blooper 65 Know the roles of different designers and programmers

Blooper 66: Discounting the value of testing and iterative design Some managers don’t see the need for usability testing or significant UI revisions Variation A: Agile/XP in name only Variation B: Good designers don’t need iteration – Testing and revision best way to reduce risk Variation C: We don’t have the luxury of usability testing – Myths: expensive, skipping testing will save money Variation D: Allowing no time to fix usability problems

Avoiding Blooper 66 UI design is not a mystical art based on innate talent and flashes of creativity but a learned engineering discipline. – Industry standards, best practices – Scientific basis in human perception, motivation, information processing – Need for clear requirements – Working with constraints and trade-offs – Generation and consideration of design alternatives – A need to test, evaluate, and revise

Blooper 67: Anarchic Development Anarchic: uncontrolled, unrepeatable, driven by individual whim and crisis of the moment rather than proven, repeatable practices Variation A: No design – Fooling self that you’re doing Agile/XP but not doing weekly scrums, discussing/testing designs for the next cycle, no quick tests, not getting feedback Variation B: No standards or guidelines

Blooper 67: Anarchic Development Variation C: No oversight – “Hire nerds, tell ‘em what you want, lock ‘em in their offices, and throw in pizza and t-shirts every few weeks”

Avoiding Blooper 67 User-centered design and Agile/XP coexist

Avoiding Blooper 67 Quality UI’s require investment – Training, hiring, developing UI style guides or standards, usability tests, etc. Give UI experts more clout Take responsibility

Blooper 68: No task expertise on the team Projects require someone with a solid understanding of the target task Developers may assume they are task-domain experts Developers sometimes discount users’ task knowledge Importing task expertise is hard

Avoiding Blooper 68 Users’ task-domain expertise is a crucial ingredient – Key in XP/Agile methods – Overcome any organizational obstacles to user involvement Use dedicated designers for complex, specialized applications Hire dual experts if you can find them

Blooper 69: Using poor tools and building blocks If using a GUI toolkit, does it really include usability for the GUIs that can be built? Managers and developers focus on: – Ease of use – How quickly GUIs can be developed – How easy the resulting GUI is to maintain – Compatibility with existing tools, development process – Cost – Prior experience with the tool or similar tools

Blooper 69 Managers should also consider the usability list as factors in adoption of a tool: – How compliant are GUIs developed with the tool for standards on the target platform? – Are the GUIs developed sufficiently responsive? – Does the tool allow appearance details to be fine- tuned to conform to an apps look and feel? – How easy GUIs can be internationalized and localized? – How accessible GUIs can be to various users such as the disabled?

Blooper 70: Giving programmers the fastest computers A cause of responsiveness bloopers Programmers’ systems will be faster than those of most customers, giving the latest hardware and net connections gets them accustomed to frequent upgrades and view performance/response problems as temporary until “the next upgrade”

Net connections The masses are behind the technology elite Most people finally have broadband though but 30% still have none

Avoiding Blooper 70 Don’t be too quick to upgrade programmers’ computers Test on slower computers Test on slow network connections Compromise: Get developers a fast development machine and a “slow” test machine