Live Object Exploration: Observing and Manipulating Behavior and State of Java Objects — Benjamin Biegel

“When a chef adds an ingredient, he can smell it, programming is not that way” – Chris Granger (in this interview)

Benjamin wants to remove this indirection, and argues that is not the job of the developer but of the IDE creator. The principle idea is to create a live representation of instances of classes of currently implemented classes, enabling users to observe and manipulate classes:


It has to be connected to an existing IDE, because if you are too radical, says Benjamin, you will not get adoption. It is a bit similar to what Bret Victor proposes, but the difference is that what is being visualized is classes, not the real objects they represent. You can change objects on the classes, like fields, with sliders.

You can use this for traditional programming, but Benjamin proposes a few other  cool usage scenarios, like pair programming, use in the class room: you show source code in the lecture, and students can change objects in class, or use for e-learning.

Unfortunately, no preprint 🙁

Update: Benjamin send me a preprint!