1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: User Oriented Design.

Slides:



Advertisements
Similar presentations
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Advertisements

SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 16: Eliminating Errors.
CS774 Human-Computer Interaction Lecturer: Roger D. Eastman
CPSC 481 Foundations and Principles of Human Computer Interaction
Department of Computer Science
Saul Greenberg CPSC 481 Foundations and Principles of Human Computer Interaction James Tam.
What is Interaction Design?. What is interaction design? Designing interactive products to support people in their everyday and working lives –Sharp,
Saul Greenberg CPSC 481 Foundations and Principles of Human Computer Interaction James Tam.
CSE3030Lecture 11 Know Your User The First Slogan.
Lecture 2a: Foundations of human-computer interaction CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Administrivia Turn in ranking sheets, we’ll have group assignments to you as soon as possible Homeworks Programming Assignment 1 due next Tuesday Group.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 20, 2005.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 22, 2004.
CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by.
James Tam CPSC 481 Foundations and Principles of Human Computer Interaction James Tam.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
INTRODUCTION. Concepts HCI, CHI Usability User-centered Design (UCD) An approach to design (software, Web, other) that involves the user Interaction Design.
CS 3724: Introduction to Human Computer Interaction Chris North Jason Lee Szu-Chia Lu.
Final Year Project Presentation E-PM: A N O NLINE P ROJECT M ANAGER By: Pankaj Goel.
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Human Interface Engineering1 Main Title, 60 pt., U/L case LS=.8 lines Introduction to Human Interface Engineering NTU Seminar Amy Ma HIE Global Director.
1 ISE 412 Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation.
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.
1CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: Introduction to GUIs.
SOFTWARE.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Principles of User Centred Design Howell Istance.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Computer basics Lesson 4 – Programs & S.O..
Instructor: Tina Tian. About me Office: RLC 203A Office Hours: Wednesday 1:30 - 4:30 PM or .
User Interface Overview Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
Human-Computer Interaction Introduction © Brian Whitworth.
Principle of Human Computer Interaction
CSCD 487/587 Human Computer Interface Winter 2013 Lecture 3 HCI and Interactive Design.
SCV2113 Human Computer Interaction Semester 1, 2013/2013.
Interacting with IT Systems Fundamentals of Information Technology Session 5.
Today Thursday Introduction to HCI and Contextual Design Course Introduction CS 321 Human-Computer Interaction Jerry B. Weinberg Reading: CD: Chapter.
User-Centered Development Methodology A user interface comprises “ those aspects of the system that the user comes in contact with.” ● Moran [1981]
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
Human-Computer Interaction Overview ● Benefits of more usable Websites ● History of HCI ● Goals of HCI ● User-Centered Methodology.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 3: Personas.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
1 Interface Metaphors & Conceptual Design Dr. Cindy Corritore Creighton University ITM 734 Fall 2005.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Dr. H. Rex Hartson Fall 2003 Introduction to the Course Copyright © 2003 H. Rex Hartson and Deborah Hix. CS5714 Usability Engineering.
©2001 Southern Illinois University, Edwardsville All rights reserved. CS 321 Human-Computer Interaction Today Course Introduction Wednesday Introduction.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 7: Principles and Patterns.
User Interfaces 4 BTECH: IT WIKI PAGE:
Cs3724: Introduction to HCI Dr. Chris North GTA: Purvi Saraiya.
Introduction to HCI Lecture #1.
Human-Computer Interaction Design process Task and User Characteristics Guidelines Evaluation ISE
Writing a Science or Engineering Paper: It is just a story Frank Shipman Department of Computer Science Texas A&M University.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 36 Behavior.
CS 3724: Introduction to Human Computer Interaction Chris North Regis Kopper.
Introduction to Human Factors in Information Systems Dr. Cindy Corritore Creighton University ITM 734 Fall 2005.
Human Computer Interaction (HCI)
cs3724: Introduction to HCI
Web User Interface (WUI) Behavior
CS305, HW1, Spring 2008 Evaluation Assignment
Presentation transcript:

