PressingA Pressure-sensitive Interpreter with Visual Feedbacks
Pressing is a pressure-sensitive programming environment with visual feedbacks of the built-in 2D physical simulator. It runs on a PC with a practical pressure-sensitive keyboard developed by Microsoft Applied Science Group.
This work was presented at UIST 2009 Student Innovation Contest with a flyer.
When the programmer runs the software, a vacant screen appears with a text box. He can start typing immediately and there is no program compilation; The programming experience is completely live and direct.
For example, when he types
new Ball() and hits the enter key, a ball apears on the screen. The size of the ball is defined according to how strong the class name Ball is typed.
There are several interesting predefined classes. For instance, these two sentences will bind the ball instance to a variable b and its track will be painted with a red brush. The brush width is defined by how strong Brush is typed.
b = new Ball(); b.pen(new Brush(255,0,0));
The programmer can interact with the instantiated ball objects not only by writing code,
World.setGravity(0, 0.98); b.setSpeed(100);
but also by directly touching them using a mouse cursor. This environment is equipped with a two-dimensional physics simulator and thus provides natural interaction experience.
The IDE contains a two-dimensional virtual world equipped with a Box2D-based physics simulator and provides interesting APIs to interact with the virtual world. Examples are shown below in the figure.