ICS 105: Project in Human-Computer Interaction

Spring 2003


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.

Other Readings

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.

  1. Mark Ackerman and Leysia Palen. 1996. The Zephyr Help Instance: Promoting Ongoing Activity in a CSCW System. Proc. ACM Conf. Human Factors in Computing Systems CHI'96.
  2. Erin Bradner, Wendy Kellogg, and Tom Erickson. 1999. The Adoption and Use of Babble: A Field Study of Chat in the Workplace. Proc. European Conf. Computer-Supported Cooperative Work ECSCW'99.
  3. Tom Erickson. 2003. Designing Visualizations of Social Activity: Six Claims. Proc. ACM Conf. Human Factors in Computing Systems CHI 2003 (Short papers).
  4. Tom Erickson, David Smith, Wendy Kellogg, Mark Laff, John Richards, and Erin Bradner. 1999. Socially Translucent Systems: Social Proxies, Persistent Conversations, and the Design of "Babble." Proc. ACM Conf. Human Factors in Computing Systems CHI'99.
  5. Rebecca Grinter and Marge Eldridge. 2001. y do tngrs luv 2 txt msg? Proc. European Conf. Computer-Supported Cooperative Work ECSCW 2001.
  6. Rebecca Grinter and Leysia Palen. 2002. Instant Messaging in Teen Life. Proc. ACM Conf. Computer-Supported Cooperative Work CSCW 2002.
  7. Rebecca Grinter and Marge Eldridge. 2003. Wan2tlk? Everyday Text Messaging. Proc. ACM Conf. Human Factors in Computing Systems CHI 2003.
  8. Mark Handel and James Herbsleb. 2002. What is Chat Doing in the Workplace? Proc. ACM Conf. Computer-Supported Cooperative Work CSCW 2002.
  9. Ellen Isaacs, Alan Waldendowski, Steve Whittaker, Diane Schiano, and Candace Kamm. 2002. The Character, Functions, and Styles of Instant Messaging in the Workplace. Proc. ACM Conf. Computer-Supported Cooperative Work CSCW 2002.
  10. Issacs, Ellen, Alan Waldendowski, and Dipti Ranganathan. (2002 September). Mobile Instant Messaging through Hubbub. Communications of the ACM. New York: ACM Press, 68-72.
  11. David Kurlander, Tim Skelly, and David Salesin. 1996. Comic Chat. Proc. ACM SIGGRAPH'96.
  12. Bonnie Nardi, Steve Whittaker, and Erin Bradner. 2002. Interaction and Outeraction: Instant Messaging in Action. Proc. ACM Conf. Computer-Supported Cooperative Work CSCW 2002.
  13. Marc Smith, JJ Cadiz, and Byron Burkhalter. 2000. Conversation Trees and Threaded Chats. Proc. ACM Conf. Computer-Supported Cooperative Work CSCW 2000.
  14. Marc Smith, Shelley Farnham, and Steven Drucker. 2000. The Social Life of Small Graphical Chat Spaces. Proc. ACM Conf. Human Factors in Computing Systems CHI 2000.
  15. Marc Smith and Andrew Fiore. 2001. Visualization components for Persistent Conversations. Proc. ACM Conf. Human Factors in Computing Systems CHI 2001.
  16. Fernanda Veigas and Judith Donath. 1999. Chat Circles. Proc. ACM Conf. Human Factors in Computing Systems CHI 1999.

(Thanks to Sophia Liu for the basis of this bibliography.)


Apr 1

Introduction to class; HCI process

Apr 3

Design process; prototyping

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

Techniques I -- Scenario-based Design

Apr 24

Techniques II -- Paper prototyping

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


May 29


Jun 3

Team presentations

Jun 5

Team presentations