1CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: Introduction to GUIs.

Slides:



Advertisements
Similar presentations
User Interface Design CIS 322 Office hours: Tuesday 1-2pm Thursday 12-1pm Room
Advertisements

Unit 6 Assignment 2 Chris Boardley.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 16: Eliminating Errors.
CS774 Human-Computer Interaction Lecturer: Roger D. Eastman
CISB213 Human Computer Interaction Introduction and Overview.
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.
James Tam What HCI (and this course) all about 1 1 These notes are based roughly upon the optional reading a Taxonomy of HCI optional reading
What is Interaction Design?. What is interaction design? Designing interactive products to support people in their everyday and working lives –Sharp,
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Saul Greenberg CPSC 481 Foundations and Principles of Human Computer Interaction James Tam.
Instructor: Vincent Duffy, Ph.D. Associate Professor of IE Lecture 8 – Human-Computer Interaction Thurs. Feb. 8, 2007 IE 486 Work Analysis & Design II.
Introduction to Web & HTML Pertemuan 08 Matakuliah: L0182 / Web & Animation Design Tahun: 2008.
© 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.
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.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 18, 2007.
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.
Course: Introduction to Computers
What is HCI? IMD07101: Introduction to Human Computer Interaction Brian Davison 2011/12.
SOFTWARE.
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 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: User Oriented Design.
BAB 2 BASIC OPERATING SYSTEM CONCEPT MANAGEMENT. User interface – –a program that controls a display for the user (usually on a computer monitor) and.
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.
CS110/CS119 Introduction to Computing (Java)
Introduction to Graphical User Interfaces Spring 2014 Instructor: Wayne Summers Room 453, CCT Building Phone:
Human Computer Interaction Semester 1, 2013/2013.
People: Usability COMP 101 November 12, 2014 Carolyn Seaman Amanda Mancuso Susan Martin University of Maryland Baltimore County.
SOFTWARE.
Principles of User Centred Design Howell Istance.
COSC 3461 User Interfaces Instructor (Section A): Maurice Masliah
Introduction to Usability Engineering CS 352 Winter
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Human-Computer Interaction Introduction © Brian Whitworth.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
SCV2113 Human Computer Interaction Semester 1, 2013/2013.
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]
COSC 3461: Module 1 S04 Introduction to Interaction & Principles of Design I.
CS 3120 USER INTERFACE DESIGN, IMPLEMENTATION AND EVALUATION (UIDIE) Dr. Ben Schafer
Fundamentals of Web Publishing MIS 208-B LEC: T 08:15PM-10:05PM- ADM102 LAB: TH 08:15PM-10:05PM - ADM138 Andy Stokes.
Human Computer Interaction
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Multi-media Information Systems Introduction Brian Whitworth © 2001.
1 CP586 © Peter Lo 2003 Multimedia Communication Human Computer Interaction.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
Human Computer Interaction Lecture /11 1.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
©2001 Southern Illinois University, Edwardsville All rights reserved. CS 321 Human-Computer Interaction Today Course Introduction Wednesday Introduction.
Cs3724: Introduction to HCI Dr. Chris North GTA: Purvi Saraiya.
Introduction to HCI Lecture #1.
The Hashemite University Computer Engineering Department
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
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.
AUTHOR PRADEEP KUMAR B.tech 1 st year CSE branch Gnyana saraswati college of eng. & technology Dharmaram(b)
Lecture 1-Part 2: Operating-System Structures
CS 3120 USER INTERFACE DESIGN, IMPLEMENTATION AND EVALUATION (UIDIE)
Digital media & interaction design
Course: Introduction to Computers
Human-Computer Interaction Introduction to HCI
Usability and user Interfaces
Software Engineering D7025E
Fundamentals of Human Computer Interaction (HCI)
Presentation transcript:

1CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 1: Introduction to GUIs

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Welcome! About me – Michael Czajkowski – – Office Hours: Appointment Only, on Thursdays About this course – Syllabus, timeline, & resources on-line at Shared Resources with Dr. Salvucci

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Who / what / where / when / why / how Prerequisites Lectures Readings Assignments, Project Exams Grading Communication Policies Questions?

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 What’s a GUI? GUI = Graphical User Interface For many programs in CS coursework… For GUIs we’ll be building… args files stdout, files Program user manual input program graphical interface

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Where are GUIs? Everywhere! – Windows / Mac applications – Linux desktops / window managers – Web pages of every kind – ATM machines, cell phones, watches, military applications...

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Why have GUIs? Can present a lot of information in small area but still maintain readability Can present different types of information (e.g., pictures, animations) Can store “functions” on-screen without forcing user to remember them Can provide “direct-manipulation” interfaces with various input

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Challenges of a GUI Limitations of the display – space / area – resolution Limitations of the user – visual attention – visual processes (e.g., reading a word) – motor processes (e.g., mouse movement) – cognitive processes (e.g., memory)

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 How do we design GUIs? Psychology of HCI User-centered design – 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? – Design with the User's Mind in Mind – and lots of other things to consider Design is not the focus of this course, BUT We always need to keep the user in mind !!!

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Problems in user understanding Difference of evaluation – Users need to take what they see and encode it with respect to their goals. – possible problems: ergonomic factors (e.g., font) lack of structure and/or consistency lack of information Difference of execution – Users have to decide how to execute their goals. – possible problems: lack of procedural knowledge about interface inadequate feedback

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 When GUIs go bad Choose-your-own-example One very good example: user goal(s)? task demands? user limitations? user expectations?

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 When GUIs get better A much better interface, IMHO (though for a different purpose) flexible redundant contextual problems?

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Cash Register example Meetingmaker example Serious Problem: Productivity Paradox What's going on here? Listen to your surroundings When The User was Forgotten

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 What makes a good GUI? Mac OS X launcher — what do you think?

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Avoiding GUI pitfalls Jakob Nielsen's “Top Ten Mistakes in Web Design” Is good design really this easy? Q: How can we do better? A: Keep the user's mind in mind! 1. Using Frames 2. Gratuitous Use of Bleeding-Edge Technology 3. Scrolling Text, Marquees, and Constantly Running Animations 4. Complex URLs 5. Orphan Pages 6. Long Scrolling Pages 7. Lack of Navigation Support 8. Non-Standard Link Colors 9. Outdated Information 10. Overly Long Download Times

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Knowing your users Thanks to Scott York U for the this slide!! User Population Assembler code 0.01% Program (any language) 1% C++ code 0.1% Linux 15% Usability MS Windows 70% Television 98%

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 When GUIs “go good” 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. Whole businesses based on this philosophy.

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 How do we build GUIs? Ah, the real focus of this course. :-) 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 GUI: Have both good design and good implementation.

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Design & implementation What are the implementation costs for these two interfaces?

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Implementation: OOP principles Modularity: Most important principle when applied to building GUIs. “Components” Useage of inheritance principles You will be graded on how modular your code is! Its important. :) Event-Based Systems

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 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. Design Prototype Evaluate Thanks to Scott York U for the next few slides!! Human-computer interaction

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Multidisciplinary nature of HCI Human side: – cognitive psychology – ergonomics and human factors – sociology and anthropology – linguistics – communication theory – social and organizational psychology – graphic and industrial design

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Multidisciplinary nature of HCI Machine side: – computer science – engineering – computer graphics – operating systems – programming languages – software engineering – development environments – artificial intelligence

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Why are good GUIs hard to build? 50% of design, implementation, maintenance, code size, etc. Multiprocessing: UIs are inherently concurrent! – multiple inputs, redraws – synchronization, deadlock prevention Flexible: Must deal with many different kinds of users. No one human is exactly like another! Real-time requirements Must be robust (users do lots of odd things!)

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Why are good GUIs hard to build? (2) API & UI logic complexity Reactive instead of proactive: the user dictates what the system should do Hard to modularize (OOP interface design) Exhaustive testing of UIs is hard – how to ensure robustness? Evaluation with users is time consuming And more...

CS 480: Graphical User Interfaces. Dario Salvucci, Drexel University.1 Course overview Our task for this course: Learn how to build great GUIs with a user- centered design! How we’ll do this: Implement GUIs in Java & Swing What is Java? What is Swing?