MAS 962 Project Proposal
Maria S. Redin
msredin@mit.edu

The computer is perhaps the most powerful machine man has invented. Its strength comes from the amazing flexibility to be programmed to perform almost any given task. The concept for programming is really very simple. Data structures that fit the problem to be solved are created. They are filled with the relevant information and then applied to them is a recipe of steps that theoretically solves the given problem. This simple enough idea often confuses many people because the mental model they have built often times needs to be translated to arcane languages. They are bogged down on details of syntax and representation. The power of the computer slides out of reach because of the cumbersome task of interpretation.

The programming idea is not foreign to people and their everyday lives, yet the current interfaces often muddle this "bigger picture". It is only that the intrinsic spatial and temporal aspects of programming are not well represented when we try to actually write a program. We write the solutions we have already thought of, into a keyboard to a compiler because the representations that humans have and the ones computers need are not too similar. Therefore, the whole aspect of finding the solution is done in our head and not aided, as much as it could, by the computer.

I want create a new programming environment where one is be able to bring the different data structures and their management out onto a common space where both the user and the computer can see and manipulate them. In this manner, the computer and the user both see the same idea and less of a translation "leap" is needed. The common area then becomes not only a workbench for finding the solutions but it is also the new input device.

By the end of the term, I would like to create a simple demo of the environment where a simple program can be written. As per industry standards, the "Hello World" would be the first one to be attempted. A program in such an environment would be written by instantiating all the elements needed in the common space and recording each step of the handling of these elements. For the actual implementation, I hope to use Professor Ishii's active desk as the common area. Much of the needed infrastructure, such as object recognition and the associating of certain behaviors with a particular object, is already in place. So it should be lots of fun.