Texts
Jef Raskin (2000) The Humane Interface:
New directions for designing interactive systems. Reading, MA:
Addison-Wesley ISBN 0-2-1-37937-6
An account of usability and the
conventional GUI from one of its early promoters.
Eric Bergman (2000) Information Appliances
and Beyond. San Francisco, CA: Morgan Kaufmann ISBN 1-55860-6009
An account of design practices &
problems of the new non-pc interfaces from working designers
Optional:
Cay Horstmann, Cay & Gary Cornell (1999) Core JAVA 2: Volume I- Fundamentals, Mountain View, CA: SunSoft Press.
Cay Horstmann, Cay & Gary Cornell (1998) Core JAVA 1.1: Volume II- Advanced Features, Mountain View, CA: SunSoft Press.
Flanagan, David (1997) Java in a Nutshell, 2nd edition, Sebastopol, CA: O'Reilly & Associates, Inc.
Or any other reasonably thorough Java book..
Introduction
This course is an introduction to the design of interactive systems. Although other courses in the Systems and Technology area deal with many of the same issues such as needs assessment, modularization of programs, or handling I/O, this course addresses them from the standpoint of the systems' users. From this perspective the real measure of system performance is not what the system is capable of doing (functionality) but what the user is likely to be able to get the system to do. This focus leads to different approaches to needs/task analysis emphasizing how as well as what the user needs to know and elevating the interface to a critical module rather than a necessary evil for getting data in and out of a program. We will examine what makes systems usable/unusable in readings and class discussions. Readings and the design projects will be used to familiarize you with techniques commonly used in designing interfaces. The programming assignment and group projects are intended to provide a more than cursory exposure to event driven, object oriented, client-sever programming, using a contemporary object oriented language (JAVA) and network environment (WWW) as well as newer application areas such as speech and mobile devices.
Instructor's Disclaimer
Current technology is by definition rapidly changing and requires continuous retooling to stay abreast. As a consequence the rarest and most commercially valuable knowledge and skills are also the most ephemeral. In DIST classes like this one we strive to balance immediately applicable skills and knowledge w.r.t. particular technologies with conceptual and scientific principles they embody. Knowledge of particular technologies is likely to have a shelf life of 5-10 years, that of principles should help you understand and master new technologies throughout your career. Interactive systems is a particularly volatile area changing radically in content and direction every 4-5 years. This year it is important that you become proficient in web-based applications and conventional GUIs but you must also begin working with non-pc interfaces which are likely to become increasingly important over the next several years..
Objectives:
Organization of Course
Work for this course will be divided between human factors theory in interface design, implementation of conventional graphical user interface (GUI) objects, implementation of non GUI/pc interfaces, and application of these theories and skills to design problems. The purpose of this course is to acquaint you with the principles, techniques, and tools needed to design effective human computer interfaces.
Course Requirements
Individual Assignment
1) Calculator:
a) Develop state transition diagram models for a cognitively consistent 4 function (infix) calculator.
b)Implement this calculators as a client-server application using a server application to perform computations and an AWT client to enter input and display output.
DUE 10/5 20 pt
Group Projects
HCI experiment/field observation (can be done in groups of 5 or fewer):
In canonical form, a project should contain each of these elements formula, however, should not be allowed to stand in the way of a good project idea . The purpose of this assignment is for you to empirically evaluate some computer interface feature in commercial software.
a) Identify some HCI principle or precept which appears to be violated in a successful design.
For example, user initiative, "System should not perform actions without explicit user instruction". A spell utility which identifies potentially misspelled words and prompts with suggested changes would satisfy this principle, a spell checker such as Word's AutoCorrect feature would violate it.
b) Propose a testable hypothesis which might account for the contradiction identified in (a).
H: System compliance with user initiative depends on the correspondence between user intent and system performance rather than degree of autonomy with which task is performed. (It's O'k to "do what I mean not what I say" but only as long as you get it right)
c) Design an experiment, field observations, or survey to test your hypothesis.
For example, Conduct a survey of native English speaking and non native English speaking students on their use and satisfaction with Word's AutoCorrection feature for spelling and grammar. If both groups find spelling AutoCorrect for changing "tje" to "the" useful but only non native English speakers find grammar AutoCorrect useful, your hypothesis is supported.
Prepare a brief (5-10 page) report and class presentation describing your findings
DUE 9/21 20 pt
Web Application
This projects will involve identifying requirements, specifying a design, prototyping and user testing of a web-based application. This application must either interactively extract and synthesize web accessible information from other URLs or provide interaction with a database. Application should be highly interactive, written in Java and employ either applets or servelets.
. Examples from earlier classes include a “bus stop to bus stop” queryable interface to the PAT schedule pages, developing a shared/intelligent calendaring system for scheduling SIS committee meetings. developing a MSIS/MST advising tool for helping students/adisors choose courses. Web application projects should include:
Task Analyses including GOMS model
Design Evaluation: Collect data from 4 or more subjects, document collection and resulting design changes
Design Presentation and Demo
In class presentation of system, design process, & evaluation
Presentation DUE: 10/5 20 pt
Speech Project
This project is intended to provide some experience in developing an interface other than a conventional GUI. The problem is to design a spoken interface for in car use to connect a user with restaurant reviews. The design should employ modeling and evaluation methods we are studying in class and can be prototyped using Microsoft's Speech SDK. The purpose of this project is not a polished product but exercise your skills in design, development, & prototyping. The restaurant finder project should include:
Document and present needs assessment and requirement specification
Design Evaluation: Collect data from 4 or more subjects, document collection and resulting design changes
Design Presentation and Demo
In class presentation of system, design process, & evaluation
Presentation DUE: 11/16 20 pt
Handheld Project
This project is intended to provide initial exposure to developing an interface in a highly constrained environment. Your system should provide interactive access to internet accessible information through a mobile phone. Designs should originate from needs assessment and identification necessary features. Project will be constructed and demonstrated using the WAP toolkit and phone interface simulator downloadable from Nokia. The handheld project should incorporate all of the design and evaluation tools introduced in the earlier projects.
DUE 12/14 20 pt:
Schedule
1 8/31 Introduction
History of conventional GUI
Programming style/environments
2 9/7 Evaluation & Testing
General introduction to Java
3 9/14 Human Information Processing
4 9/21 System Evaluation Presentations
5 9/28 Task Analysis & Design
6 10/5 Web-based applications
DUE
calculator project
10/12 SMC
7 10/19 Needs Assessment & Conceptual Design
8 10/26 Web Application Presentation
9 11/2 Speech Interfaces & Strategies
10 11/9 Multimedia: video & VR
guest presentations
11 11/16 Speech Application Presentation
11/23 Thanksgiving
12 11/30 New interfaces:
affective & ubiquitous computing
13 12/7 Agent & Intelligent Interfaces
14 12/14 Handheld Application Presentation