Design Principles and Guidelines Hints for good design.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Designing a Graphical User Interface (GUI) 10 IST – Topic 6.
GUI Testing. High level System Testing Test only those scenarios and outputs that are observable by the user Event-driven Interactive Two parts to test.
Tailoring Needs Chapter 3. Contents This presentation covers the following: – Design considerations for tailored data-entry screens – Design considerations.
XX/XX/XX Presenter names Position Title Accessibility “How to”
Annotation & Nomenclature By Corey Fortezzo for PG&G GIS Workshop, 2010.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
CMPUT 301: Lecture 25 Graphic Design Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by.
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.,
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 1 1 Microsoft Office Word 2003 Tutorial 1 – Creating a Document.
User Interface Design Users should not have to adapt to a piece of software; the software should be designed to fit the user.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
XP 1 Microsoft Office Word 2003 Tutorial 1 – Creating a Document.
© 2005 by Prentice Hall Chapter 3c Designing Interfaces and Dialogues.
Word Processing Microsoft Office: Exploring Word 2011 for MAC.
Chapter 13: Designing the User Interface
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
Multimedia Design. Table of Content 1.Navigational structures 2.Storyboard 3.Multimedia interface components 4.Tips for interface design.
Systems Analysis and Design in a Changing World, 6th Edition
Lecture Set 3 Introduction to Visual Basic Concepts Part A – User Interfaces and Windows Forms – The Toolbox.
Lesson 15 Getting Started with PowerPoint Essentials
3461 Design Principles and Guidelines Hints for good design.
Chapter 5 Models and theories 1. Cognitive modeling If we can build a model of how a user works, then we can predict how s/he will interact with the interface.
Systems Analysis and Design in a Changing World, 6th Edition
Microsoft Office Word 2003 Tutorial 1 Creating a Document.
Ch 6 - Menu-Based and Form Fill-In Interactions Yonglei Tao School of Computing & Info Systems GVSU.
Key Applications Module Lesson 19 — PowerPoint Essentials
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
11.10 Human Computer Interface www. ICT-Teacher.com.
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.
©RavichandranUser interface Slide 1 User interface design.
Q Q Human Computer Interaction – Part 1© 2005 Mohammed Alabdulkareem Human Computer Interaction - 1 Dr. Mohammed Alabdulkareem
User Interface Design Session 11- LBSC 790 / INFM 718B Building the Human-Computer Interface Cartoon removed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
XP 1 Microsoft Word 2002 Tutorial 1 – Creating a Document.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
3461A Readings from the Swing Tutorial. 3461A Overview  The follow is the Table of Contents from the trail “Creating a GUI with JFC/Swing” in the “The.
Lecture 5(b), Slide 1 CP2030 Copyright © University of Wolverhampton CP2030 Visual Basic for C++ Programmers v Component 5(b) HCI aspects of VB programming.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
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:
Software Architecture
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
G063 - Human Computer Interface Design Designing the User Interface.
1 User Interface Design Components Chapter Key Definitions The navigation mechanism provides the way for users to tell the system what to do The.
3461A Widgets More GUI goo. 3461A Outline  What is a widget?  Buttons  Combo boxes  Tool bars  Text components  Sliders  Scrollbars.
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
Some Thoughts On PROTOTYPE Form Design. You may place prompt over or to the left of the data-entry field; select one and be consistent. Name Tom PromptResponse.
Yonglei Tao School of Computing & Info Systems GVSU Ch 7 Design Guidelines.
The Excel model for information processing The Excel model is a grid of cells in which items of information are stored and processed. Any information that.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Design Phase intro & User Interface Design (Ch 8)
Cs413_design02.ppt GUI Design The User Controls Navigation Traditional GUI design the designer can control where the user can go gray out menu options.
Oct 091 Example Program DemoInputValidation1.java DemoInputValidation2.java.
XP 1 Workshop Overview Goal Participants will leave the workshop with some basic Excel skills and the ability to locate and use online resources to continue.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
3461 Course Summary COSC 3461A Fall Intro to UI Design  Course plan: Implementation, Evaluation, Design  Human Computer Interaction is an.
1 Unit E-Guidelines (c) elsaddik SEG 3210 User Interface Design & Implementation Prof. Dr.-Ing. Abdulmotaleb.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
11.10 Human Computer Interface
Unit 2 User Interface Design.
Chapter 4 Enhancing the Graphical User Interface
Presentation transcript:

Design Principles and Guidelines Hints for good design

Dec 022 Attributes of Good UIs Invisible They don’t get in your way User focuses on task, not on the tool Minimal training Easy to learn Good manual (perhaps online) emphasizing how users can meet their goals Training transfers easily to practice Error savvy Predictable: NO SURPRISES! Prevent the user from making errors Easy to recover from errors Avoid information overload

Dec 023 Attributes of Good UIs (2) Allow people to perform their tasks well a good UI promotes efficiency! Flexible Seems “intelligent” “do the right thing” without asking; remember user patterns People have to like it! “It is easy to make things hard. It is hard to make things easy.” -- A. Chapanis, ‘82

