Changes to the Alice 3 IDE Interface – Method Panel Redesign
By Eric Brown

If you have downloaded the latest version of Alice 3.1 (, which was released at the SIGCSE ’13 Conference in Denver earlier this month, you will have noticed several significant changes to the IDE interface.

This next series of blog posts will examine the most significant  of these changes.

Procedures and Functions tab in Alice 3

One of the most dramatic changes is that the methods panel now only has tabs for Procedures and Functions; the Properties panel (which has been part of the Alice interface from the very beginning) has been eliminated.

This change was made for both functional and pedagogical reasons.

Properties tab in Alice 2

The Properties tab in Alice 2 was overloaded, designed to support several different tasks in the interface. Initial values for an object, (color, opacity, vehicle, textures) could be set here as part of setting up the scene.

At the same time, the tiles that represented the properties of the object, could be dragged into a code editor, and depending on the context, would be a method, in which the value of the property could be modified (i.e. changing the opacity of an object), or it would be a function, accessing the current value of the property (is an object visible?)

Functionally,  if the Properties tab allows the user to set the initial values of an objects properties while still in the code editor, the distinction between the code editor and the scene editor is blurred.

More importantly, the ability to drag one tile into the code editor and have it be either a method or a function is confusing and hard to explain pedagogically. What are those tiles, anyway? Why are they sometimes one thing and sometimes another? If Alice is trying to create a visual representation of what is going on in a program, this overloading of meaning creates a cognitive dissonance that is hard to overcome.

Properties Panel, Alice 3 Scene Editor

And so the decision was made to eliminate the Properties tab in Alice 3. Initial values for the property of an object are now set in the Control Panel of  the Scene Editor in Alice 3.

Those procedural methods that allow the programmer to modify the value of a specific property of an object are now found in the Procedures tab of the Code Editor. Those functional methods that allow the programmer to access the current values of a specific property of an object are now found in the Functions tab of the Code Editor.

Both of these tabs also allow the programmer to organize the different procedures and function alphabetically, by category, or by return type (for functions).