Software Engineering: Analysis and Design - CSE3308

Slides:



Advertisements
Similar presentations
Interaction Techniques Level 2 Prepared by: RHR First Prepared on: Nov 23, 2006 Last Modified on: Quality checked by: MOH Copyright 2004 Asia Pacific Institute.
Advertisements

Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Interaksi Manusia Komputer – Marcello Singadji. design rules Designing for maximum usability – the goal of interaction design Principles of usability.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
The Interaction. Overview Interaction Models understand human-computer communication Ergonomics Physical characteristics of interaction Context Social.
Design of Everyday Things
Lecture 7 Date: 23rd February
1 Programming & Programming Languages Overview l Machine operations and machine language. l Example of machine language. l Different types of processor.
User-Centered Design Good design The user says “Yes, I see” or “Of course”. A simple explanation is sufficient. Bad design The user says “How am I going.
Design of Everyday Things Don Norman on Design & HCI.
Chapter 7 design rules.
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
Microsoft Office Illustrated Fundamentals Unit B: Understanding File Management.
1 ISE 412 Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
Principles of User Centred Design Howell Istance.
MICROSOFT WORD GETTING STARTED WITH WORD. CONTENTS 1.STARTING THE PROGRAMSTARTING THE PROGRAM 2.BASIC TEXT EDITINGBASIC TEXT EDITING 3.SAVING A DOCUMENTSAVING.
11.10 Human Computer Interface www. ICT-Teacher.com.
Unit 1_9 Human Computer Interface. Why have an Interface? The user needs to issue instructions Problem diagnosis The Computer needs to tell the user what.
The ID process Identifying needs and establishing requirements Developing alternative designs that meet those requirements Building interactive versions.
What is an interface? How many different types of interfaces can you think of?
Mestrado em Informática Médica SIntS 13/14 – T5 Design Concepts Miguel Tavares Coimbra.
The Fundamentals of Using Windows 95. Windows 95 ã operating system that performs every function necessary for the user to communicate and control computer.
JENNIFER WONG CHAPTER 7: USER – CENTERED DESIGN. The point of the book was to advocate a user- centered design which is a philosophy that things should.
Human-Computer Interaction (HCI)
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
Design of Everyday Things. Grade summaries Assignments 1-4 (out of 10) P0 (out of 10) P1 group grade (out of 100) P1 individual grade (out of 50) Midterm.
Key Applications Module Lesson 21 — Access Essentials
User Support Chapter 8. Overview Assumption/IDEALLY: If a system is properly design, it should be completely of ease to use, thus user will require little.
1 3132/3192 User Accessibility © University of Stirling /3192 User Accessibility 2.
William H. Bowers – Rethinking Files and Save Cooper 13.
Chapter 7 design rules. Designing for maximum usability – the goal of interaction design Principles of usability –general understanding Standards and.
The Design of Everyday Things Darn these hooves! I hit the wrong switch again! Who designs these instrument panels, raccoons?
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.
11/25/2015Slide 1 Scripts are short programs that repeat sequences of SPSS commands. SPSS includes a computer language called Sax Basic for the creation.
Theories and Practice of Interactive Media 13 October 2003 Kathy E. Gill.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
The Design of Everyday Things Design Psychology (POET) Psychopathology.
Yonglei Tao School of Computing & Info Systems GVSU Ch 7 Design Guidelines.
Conceptual Model Design Informing the user what to do Lecture # 10 (a) Gabriel Spitz.
Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation ISE
Mouse Trackball Joystick Touchpad TroughputError rate T roughput (bps) Error r ate (%) Image by MIT.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 36 Behavior.
A disciplined approach to analyzing malfunctions –Provides feedback into the redesign process 1.Play protocol, searching for malfunctions 2.Answer four.
How do people use an Interface Gabriel Spitz 1. User Interface Design?  Design is solving a problem  Design is creating an object or the means to enable.
The Design of Everyday Things Donald A. Norman. The psychopathology of everyday things Doors Doors Light switches Light switches Taps Taps Telephones.
Interaction Frameworks COMPSCI 345 S1 C and SoftEng 350 S1 C Lecture 3 Chapter (Heim)
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
System Software (1) The Operating System
Copyright 2006 John Wiley & Sons, Inc Chapter 5 – Cognitive Engineering HCI: Developing Effective Organizational Information Systems Dov Te’eni Jane Carey.
Chapter 7 design rules. Designing for maximum usability – the goal of interaction design Principles of usability –general understanding Standards and.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Design rules.
[The Design of Everyday Things, Don Norman, Ch 7]
Human Computer Interaction Lecture 21 User Support
Image by MIT OpenCourseWare Troughput (bps) Error rate (%) Mouse Trackball Joystick Touchpad.
11.10 Human Computer Interface
Digital media & interaction design
Imran Hussain University of Management and Technology (UMT)
The Design of Everyday Things
Norman 7 A: User-Centered Design
To Err is Human Owen Brennan.
CSE310 Human-Computer Interaction
Chapter 7 design rules.
Chapter 7 design rules.
Chapter 7 design rules.
Microsoft Office Illustrated Fundamentals
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Chapter 7 design rules.
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