Dec 024 Design Guidelines There are helpful UI design guidelines Design guidelines are: a set of design rules to follow at multiple levels of design (e.g., early & late) obvious to users of poorly designed interfaces easy to ignore when deadlines approach not complete hopefully built on psychological underpinnings and an understanding of users

Dec 025 Guidelines for Building Good UIs Follow graphic design principles Use standard language conventions Minimize load on short-term memory Design for consistency Provide clear feedback Prevent errors & provide error correction Use sensible conceptual models Let’s discuss some of these…

Dec 026 From IBM’s RealCD application Graphic Design & Colour Choice A good UI will appropriately direct the user’s attention. How? One way: use colour and layout - black button on black background is bad colour choice - shouldn’t need label to tell you this is a button

Dec 027 Graphic Design & Colour Choice (2) Keep related objects together Appropriate alignment & spacing (readability) Decorations can provide extra information Use white space (vital in WWW design) Use only a few fonts & colours (5-7 colours max) Remember colour deficiency (5% of males are colour blind) A Toolbar from MS Word

Dec 028 Bad? Speak the User’s Language Use common words, not “techno-jargon” Use the vocabulary of the user Refer to the user’s objects when giving feedback, e.g., “your document…”, “your graph…” Allow full-length names in forms Avoid spatial-linguistic conversions, which can be extremely confusing for users pick one or the other; examples…

Dec 029 Spatial - Linguistic Examples Placing objects on a canvas by specifying (X, Y) coordinates linguistic, use keyboard to enter X, Y by relative positions to other items spatial, use cursor/mouse Selecting a quantity specify a known value linguistic, use keyboard to enter value relative (more, less) spatial, use dial

Dec 0210 Problem? Less is More The KISS Principle: “Keep it simple, stupid!” Use concise language; avoid verbiage Avoid extraneous pictures & information fewer options and menu choices reduce planning time reduce manual size, etc. avoid information overload!

Dec 0211 Minimize User Memory Load Short-term memory of people. capacity of 7 +/- 2 items, with decay of 30 seconds to 2 minutes Recognition is easier for us than recollection! Use menus rather than keyed input Prompts should provide formats for required data Don’t require retyping of remembered info Use pervasive, generic rules for common interactions, e.g., cut, copy, paste

Dec 0212 Be Consistent Size, colour, wording, location, ordering of objects Same command should always have same effect in different contexts. Following convention helps e.g., Cut/Copy/Paste Seems easy but it’s often not followed Useful since it allows user to generalize from their own experience

Dec 0213 Inconsistency CMS - XEDIT Editor in one context, D10 means “down 10 lines” in another context it means “delete 10 lines” Current selection (CS) in graphics editor create a new object, it becomes CS duplicate an object, the original remains CS

Dec 0214 Lexical Consistency Make use of “words” consistent with common (real-world) usage Examples: red = bad/stop, green = good/go left arrow = less, right arrow = more Use consistent abbreviation/capitalization rules CONTROL, CTRL, Ctrl, Control  which is it? Use mnemonic names rather than codes

Dec 0215 Syntactic Consistency Error messages at same (logical) location in all situations Give command first -- or last (e.g., after arguments to the command) Don’t change ordering based on context! The user will have more to remember Menu items at same location in menu Muscle memory helps the user here

Dec 0216 Semantic Consistency Global commands should always be available: Help Cancel Undo Operations should always be valid on all reasonable objects if object of class “X” can be deleted, so can object of class “Y” if it can’t be deleted, the user will want to know why

Dec 0217 Providing Feedback Lexical feedback on ‘words’ that are used Syntactic feedback on grammar, i.e., the order in which ‘words’ are used Semantic feedback on the meaning of operations It is vital to provide clear, consistent, meaningful feedback to users based on their inputs More…

Dec 0218 Lexical Feedback Legal input in the input “language” may be keyboard-based, mouse-based, voice- based, etc. Using the right tokens, gestures, clicks, etc. Feedback given using Cursor movement (e.g., valid keypresses only generate cursor movement) Cursor image Keyboard echo (e.g., don’t echo illegal words) Selection highlighting, e.g., for cut & paste or changing text style

Dec 0219 Syntactic Feedback Ensure that the sequence of “words” entered is grammatically valid Feedback provided when the sequence is illegal Examples… Wrong number of arguments provided Menu item under cursor in reverse video indicates it will execute if you release mouse button (absence of this means it will not execute)

Dec 0220 Semantic Feedback Command is understood: it may be helpful to restate the command, e.g., by echo or by highlighting the icon in some way Command is underway: provide a count-down or progress bar makes the processing appear faster (placebo)

Dec 0221 Semantic Feedback (2) Command is completed: provide its results prompt for next command All three forms of semantic feedback are not always necessary select one or more depending on the task of interest Examples: Progress bars not needed for short computations Incomplete data might not be displayed

Dec 0222 Feedback Placement Put feedback where the eyes are! Examples… Insertion point for text Where the screen cursor is located. Audio output can also provide useful feedback. sounds on error, failure, success voice, for more detailed responses environmental conditions may not permit audio feedback

