Instructor: Paul Dourish
(jpd@ics.uci.edu)
TA: Peter Hebden (phebden@uci.edu)
[Peter's ICS 105 page]
Lectures: Tu Th 11:00-12:20, ET 204
Discussions: As scheduled
Syllabus: to come
This project class is designed to give you practical experience in prototyping, designing and evaluating user interfaces. User interface design is more than simply buttons and slides; it's about the entire design of a system that allows people to make use of it. As more and more devices and objects that we deal with have computer technology embedded in them, the problems of designing good models for interaction becomes increasingly important.
I will be strictly enforcing the ICS 104 prerequisite; I assume that you all understand how to evaluate interfaces according to cognitive princples as laid out in that class. That's material we'll draw upon and that you'll need to know; however, this is a project class and we'll mainly be focussed on building software systems.
We'll be building systems using Java and Swing, Java's UI framework. I assure you're all comfortable programming in Java. I will spend a little time discussing Swing and the basics of its operation, but we're not going to cover that in detail in the lectures; there are plenty of good books. "Java Foundation Classes in a Nutshell" is a concise overview of the APIs, and useful as a reference; if you want something more detailed that explains more of what's going on, then there are plenty of books to choose from. I happen to use the O'Reilly book (Java Swing, by Eckstein, Loy and Wood); other books include Core Java Foundational Classes (by Topley).
Sat Mar 29: Web page installed.
Fri Apr 18: Posted some project ideas.
Sun Apr 27: Here are two sample programs: JaimMessageTest.java and JaimBuddiesTest.java
Mon Apr 28: Since the jaimlib code doesn't have any support for chat rooms, I've extended it to support the chat room protocol that's part of TOC. You'll need to use my modified version if you want to use this functionality. Here is a new jar file, the API documentation, and JaimChatTest.java, a test/demo program.
Tue Apr 29: Posted photos from the paper prototyping session.
Fri May 16: There was a bug concerning chat invitations in the jaim code. I've fixed it. Try out the new version, jaim0.5c.jar, and tell me how you get on (documentation here.)
Sat May 17: Jaim code updated again. (Previous documentation is still correct.) Just for fun, here's the sources, too.
Mon May 19: Emailed out guidelines for the final report.
I'll discuss the projects in the early lectures. The theme for this offering of ICS 105 is that all the projects will be based around Instant Messaging. In particular, we will use the "jaimlib" Java AIM implementation.
Projects will be carried out in groups of four people. Please email me proposals for groups.
The text for this class will be "Interaction Design: Beyond Human-Computer Interaction," by Preece, Rogers, and Sharp. This is a relatively new book, with a modern approach that focuses on the design process rather than specific technologies.
In the first couple of weeks, we're going to supplement the text with a set of readings on Instant Messaging. The idea of these readings is two-fold. First, they should help you to think more broadly about IM, the technology, and especially how it relates to different sets of users, different sets of needs, and different forms of practice. Second, they will (I hope) inspire you with some design ideas that show how the paradigm of IM can extend beyond the traditional forms of interface that we see in most clients.
(Thanks to Sophia Liu for the basis of this bibliography.)
Apr 1 |
Introduction to class; HCI process |
|
Apr 3 |
||
Apr 8 |
Swing fundamentals I |
|
Apr 10 |
Swing fundamentals II |
|
Apr 15 |
Class presentations on IM readings |
|
Apr 17 |
Class presentations on IM readings |
|
Apr 22 |
||
Apr 24 |
||
Apr 29 |
Paper prototyping session |
|
May 1 |
No class (Dourish out of town) |
May 6 |
No class (Dourish out of town) |
May 8 |
Visual Design and Visualization |
|
May 13 |
Status reports |
|
May 15 |
Videos -- recent HCI/IM research |
|
May 20 |
Individual meetings |
|
May 22 |
Individual meetings |
|
May 27 |
Evaluations |
|
May 29 |
Evaluations |
|
Jun 3 |
Team presentations |
|
Jun 5 |
Team presentations |
|