Graphical User Interfaces (GUI)

Slides:



Advertisements
Similar presentations
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.
Advertisements

XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
Fundamentals of Programming in Visual Basic 3.1 Visual basic Objects Visual Basic programs display a Windows style screen (called a form) with boxes into.
Conversational Computers
Exploring the Basics of Windows XP
Microsoft Visual Basic 2012 CHAPTER TWO Program and Graphical User Interface Design.
Lecture Set 3 Introduction to Visual Basic Concepts Part A – User Interfaces and Windows Forms – The Toolbox.
Ch 26 & 27 User Interfaces.
Microsoft ® Office 2007 Get up to speed with the 2007 system Murray State University College of Education:
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
Computing Fundamentals Module Lesson 3 — Changing Settings and Customizing the Desktop Computer Literacy BASICS.
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:
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
Microsoft Visual C# 2010 Fourth Edition Chapter 3 Using GUI Objects and the Visual Studio IDE.
Human Computer Interaction Lecture 07 The Interaction.
Levitra 20 mg Getting started with Firefox New to Firefox? Well you’ve come to the right place. This article covers all the basics and will get you up.
[The Design of Everyday Things, Don Norman, Ch 7]
Visual Basic.NET Windows Programming
Microsoft Visual Basic 2005: Reloaded Second Edition
Development Environment
Computer Literacy BASICS
Scratch for Interactivity
Lecture on UI Design and Paper Prototyping
GUI Design and Coding PPT By :Dr. R. Mall.
Chapter 1: An Introduction to Visual Basic 2015
11.10 Human Computer Interface
User Interface Design PPT By :Dr. R. Mall.
Excise Tasks CS 4640 Programming Languages for Web Applications
3.01 Apply Controls Associated With Visual Studio Form
Prototyping.
Unit 2 User Interface Design.
Program and Graphical User Interface Design
3.01 Apply Controls Associated With Visual Studio Form
Chapter 1 - An Introduction to Computers and Problem Solving
Krug Chapter 5 B: Software Should be Considerate
User Interface Design and Development
Cooper Part III Interaction Details Designing for the Desktop
Software Usability and Design
Exploring the Basics of Windows XP
Program and Graphical User Interface Design
User Interface Design and Development
Krug Chapter 5 A: Omit Needless Words and Defaults and Memory
User Interfaces The human computer interface is what allows the user to communicate/Interact with the computer and is often called simply the user interface.
Accidental and Essential Problems Excise Tasks
Krug 8 Dialog Boxes Toolbars
Web User Interface (WUI) Behavior
User Interface Design and Development
Software Usability and Design
User Interface Design and Development
Cooper Part II Making Well-Behaved Products Excise
MicroSoft Word 2007 The purpose of this PowerPoint presentation is to show you some of the major differences in Word 2007 from the version we had here.
Cooper Part II Making Well-Behaved Products Flow
Krug Chapter 6 B: Flow in UIs
Cooper Part III Interaction Details Designing for the Desktop
Norman 7 A: User-Centered Design
GUI Design 24-Feb-19.
Tonga Institute of Higher Education IT 141: Information Systems
Word 2007 – Tips and Techniques
Tonga Institute of Higher Education IT 141: Information Systems
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
CMPE 280 Web UI Design and Development April 16 Class Meeting
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
An Introduction to the Windows Operating System
Presentation transcript:

Graphical User Interfaces (GUI) Jeff Offutt http://www.ise.gmu.edu/~offutt/ SWE 432 Design and Implementation of Software for the Web

GUI Flow Flow: The next thing the interface wants to do is exactly what the user expects. Follow users’ mental model Let the user direct the software Don’t talk with the user Keep all related tools available Modeless feedback : The user should not have respond Interfaces should be invisible, not cool It’s easy to make things complicated, it’s hard to make things simple 5/2/2019 © Jeff Offutt, 2001-2007

Flow Example Of course!!! Dont ask me. Do you want to save? Yes No Cancel Help Of course!!! Dont ask me. Yes, GUIs are different from CLs by being easier, but slower … But, that is not an excuse to design them to be slow! 5/2/2019 © Jeff Offutt, 2001-2007

Overhead and Excise tasks Overhead relates to solving problems: Revenue Tasks: Sub-tasks that work to solve the problem directly designing requirements Excise Tasks: Sub-tasks that must be done but that are not really part of the problem compiling debugging Excise tasks often satisfy the needs of the tools, not the users 5/2/2019 © Jeff Offutt, 2001-2007

Excise Tasks Excise tasks are trivial, unless we have a lot of them Eliminate them if possible Automate them as much as possible Excise for users with comp-semantic knowledge is often perceived as revenue for users without 5/2/2019 © Jeff Offutt, 2001-2007

Memory – Auto-customization Remember what the user did the last time Avoid unnecessary questions Imagine a secretary that asked you every time whether you wanted copies on front and back! Dialog boxes ask questions, buttons offer choices 5/2/2019 © Jeff Offutt, 2001-2007

Auto-customization Examples MS Word : I always put my files in C:\offutt But MS Word always thinks I'm going to open a file in C:\Program Files\ … (took me 2 years to find the customization!) PPT : I often print “Handouts”, “2”, “Pure black and white” If I print several PPT files in a row, I have to click all three boxes every time! ATM : I always withdraw $150. Why does the ATM always use $40 and $60 as defaults? 5/2/2019 © Jeff Offutt, 2001-2007

Selection : The Mouse “Democracy is a terrible system of organizing a society, but it's better than any of the others” Winston Churchill So is a mouse a terrible selection device, but it’s better than any other The worst aspect of a mouse is that it forces us to take our hands off the keyboard MS Word 2000: We type text We issue commands with voice CLs are natural – typing commands is not 2005 2010 5/2/2019 © Jeff Offutt, 2001-2007