Dec 0223 Error Prevention Preventing errors should take priority over correcting for them. Why? Avoids “fear of failure” on the part of the user Allows the user to work faster Things to consider Key placement “distance” between commands menu items or typed names Suppress unavailable commands where appropriate Confirm dangerous actions, e.g., delete files

Dec 0224 Error Correction Lexical typing mistakes (automatic in MS Word) Syntactic re-specify just the parameter in error, or restart at beginning of command (may be necessary if dependent words are used) Semantic cancel the operation underway undo previous command(s)

Dec 0225 Layout is Important From the Winter Olympics web site… Same spacing Which one? Click for “Full Story”

Dec 0226 Mismatch Between Designer & User Conceptual Models Result in errors on the part of the user Slow the user down Result in a great deal of frustration on the part of the user Coming up with good design models that mesh well with commonly held conceptual models is very difficult Have to know a lot about the users requirements and typical characteristics

Dec 0227 Why are Design Guidelines Insufficient? Too specific and/or too general there may be a huge number of guidelines that are not specifically focused enough to provide useful help A standard design might not address all the issues Macintosh standard UI could be all dialog boxes and menus. Who is to say that this will be sufficient for the users?

Dec 0228 Summary UIs are hard to design! Guidelines can give us general principles to follow Guidelines can be hard to apply (too specific or too general)

Course Summary

Dec 0230 Program Categories Sequential Event-driven Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0231 Types of Events User-initiated events System-initiated events Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0232 Java Events Event class hierarchy Event sources E.g., mouse events, key events Listening for events Using Listeners vs. Adapters

Dec 0233 Swing Basics AWT vs. Swing Creating a window using JFrame JFrame’s content pane

Dec 0234 Wimp Elements Windows Icons Pointers Menus Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0235 Containment Hierarchy Top-level containers E.g., JFrame Intermediate containers E.g., JPanel Atomic components E.g. JButton

Dec 0236 Menus Recognize vs. recall Parts E.g., menu bar Types E.g., popup, cascading Features e.g., separators Designing

Dec 0237 Widgets Buttons Combo boxes Tool bars Text components Sliders Scrollbars etc. Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0238 Buttons Push Radio Checkbox Modal Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0239 Text Components Output (aka non-editable) Labels Labeled borders Tool tips Message Boxes Input/output (aka editable) Text fields Text areas Editable combo boxes Dialog boxes Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0240 Validating Input Keystroke-level Focus-level Data-model level Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0241 Navigation Techniques Clicking with mouse pointer Generates mouse/focus events TAB key Generates focus event ENTER key Generates key/action events Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0242 Widget/Component Layout The task: determine size and position of each component Component size properties critical These are… Preferred size Minimum size Maximum size Used in different ways (sometimes ignored!) by layout managers

Dec 0243 Widget Layout Models Absolute (aka fixed) Control for component size and position Struts and springs Control for component position Variable intrinsic size Control for component size Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0244 Java’s Layout Managers BorderLayout FlowLayout GridLayout BoxLayout GridBagLayout CardLayout OverlayLayout etc. Know.. What they are Advantages Disadvantages Features Comparisons Etc.

Dec 0245 Output Model Coordinate systems Device Physical Things to know about: Pixels, raster, display size, resolution, video RAM requirements, aspect ratio, dot pitch Color models RGB, HSB

Dec 0246 Java’s Graphics Features Drawing primitives for… Shapes, lines, curves, images, text Text characteristics Font family, size, style Font metrics Images File formats

Dec 0247 Images Images File formats gif, jpg, tiff, bmp Drawing images in panels

Dec 0248 MVC Architecture Model Holds & manages data View Implements visual display of data/component Controller Maps input into commands

Dec 0249 MVC and Java/Swing Know how MVC is implemented in Swing component View & controller combined into UI delegate

Dec 0250 Design for Humans SR Compatibility S = Stimulus, the input device that is being manipulated or stimulated R = Response, the visual, aural, or kinesthetic sense that is affected by the stimulus Compatibility refers to the correctness of the match between the stimulus and the response

Dec 0251 Human Limits and Capabilities Bailey’s framework Senses Vision Aural Kinesthetic

Dec 0252 Types of Limits Sensory (visual/audio intensity/frequency) Responder (Fitts’ law) Cognitive (short-term memory)

Dec 0253 UI Design in the Workplace Human factors User-centered job descriptions User-centered design process Conceptual models and their differences

Dec 0254 UI Evaluation Evaluation paradigms Evaluation techniques Heuristic evaluation Cognitive walkthroughs Usability testing REAL framework

Dec 0255 Characteristics of Good UIs Consistency Lexical, Syntactic, Semantic Feedback Lexical, Syntactic, Semantic Use of hierarchy and grouping Explicitly shows states and state changes Avoids overload

Dec 0256 Readings Java/Swing Tutorial MVC article by Fowler Java API (Swing components and other classes used in 3461) PowerPoint slides Demo program code and documentation

Dec 0257 What’s left No more classes Office hour: Wednesday, December 4 th, 2-3pm More office hours next week (to be posted on the webpage) Exam: Thursday, December 12 th, 7-9:30pm

Dec 0258 Thank you!