1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: User Oriented Design

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Hello! About me – Michael Czajkowski, Adjunct Professor, CS Department – – Office: Korman 233 – Office hours: Wednesday 5-6pm, or by appointment. About this course – Course web site:

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Who / what / where / when / why / how Prerequisites Lectures Readings Assignments Exams Grading Communication Policies Questions?

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 What’s a Graphical User Interface? In the narrow sense... – a graphical information channel between a user and computer system/application e.g., most Windows & Mac applications – any interface with buttons, menus, etc (“widgets”) In the broader sense... – ATMs, cell phones, navigation devices, etc. – GUIs don’t have to have standard widgets! – GUIs don’t have to be on your desktop! This course focuses on the first group, but we’ll keep the second group in mind

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 This course's objectives This is a GUI Design Course. – In order to pass this class you must understand not only how to program a GUI, you must also know how to design one. GUI Programming: – All of the GUI programming done for this class will be done in the Java programming language, using the Swing library. GUI Design: – This is the heart of the course. It is much more important than the programming aspect. How do you design an interface to be usable?

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 GUI Design? Who cares! I want to program GUI Design is not easy! It is a complicated thourough process involving many people at many levels of an organization. Its not just for programmers! GUI Design involves cognitive psychology, graphic arts, human factors engineering, communication, and then programming! All of this is for one purpose: “If achieving the user's goals is the basis of our design process, the user will be satisfied and happy. If the user is happy, he will gladly pay us money, and we will succeed at business.” - Alan Cooper

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Who is Alan Cooper? Alan Cooper is the author of our course textbook, “About Face 2.0: The Essentials of Interaction Design” Alan Cooper's track record: – Created first serious business software for PCs. – Father of Visual Basic – Owns a multi-million dollar usability engineering consulting firm, – Inventor of the “Goal-Directed” process of design. This is the design methodology we will be following! – Author of many design books including, “The Inmates are Running the Asylum

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Usability Today Some problems with GUIs today: – software is “rude” e.g., inappropriate or derogatory error messages – software makes unwarranted assumptions e.g., assumes user knows underlying mechanisms, such as saving to a hard drive – software is obscure “Use passive mode on FTP proxy?” – software exhibits inappropriate behavior open Word document, print it, close it — “Save?”

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 To set the stage... Why do we have these problems? – we have a conflict of interest for whom exactly are we developing the system? – we lack a process how can we think like engineers to evaluate user needs and develop appropriate, usable systems? one simple, common, but not-so-good process:

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs can ruin a company! GUI Applications must: – 'Be more advanced than our competitor!' (technology) Too much of this: Novel. No Desirability. – 'Be more desirable than our competitor!' (desirable) Too much of this: Apple. No Viability. – 'Sustain our company's bottom line!' (viable) Too much of this: Micro$oft. No Desirability. In the end: The objective is a product that is desirable, viable, and buildable! If you get all three just right, you will always win!

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 When Usability Fails When GUIs Fail: – Software does not enhance productivity. – A Productivity Paradox exists. – People can not use their computers effectively. – People get angry at their computer. – Computers fail to understand what the human wants from them. – Failures in communication lead to failures in understanding, which can have negative results. – You hear many many stories about bad computers. Lets take a good close look

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad GUIs

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Upset Users

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Upset Users

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Bad Software can have Fatal Results

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Whose Fault, and what can we do? Programmers made the GUIs, is it their fault? What about their managers? What about the people at marketing? Whose suppose to do all of this work, so that GUIs don't turn out bad? Thats what GUI Design is for. It includes everybody, not just the programmer. How are we going to Design a usable GUI?

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Goal Oriented Design: High Level Users have goals in using our GUIs User-centered design involves... – goals: what is the user trying to accomplish? – needs: what does the user need to do this? – user constraints: what can/can’t the user do? – task constraints: what can/can’t be done? – and lots of other things to consider

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Goal Oriented Design: Low Level Users embody all aspects of being human Being human means having limitations: – visual attention(e.g., noticing animation) – visual processes(e.g., reading a word) – motor processes(e.g., mouse movement) – cognitive processes(e.g., memory)

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Goal Oriented Design Cooper’s 5-component process: Each of these is covered in future lectures, in great detail. Research users & the domain Modeling users & use contexts Requirements user, business, & technical needs Framework structure & flow Refinement of behavior, form, context

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Human-computer interaction Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use and with the study of the major phenomena surrounding them. The HCI lifecycle is an iterative cycle that involves designing and evaluating with “users”as much as possible. The HCI academic world is huge, thousands of people perform research and achieve accomplishments that serve the purpose of better computer interaction. A good research link:

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Building user interfaces Much of this process is smart, good ol’ software engineering – applicable to the GUI parts of the system – applicable to non-GUI parts of the system This course focuses on the implementation of the GUI parts BUT... We always keep in mind the other aspects of the process, particularly design Use your knowledge of Software Design and engineering here, it applies! Swing code: very tedious, long, and ugly!

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Mental & implementation models Implementation models describe how we, as programmers, think about the system – there are many levels to these models – e.g., when you write “x++”, we increment x – but what happens in the processor? cache?... Mental models describe how the user thinks about the system – not the same as the implementation model! – e.g., saving changes (Word file vs. file system) – e.g., TV and movie projection – e.g., household electricity

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Represented models Represented models fall between implementation and mental models Implementation Model Mental Model Represented Models

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Designing for the mental model Computer Science people build systems. Not surprisingly, then, most systems conform to implementation models. Book example: Windows file system – drag file within drive (e.g., C  C drive)  file moves to new location – drag file to another drive (e.g., C  D drive)  file is copied to new location – why? implementation of file system – this puts the burden of understanding low-level file system details on the user!!!

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Designing for the mental model Another example: Word references – link number to other part of the document – mental model: this stays linked – implementation model: link gets broken, but software doesn’t correct — makes you do it!

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 New technology & mental models Sometimes, new technology warrants breaking old mental models — carefully! Example: the good ol’ calendar

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 Design & implementation: Summary Good, clean implementations facilitate good, clean user interfaces. – efficient code leads to faster response – well structured code leads to simple interfaces (and simple is good! -- easy to learn, remember) – robust code doesn’t crash Good implementation doesn’t make up for bad design, and good design doesn’t help a bad implementation. Implementation & design go hand-in-hand!

CS 338: Graphical User Interfaces. Michael Czajkowski, Drexel University.1 We want to make Good GUIs When GUIs work well... – shorter training time  lower costs – fewer errors  less hassle, lower costs – less maintenance  less hassle, lower costs – high transfer  lower future costs In other words... – Good Design saves time – Good Design saves money – Good Design earns happy customers!