We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language di ers from existing visual languages because it explicitly represents data objects and implicitly represents operations by c hanges in data objects. The system was designed to provide non-programmers with programming support for common, repetitive tasks and incorporates some principles of cognition to assist these users in learning to use it. With this in mind, we analyzed the language and its editor along cognitive dimensions. The assessment p r o vided insight into both strengths and weaknesses of the system, prompting a numberofdesign changes. This demonstrates how useful such an analysis can be.