Department or Program

Computer Science

Primary Wellesley Thesis Advisor

Franklyn Turbak

Additional Advisor(s)

Brian Tjaden

Additional Advisor

Eni Mustafaraj


In blocks programming languages, such as MIT App Inventor, programs are built by composing puzzle-shaped fragments on a 2D workspace. Their visual nature makes programming more accessible to novices, but it also has numerous drawbacks. Users must decide where to place blocks on the workspace, and these placements may require the reorganization of other blocks. Block representations are less space efficient than their textual equivalents. Finally, the fundamental 2D nature of the blocks workspace makes it more challenging to search and navigate than the traditional linear workflow. Because of these barriers, users have difficulty creating and navigating complex programs.

In order to address these drawbacks, I have developed Folders, a visual organization system, for App Inventor. Folders, which are modeled after the hierarchical desktop metaphor folders, allow users to nest blocks within them, and solve many of the aforementioned problems. First, users can use Folders, rather than spatial closeness, to place and organize blocks, thereby explicitly indicating a relationship between them. Second, Folders allow users to selectively hide and show particular groups of blocks and address the issue of limited visible space. Lastly, users are already familiar with the folder metaphor from other applications, so their introduction does not complicate App Inventor.

Unfortunately, Folders also introduce new obstacles. Users might expect that putting blocks into Folders removes them from the main workspace semantically. However, Folders are only for organizing blocks and decluttering the workspace, and their contained blocks are still considered part of the main workspace. Furthermore, Folders exacerbate the search and navigation problem. Since blocks can now be hidden in collapsed Folders, finding a usage or declaration of a variable, procedure, or component can be more difficult. I have received preliminary feedback on my initial implementation of Folders and am designing a user study to evaluate my Folders system.