Alan Blackwell: Part II HCI projects 2004/2005
General note on HCI projects - a good HCI project involves: 1) A
theoretical analysis of some human activity involving computers; 2)
Design and implementation of a tool that exploits this analysis; and
3) Evaluation of the results by experimental testing. Many Part II
projects involve only step 2, so an HCI project can involve more
work. However there is no disadvantage in attempting an HCI project -
on the contrary, these projects are often carried out by top students,
and in recent years, two Cambridge students (Hanna Wallach and Tim
Hospedales) have been awarded the national SET prize for computer
science student of the year on the basis of their HCI projects.
Project 1: Mutating the Mouse
- Goal:
- To create one or more new interaction devices that can
replace or augment the mouse, operating via a standard USB interface.
- Description:
- When we look at the instruments in an orchestra, we find a huge
variety of physical user interfaces that have been optimized for
speed, control accuracy and subtle expressive effects. The computer
mouse, by contrast, is crude and tiring to use repetitively. This is
partly because its function is so generic - it must be able to refer
to any screen location, initiating any operation at that point. This
project, in contrast, would explore the potential for specialized
physical interaction devices that do one thing and do it well. A
possible application might be musical performance (working with Nick
Collins, a PhD student in music who has performed laptop music in the
UK and internationally), although almost any application area could be
considered, based on the student’s interest. The physical form of the
interface, and sensing technique used, are open to creative choice -
possible examples include low-cost USB video cameras (would require
some image processing), accelerometers, strain gauges or shaft
encoders (would require some hardware expertise).
- Work programme:
- Develop an interactive software test interface to a general
purpose USB board developed in the CU Engineering Department.
- Identify a suitable sensing device, and design a circuit to read
its state across a reasonable dynamic range (or, if using video,
implement low-level image processing routines).
- Based on an analysis of human interaction capability, design an
appropriate enclosure or mechanism to operate the sensor.
- Design and code a new user interface widget that exploits the
control advantages of the new device.
- Carry out a simple experiment to compare user performance with the
new device against user performance with a mouse.
- Skills required:
- Some knowledge of electronics (either analog or digital, depending
on sensor chosen), and mechanical construction ability.
- Experience of driver programming is not required, but would be an
advantage.
- Resources:
- General purpose USB interface board (will be obtained from CU
Engineering Department).
- Further background reading:
- The
Griffin PowerMate
(pictured above) is a novel USB interaction device
that has achieved significant commercial success. It offers a good
example of the benefits of a well designed physical interface.
- Nick Collins’ work can be reviewed at the
Sick Lincoln
website.
- One of my recent research publications has analysed the
interactive potential of a variety of
physical devices for use in programming languages,
although based
on a sensing technology (RFID) that will not be used on this
project.
Project 2: Choreographer’s Sketchbook
- Goal:
- Based on an analysis of the information requirements
of contemporary choreography, create an interactive design tool that improves
on the pencil and paper state of the art.
- Description:
- In a recent research project called "Choreography and Cognition",
we worked with leading London choreographer Wayne MacGregor and the
Random Dance Company to create and rehearse a new work called
Ataxia. In the course of this project, we discovered the limitations
faced by choreographers who have no compositional notation software of
the kind that is taken for granted by musicians, screenwriters and
digital artists. This project would create a new design tool that
could replace or augment the paper notebooks currently used by most
choreographers. This would allow choreographers to explore possible
arrangements in time and space, animating the results, and
communicating their intentions to dancers. This is similar to the
national prize-winning project done by Hanna Wallach in 2002 (although
that project was a design tool for use by architects, rather than
choreographers).
- Work programme:
- Define the requirements, reviewing videos of Random Dance company
in performance, and interviewing a leading choreographer (either Wayne
MacGregor, or one of the others involved in the project).
- Specify a set of facilities that provide a new interaction
profile for choreographic activities.
- Implement one or more editors that provide those facilities.
- Evaluate the editors in a series of short usability trials with
choreographers and dancers. Note that this final stage will require
one or two days’ work in London (expenses will be paid).
- Skills required:
- No special technical skills. The complete project can be
implemented in Java, using the Swing graphics toolkits. Basic
knowledge of music and stage production would be useful, but not
essential.
- Resources:
- A suitable laptop for use when evaluating the software. Student’s
own laptop will be most convenient, although it may be possible to
loan a tablet PC if the final application would exploit pen
interaction.
- Video camera for use in evaluation sessions (available from
Rainbow group).
- Further reading:
- The basic analytic principles will be those of Green’s
Cognitive Dimensions of Notations (to be covered in Part II HCI course), and
Engelhardt’s
Language of Graphics.
-
A larger-scale research project that is aiming to create an
Interactive
Choreographic Sketchbook.
- Background information on Wayne MacGregor and Random Dance
Company.
Project 3: ToonlessTalk
- Goal:
- Create a visual programming language that adopts the semantics of
the "programming as video game" system ToonTalk, but in a
metaphor-free 2D representation.
- Description:
- ToonTalk is a radical programming language in which programs are
created by demonstrating required behaviour to a robot in a 3D
videogame world. The underlying computation model is sophisticated (a
concurrent constraint programming paradigm), but hard for computer
scientists to recognize because the presentation is so
unconventional. This project would define the semantics of that model,
and use them to implement a new visual programming language intended
for use by computer scientists. The program editor would be
implemented in Java Swing, and the back-end would store and execute
the resulting program using one of the JVM, .net or ToonTalk execution
models.
- Work programme:
-
Study the ToonTalk product and research papers. It will be possible to
obtain direct assistance from Ken Kahn, author of ToonTalk, who is
currently based in London.
- Define the necessary semantics.
- Design a visual representation for those semantics.
- Implement a graphical editor in Swing for the required
representation. (It may be possible to use a configurable drawing
package such as Visio, or one of the Eclipse components))
- Implement the virtual machine code generation for the back end.
- Briefly compare the usability of the result, for equivalent program specifications implemented in ToonTalk and the ToonlessTalk environments.
- Skills required:
- An interest in programming language semantics (especially
descriptions of concurrency - to be encountered in the Part II course)
will be useful.
- It will be necessary to work with a language virtual machine -
previous experience would be useful, though many Part II students do
manage to learn all they need about JVM or .NET in the course of the
year.
- Resources:
- A copy of the ToonTalk product distribution will be provided.
- All implementation work can be done either in a suitable .net
environment or Java.
- Further reading:
- The commercial support site for
ToonTalk.
- An introduction to the computational model and some publications
describing research
relating to ToonTalk.
- General resources on
visual programming languages.
Click to return to Alan
Blackwell's home page.