Software Engineering: Analysis and Design - CSE3308 CSE3308/CSC3080/DMS/2000/14 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Conceptual Issues in Human-Computer Interaction

Lecture Outline CLINTs and WIMPs What is Human-Computer Interaction? Models and HCI An example of the role of models The need for design Principles for design POET - a design method

CLINTs and WIMPs CLINT - Command Line INTerfacer WIMPs - Windows, Icons, Mice, Pointing Over the last 4 decades, have migrated from CLINTs to WIMPs The vast majority of computer users will run screaming from a command line interface The GUI is now king of our screens, but is unlikely to stay enthroned forever Voice based systems Virtual Reality based systems

What is Human-Computer Interaction? The ways and means by which humans use computers The interaction between humans and their computers occurs through what is known as the user interface The User Interface is the “System” If the User Interface is poor, then the system is poor The User Interface is a necessary but not sufficient part of building a good system

Models People build mental models of how the world works People form these models through experience, training and instruction These mental models are often wrong in principle, but correct in effect In software development, we have three mental models which we are concerned with The Implementation Model The System Model The User Model

The interaction between the three models Implementation Model User Model Designer User System System Model

Which model should the System Model match? Worse Better System Models User Model reflects user’s vision Implementation Model reflects technology

Models and User Interfaces Mental models are generally simpler than reality Mental models don’t have to be true or accurate, so long as they are effective Example - many users see the screen as the centre of the computer where the work is done Software which has a system model similar to the user’s mental model reduces the complexity of an interface Most software conforms to the implementation model

The Baffling Case of the File System The current file systems used in all systems are based on the implementation model, not the user model The current file system is an endless source of user problems and frustration Very few people even question whether it can be done a different way! Users view files in the same way as they view documents in the real world, but this is not correct

The real world analogy to using a file Compare with using a book from a shelf 1. Make a photocopy of the book on the shelf 2. Scribble any changes you want to make on the photocopy 3. Burn the original book on the shelf 4. Place the scribbled on photocopy where the original was

The current filing system Differentiates between the copy on the hard disk and the copy in RAM Use of Hard Disks is purely a technical issue driven by cost, has nothing to do with the usage of the filing system The ability to lose all your changes and revert to the old version prior to saving is a side-effect and a dangerous side-effect The existence of two versions of the same document simultaneously is greatly confusing

A solution in tune with the user’s mental model What are the goals of a file system for the user? Saving changes to the document Create a copy of the existing document Naming and renaming the document Placing and repositioning the document Specifying the stored format of the document Creating a milestone copy of the document Reversing some changes Abandoning all changes

Addressing the requirements Saving changes to the document With modern technology, we can save often automatically Save when the user stops rather than when actually typing Manual save facility for the paranoid Creating a copy of the document Add a command Make Snapshot Copy Give copy standard name like Copy of Alpha and put it in the same directory Should just happen, no dialog box Naming and renaming the document Name in the title bar should be editable

Addressing the requirements (2) Placing and repositioning the document All documents placed in file system in default location Explicit command on the menu to move to a different location, if necessary Specifying the stored format of the document Currently tied in with the file system Not actually part of the file system, but is actually a property of the document Very rare occurrence, shouldn’t be tied to saving the document

Addressing the requirements (3) Making a Milestone copy of the document creates a version of the document to be stored separately in the file system similar technology is already used in revision control systems Simple to revert back to a milestone when we need to Abandoning all changes a facility on the menu to abandon all changes since the document was opened with appropriate warnings facility should also be undoable for a week or two Reversing some changes use a multi-level undo

The New Menu Menu now reflects the user’s mental model instead of the implementation model there is one document and the user owns it and can control its behaviour easily and in detail No need for the user to worry about copies in RAM and disk

The New Menu’s Appearance Document New Open... Close Rename/Reposition… Make Snapshot Copy Make Milestone Revert to Milestone... Document Properties... Abandon Changes Close

The Need for Design As can be seen by the File Menu example, there is still room for considerable improvement in user interfaces By applying good design principles to the tasks that users perform we can produce far better user interfaces The result is more work for developers, but more productive and better-selling software for users