Selecting Events Alan Cooper expects a pen input to be used as a pointer, but it is much harder to pick up a pen than grasp a mouse. This is why pens are no longer widely used Keep events close together! Good Stupid Better 5/2/2019 © Jeff Offutt, 2001-2007

Direct Manipulation Direct Manipulation is about visual feedback, not just about using a mouse. Cooper : “I’ve seen many instances of direct-manipulation idioms implemented without adequate visual feedback, and these idioms fail to satisfy the definition of effective direct manipulation.” That's what I mean by “a menu system with a mouse.” Like Patriot web 5/2/2019 © Jeff Offutt, 2001-2007

GUI Events Events are state changes generated when the interface is manipulated (usually the cursor is moved or the mouse is clicked) Mouse Events Into text box 1 cursor Into OK button 2 Text Out of OK 3 Into Cancel button 4 OK Cancel Left mouse button down 5 Left mouse button up 6 5/2/2019 © Jeff Offutt, 2001-2007

GUI Events (2) Levels of events User level GUI level Speeding up a GUI is primarily about reducing the number of events needed to accomplish a task. Levels of events User level Selecting Dragging Resizing GUI level Crossing a widget boundary Button down Button up 5/2/2019 © Jeff Offutt, 2001-2007

GUI Events (3) These are languages with which we manipulate GUIs. The user level language is built on top of the GUI level. When we build a GUI, we are using the user level language to build an application-level language. GUI tools provide a user level language, but also restrict the design! 5/2/2019 © Jeff Offutt, 2001-2007

User Level Language Hints Provide a way to escape from dragging escape any keystroke chord-click-click right button to cancel MS API does not define chord-click Programmers must go to the GUI level Try to avoid mixing fine motor control (clicking) with gross motor (dragging) as much as possible Provide visual feedback when grasping (selecting) Apply the principle of locality Put widgets that users will use adjacently in time adjacent in space 5/2/2019 © Jeff Offutt, 2001-2007

Dialog Boxes Dialog boxes are the most inconveniently designed part of most GUIs. Dialog boxes are sometimes: Unnecessary In the wrong place Labeled with confusing text Remember: You are designing a language Unfortunately, you have been trained to expect languages to be poorly designed (C, C++, Windows, English), but you can do better! You have the advantages of a class in HCI design  5/2/2019 © Jeff Offutt, 2001-2007

Dialog Boxes (2) Dialog boxes are interruptions and inherently intrusive We cannot always afford to spend 20 minutes talking every time someone comes to our office Dialog boxes are excise tasks Use dialog boxes for Exceptional interaction (errors, printing, …) Dangerous interaction (requiring extra concentration) My favorite worst use of a dialog box: Find in Netscape, MS Word and PPT Firefox uses keyboard accelerator: “/string” 5/2/2019 © Jeff Offutt, 2001-2007

Modal Dialog Boxes Modal : No other interaction is allowed until the dialog box is closed Error messages should almost NEVER be in modal dialog boxes The message should disappear with the next interaction with the parent window Modal boxes are : easy to program easy to understand annoying too common 5/2/2019 © Jeff Offutt, 2001-2007

Modeless Dialog Boxes The “owning” program continues Usually have terminating commands (close) Slightly unclear – when do they go away? – people expect them to be modal Example: Find (^F) in MS Office 5/2/2019 © Jeff Offutt, 2001-2007

Improving Modeless Dialog Boxes Make modeless boxes look different Color Pattern Border Use consistent terminating commands for modeless boxes Make modeless boxes very different from modal boxes (for example, a floating tool bar) This example doesn't always work, but the concept might … highlight 5/2/2019 © Jeff Offutt, 2001-2007

Four Kinds of Dialog Boxes Property dialog box User can change settings of an object font printing options Function dialog box User performs some function find print spell checking 5/2/2019 © Jeff Offutt, 2001-2007

Four Kinds of Dialog Boxes (2) Bulletin dialog box Gives the user some feedback error message confirmation messages Note that the user does not request these! Process dialog box Tells the user the system is busy Hour glass is not always sufficient Process box should: Explain to the user what's happening Express that it is unusual State how much longer … this is hard! Provide a cancel 5/2/2019 © Jeff Offutt, 2001-2007

GUI Menus: Tool Bars A tool bar is a menu of buttons Permanent menu Designed for knowledgeable users Use to provide fast access to commonly used functions 5/2/2019 © Jeff Offutt, 2001-2007

Tactics for Tool Bar Buttons Use icons, not text Text takes longer to read Text + pictures use a lot of space The little helper flags are great! Buttons should not disappear Inactive buttons should not “depress” when clicked They should be grayed out, if possible The worst error messages are those that say “you can’t do that now.” 5/2/2019 © Jeff Offutt, 2001-2007

Tactics for Tool Bar Buttons (2) When tool bars are available, menus are used to teach Hmm … new users may never go to the menus … Types of buttons on tool bars Momentary (traditional) Push it and it activates something Used to start a function Latching Button stays depressed Used to change state Pop-ups 5/2/2019 © Jeff Offutt, 2001-2007

Tactics for Tool Bar Buttons (3) Tool bars should be customizable Movable Reshapable Allow users to add / remove buttons Allow users to change size of buttons 5/2/2019 © Jeff Offutt, 2001-2007

Summary If you want to examine the impact that Alan Cooper has had on GUI design, compare MS Office 2000 products with previous MS Office versions. 5/2/2019 © Jeff Offutt, 2001-2007