260 likes | 540 Views
CMPUT 301: Lecture 01 Introduction. Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by Ken Wong, Eleni Stroulia Zach Dodds, Martin Jagersand. HCI and program design. Why worry about the user?
E N D
CMPUT 301: Lecture 01Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by Ken Wong, Eleni Stroulia Zach Dodds, Martin Jagersand
HCI and program design • Why worry about the user? • People “more expensive” than machines • Errors may be unacceptable • Can’t sell unattractive and hard to learn SW • Design • For the user: Useful, correct, complete, efficient • For the programmer: Portable, changeable, extensible, reusable
Course content:How to do User Interfaces • Object Oriented SW eng: • Learn the programming skills • The human: • What perceptual skills support what interaction? • Design and evaluation: • Task analysis, usability, evaluation
Example:Interaction and interfaces: • The past? • Text based interaction: If A then end
The present: Direct manipulation: • xfig drawing program Icons afford use • Results visible • Direct spatial action-result mapping matlab drawing: • line([10, 20],[30, 85]); • patch([35, 22],[15, 35], C); • % C complex structure • text(70,30,'Kalle'); • % Potentially add font, size, etc
The future?Vision and Touch UI • Observe and Interpret Physical Interactions • Make Machines work with Humans • Soon most appliances will have embedded computers
Motivation • Clint Eastwood classification: • the good • the bad • the ugly
Motivation • The good:
Motivation • The bad:
Motivation • The ugly:
Question • What are some other examples? • In the real world?
Why Design? • “Despite the enormous outward success of personal computers, the daily experience of using computers far too often is still fraught with difficulty, pain, and barriers for most people.” • …
Why Design? • “The lack of usability of software and the poor design of programs are the secret shame of the industry.”— Mitch Kapor
Why Design? • There’s more to developing software than just making it work correctly.
Software Design • User perspective: • meets needs • increase user satisfaction • reduce frustration • increase productivity • reduce errors • easy to learn • easy to use
Software Design • Developer perspective: • manage complexity • reduce maintenance and support costs • increase quality • reduce defects • increase reuse • reduce time-to-market
Software Design • Selected goals: • bridging users and technology effectively • marry art and science • evolutionary development(design, implement, evaluate) • integrate expertise across disciplines
industrial design graphic design architecture ergonomics cognitive psychology sociology anthropology ethics software engineering computer science visualization experimentation intellectual property arts business … Multiple Disciplines
Software Design • Think about the user. • Focus on goals and tasks. • Try it out on the users. • Involve the users. • Iterate.
Book: “Human-Computer Interaction” by Alan Dix, Janet Finlay, Gregory Abowd, and Russell Beale, Prentice-Hall, 1998 http://www.hcibook.com/hcibook/
Instructor: Martin Jagersand • Office: Athabasca Hall 401 • Office Hours: By appointment • E-mail: jag@ugrad.cs.ualberta.ca • Phone: 780 492 5496
Staying in Touch • WWW page: http://ugweb.cs.ualberta.ca/~c301/ • Newsgroup: ualberta.courses.cmput.301 • Emails: • Your section TA, e.g. ayman, trysi etc… • jag@ugrad.cs.ualberta.ca
Project • Complex • Components • Integration (early!) • Vague • Talk to users • Evolution • Team effort • Hold regular meetings • Assign tasks • Peer reviews
Grading • Assignments: 15% • Midterm Exam: 15% • Project Parts: 40% • Final Exam: 30% Note: All assignments and project parts are due on a Monday at 12 noon. The TAs will explain the submission process in the labs. Late submissions will not be accepted.
End • What did I learn today? • What questions do I still have?