Five fallacies The design is satisfactory for me - therefore it will be satisfactory for everybody This design is satisfactory for the average person - it will therefore be satisfactory for everybody else The variability of human beings is so great than it cannot be catered for in any design - but since people are wonderfully adaptable it doesn’t matter anyway Good interfaces are expensive and since products are usually purchased on appearance and styling, we can ignore interface design Good interfaces are an excellent idea, I always design things with this in mind, but I do it intuitively and rely on my common sense, so I don’t need to test it

Design Principles Affordances Being aware of the mental models in the system Making things visible The principle of mapping The principle of feedback

Affordances The perceived and actual properties of the thing, primarily those fundamental properties that determine just how the thing could possibly be used Examples The handle on a door A 3-D pushbutton on a toolbar Affordances are far more compelling than written instructions

Making things visible The functions in a system should be visible Example - the Telephone standard telephone has 15 function buttons most functions use the * and # button the button has no relationship to the function How many people can set up a three-way call or remember how to turn off call waiting? Counter example - the Car Many more buttons, but each button generally has one purpose and is labelled people have far less problems in a strange car as opposed to their own telephone Visibility acts as a reminder of what can be done and how it is done

The principle of mapping Mapping is the relationship between two things for example, the steering wheel of a car, when it is turned right, the car turns right, when turned left, the car turns left By using natural mappings, the designer can make actions easily learned and always remembered e.g. spatial analogies: to move an object up, move the control up e.g. other physical analogies: a louder sound means more, a quieter sound means less

The principle of feedback Sending information back to the user on what action has actually been performed and what result has been accomplished Feedback needs to be timely Example - Keyboards can easily be made to be silent, but a good keyboard will have a nice satisfying click!

How people do things An approximate model - Seven Stages of Action Three basic areas Goals - what does the user want, i.e. their expectations of and intentions for the device? Execution - how does the user achieve the goals with the device Evaluation - how does the user know whether their goals have been met? Gulf of Execution the distance between the intentions of the user and the allowable actions Gulf of Evaluation the amount of effort the user must exert to interpret the physical state of the device and how well it satisfied the user’s intentions and expectations

The Seven Stages of Action Goals Evaluation of interpretations Intention to act Sequence of actions Interpreting the perception EXECUTION EVALUATION Execution of the action sequence Perceiving the state of the world The World

Using the seven stages to assess a design How easily can one: Determine the function of the device? Tell what actions are possible? Determine mapping from intention to physical movement? Perform the Action? Tell of the system is in the desired state? Determine mapping from system state to interpretation? Tell what state the system is in?

POET - a design method The Psychology of Everyday Things - Donald Norman - Apple Fellow Address the goals of the user Use both knowledge in the head and knowledge in the world Simplify the structure of tasks Make things visible, bridge the gulfs of Execution and Evaluation Get the mappings right Exploit the power of constraints, both natural and artificial Design for error When all else fails, standardise

POET - A design method (2) Address the goals of the user Don’t allow the implementation model to rule the way things are done Use knowledge in the head and knowledge in the world People learn better and feel more comfortable when the knowledge needed to do the job is available externally But knowledge in the world must have a natural, easily interpreted relationship between that knowledge and the information it is intended to convey about possible actions and outcomes Knowledge in the head improves performance, so the design should not impede experienced users with that knowledge Knowledge in the head is only available within a context

POET - a design method (3) Simplify the structure of the tasks; 4 ways: Keep the task much the same but provide mental aids e.g. providing a drop-down list box of postcodes Use technology to make things visible and reduce memory load the automatic spelling check function in Word 97 Remove some parts of the task with automation e.g. filling in the suburb field based on the postcode Change the nature of the task e.g have a web page and let the user fill in the details Simplify, but don’t take control away from the user

POET - a design method (4) Make things visible Bridge the Gulf of Execution by letting people know what is possible letting people know how actions are performed Bridge the Gulf of Evaluation by showing people the effects of their actions Actions should match intentions and expectations The system state should be readily perceivable and interpretable The system state should match the user’s intentions and expectations

POET - a design method (5) Get the mappings right between intentions and possible actions between actions and their possible effects on the system between actual system state and what the user can perceive between the perceived system state and the needs, intentions and expectations of the system Exploit the power of constraints use constraints so that the user feels there is only one choice: the right one reduce the possible number of actions at any stage

POET - a design method (6) Design for error Assume any error can be made and plan for it Support, don’t fight the user’s response Allow recovery from errors Don’t straitjacket the user: what you think is an error may be normal behaviour in the system When all else fails, standardise If there must be arbitrary mappings, standardise the layout Standards are hard to agree upon Users must be trained in standards

The Backwards Clock 12 1 11 2 10 3 9 4 8 5 7 6