My latest paper about Gamut will be presented at CHI this year in May. The postscript version of this paper is available here as well as an abstract. I have also presented a paper at the International Conference on Intelligent User Interfaces (IUI'98). The postscript version of this paper is available and so is the abstract. The CHI paper talks mostly about the interaction techniques in Gamut whereas the IUI paper is concerned more with the inferencing algorithms.
A shorter paper which summarizes the user interface aspects of the work was accepted by the AAAI Spring Symposium is also available. Gamut was also presented at the CHI'96 Doctoral Consortium and demonstrated at The Symposium For User Interface Software and Technology (UIST'97) both of which included small two-page papers.
I have also done other research in programming by demonstration. One of my earlier tools is Marquise which Brad Myers and I worked on together. Marquise was written for the Garnet system and layed much of the ground work for later creating Gamut which is a much more sophisticated system.
In theory, you can download and play with Gamut yourself. The source code is available in the table below. One selection contains the entire source of Gamut which can be compiled on both Unix and Windows platforms. The other zip file contains a binary file for the Windows version which ought to run on both Windows 95 and NT. To uncompress the files for the PC, you will need the winzip application. If you compile Gamut for yourself, you can find the Makefile information in the directory amulet\bin\. To build Gamut, I used Visual C/C++ and the needed project files should be in the bin directory. To run Gamut, you can drag out the exe file onto your desktop and set the shortcut properties to point to the correct directory. The "Start in:" directory should be named amulet\samples\gamut (not amulet\bin). You will also need to create an environment variable named AMULET_DIR with the value c:\amulet. The binary version contains three directories and no source code. It also provides a set of test and sample .gam files that I created using the system. Most of these "games" were used for debugging so they are not really worth playing. Consult the manuals for your system to see how this is done. Note that Gamut is a prototype system which I am creating only to prove the points in my thesis. It does not come with a manual or any support.
I have also done work for the Amulet project including writing a new object and constraint system which constitutes the object system for all of Amulet. In this system, our group experimented with the ability to incorporate multiple constraint systems into a single object system. In Amulet, we now have three kinds of constraints that can run simultaneously: a normal one-way constraint system based on the constraint system or Garnet; a multi-way constraint system that can produce values for multiple object variables at once; and a animation constraint system which can interpolate values smoothly to provide animated effects. The animation constraint system was presented in a paper at UIST'96 and is available here.
Thesis |
by Richard G. McDaniel |
|
Gamut:
|