CS 6456 Principles of User Interface Software

Graduate Student Research Project

Fall 2007


Project Overview

The purpose of the project is to give you the opportunity to explore some topic in UI software in more depth than permitted in lecture. You are asked to propose a topic, perform an extended literature review of the topic area, implement your project idea, write up your project in the form of a conference-style paper, and give a final presentation/demo on your work. The grad project essentially replaces the final three homeworks in the undergrad section, and so should represent a substantial effort on your part.

You have a lot of freedom to come up with a project idea. You don't, for example, have to do a Swing-based project (although that's ok if you want to). Whatever you choose to do, your project should represent a substantial implementation effort that's motivated by, and grounded in, the principles we discussed in the class. Example: you might do a project where you come up with a new interaction technique, implement it, and show its use in an application. A project like this would need to be grounded in the discussions of affordance, feedback, and mechanics we had in class (in other words, just doing a different interaction technique that doesn't meet some need, or that has crappy mechanics or feedback, is a bad idea). See here for some possible project ideas. Feel free to run ideas by the instructor or the TAs if you want early feedback.

Projects should be done in teams of two. If for some reason you really want to do an individual project, see me for permission first. Depending on whether we have an even or odd number of people doing the project, we may have a single team of 1 or 3 at the instructor's discretion. It is possible that more than one team works on a related project topic. However, those teams must work separately on their projects. You are responsible for finding team mates. If you're looking for a partner, using the discussion forums on T-Square may be a good way to match people and project ideas into teams.

I suggest reading carefully through this entire document so that you understand the requirements and grading criteria for all parts of the assignment before deciding on a project topic.

The project is worth 50% of the overall grade for graduate students. The breakdown of grading for the project is given below, with each part being assigned some portion of a total 50 points.

Please see the online class schedule for due dates.

Milestone 0: Project proposal + lo-fi prototype

You need to first declare what your project will be about and give the instructor a sense of what your project will "do." You are asked to choose a project topic that relates (broadly) to topics covered in lecture--GUI toolkits, interaction techniques, ubicomp, media-based interfaces, animation, and so on.

Your project of choice should also explicitly involve at least one of the class topics covered after the midterm exam. Examples: animation, recognition, sound, video, lenses, etc.

There are two deliverables for this phase of the project:

These materials should be ZIPped and uploaded to T-Square by one (only) of the project partners. If you're doing a prototype that needs to reside on a website, please include a link to it. Be sure to include a project title and the names of the people on your team.

The Instructor and TA will give feedback on your proposed project. We may suggest changes in direction to ensure that the project supports the learning goals of the class. In extreme cases we may disallow a project proposal that seems to be out-of-scope for the class, or represent an insufficient amount of work; in this case we'd ask you to put together a different proposal, and we'll be happy to help with this process.

There will not be any grading of this portion of the project.

Milestone 1: Reading list

One of the first important tasks in the project is to assemble a reading list of relevant literature. This literature is expected to come from major conferences (such as UIST, CHI, Ubicomp, Multimedia, and CSCW) and journals (ACM TOCHI, IEEE Pervasive Computing, HCI Journal, and so forth), and in a few justified cases, authoritative Web sites and non-research articles.

For this part of the project, you must provide a list of 15-25 references that are the basis for your literature review, and for each a paragraph that describes its relevance to your work (for example: findings that influence your project idea, similar systems that you compare or contrast against, etc.) This list will be reviewed by the instructor and TA, and graded for the quality and relevance of your literature search. In some cases we may suggest additions to the literature list. Please submit this portion of the assignment as a PDF in T-Square.

This reading list will count for 10 points in the project grade.

Milestone 2: Implementation

Milestone 2 is the completion of the implementation of your project. As noted above, you have complete freedom in choosing the development environment (language, platform, tools) for your project. The only requirement is that you be able to fully describe that development environment and provide some way for your project to be demonstrated to the instructor and TA at the end of the project (Milestone 4).

For this milestone you'll submit the following deliverables:

Please submit all of these as a single ZIP file via T-Square.

This portion of the project will be graded based on quality and quantity of implementation, as well as on how well your finished implementation reflects the goals you set out in your project proposal.

The implementation portion of the project will count for 15 points in the overall project grade.

Milestone 3: Project Presentation and Demo

During the last two class meetings, students will be responsible for a 15 minute presentation on their project.  This will include a demonstration of your work as well as an overview of your motivation and implementation.

If you rely on special equipment that can't be transported to class, please bring a video and slides; the instructor and TAs may try to schedule time for a private demo as well.

The presentation will count for 10 points in the overall project grade.

Milestone 4: Project Writeup

The final project milestone is to do a writeup of your project that is in the form and style of a conference research paper. This will be a 6-8 page paper in standard ACM format. For details, please check here for the formatting instructions used by UIST (ignore the specification of 10-page papers; for this class please use 6-8 pages).

You can look at some of the assigned readings from the class, or proceedings of conferences such as UIST, Ubicomp, CHI, and CSCW to see the form and style of these papers. The typical paper will have an introduction section that motivates the work, a discussion of related work, a system description (including implementation details as necessary), sometimes an evaluation, conclusions, and references. The actual sections that you might have can vary, of course, but should be plausible as a research conference paper. I suggest looking for papers that are on topics that are at least superficially similar to your project and using them as templates.

The Author's Guides for various conferences provide details on how to write an effective research paper. As an example you can check out the Review Criteria for the UIST conference. This document details the set of criteria for how the reviewers (in our case, the instructor and TAs) will evaluate your paper.

For extra credit, you can conduct a usability evaluation of your system and describe the study and its results in your paper. We'll assign some number of bonus points depending on the quality and depth of the evaluation.

This portion of the submission is worth 15 points. Please submit your paper in PDF form via T-Square.

Back to CS 4470/6456 Home Page