Empowering Visual Shells Using Visual Language and Object-Oriented Techniques Francesmary Modugno We present a novel approach for a visual shell (direct manipulation interface to a file system) design that combines visual language and object-oriented techniques in order to make the system fully programmable. First, we extend the concept of a concrete, directly manipulable object to all interface objects. Thus, the entire interface becomes an object-oriented visual programming language. Second, we incorporate a Programming by Demonstration system into the interface. This enables non-programmers to construct programs by manipulating representations of file system objects (e.g., files, folders, etc.) directly in the interface. Finally, we introduce a novel, object specific, state-based visual representation language for programs. Programs are static, editable representations of objects and behaviors that closely reflect the object-oriented nature of the interface. By making all interface objects reflect the structure and behavior of the underlying system, and by making all program objects reflect the structure and behavior of the interface objects, PURSUIT presents a single integrated conceptual model of the underlying file system, interface and programs. Key Words: Visual Shell; Visual Language; Object-Oriented; End User Programming; Demonstrational Programming; User Interface.