Prof Fred Brooks

Attack on Virtual Reality Challenges

Two scientific questions demand the attention of the serious researcher in synthetic environments:

  1. Can we make systems that immerse the user in virtual worlds that (as Ivan Sutherland specified in 1965): look real, sound real, feel real, and behave properly as the user interacts with them?
  2. If we can, so what? What worthy tasks can the user of such tools accomplish? Why should a computer scientist consider this as a field for serious research?

At the University of North Carolina at Chapel Hill, we are tackling each of the key technical problems: faster image generation; wider-range low-lag tracking; high-resolution see-through head-mounted displays; better devices and paradigms for interaction with the world; model-engineering techniques; and ways of measuring "presence".

So what? We are testing the usefulness of virtual-worlds techniques in a variety of applications: telecollaboration; image+ultrasound visualization;structural design walkthroughs; and nanomanipulation. We argue that IA > AI (intelligence amplification is better than artificial intelligence.) We argue that building mind-machine synergistic systems is a central concern for computer scientists, and that an intimate interface between mind and machine is crucial.

Bill Gaver

Ludic Information Appliances

As digital technology pervades our everyday lives, it threatens to carry along values from the workplace at the expense of other opportunities. Working from an artist-designer approach, we have investigated new possibilities for the aesthetics, functionality, and cultural roles of digital technologies. In this talk, I discuss some of these possibilities, from new forms of electronic furniture deployed in a dangerous housing estate in the Netherlands to a series of concept proposals for information appliances that support ambiguity, intimacy, insight, and wonder. Overall, my intention is to open a space for thinking about how technologies might be used outside of work.

Rustan Leino

Extended Static Checking for Java

The Extended Static Checker for Java (ESC/Java) is a programming tool for finding, at compile-time, common programming errors that usually are not found until run-time, and sometimes not even then. The tool is powered by program verification technology, but feels to a user more like a type checker. To use it, a programmer annotates the program with simple specifications.

In this talk, I will give an overview of the system, give a short demo, discuss our experience in using the checker on real Java programs, and touch on some future directions.