QotD    "To be or not to be" – Shakespeare
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Evolving User Interfaces From Within Self-supporting Programming Environments
Last updated at 9:14 pm UTC on 2 April 2017
Marcel Taeumel, and Robert Hirschfeld. “Evolving User Interfaces From Within Self-Supporting Programming Environments: Exploring the Project Concept of Squeak/Smalltalk to Bootstrap UIs.” In Proceedings of the Programming Experience Workshop (PX) 2016, 43–59. PX/16. New York, NY, USA: ACM, 2016. http://doi.acm.org/10.1145/2984380.2984386.


It is common practice to create new technologies with the existing ones and eventually replace them. We investigate the domain of user interfaces (UIs) in self-supporting programming environments. The Squeak/Smalltalk programming system has a history of almost 20 years of replacing Smalltalk-80’s model-view-controller (MVC) with Self’s Morphic, a direct manipulation interface. In the course of this transition, we think it is likely that Squeak managed to provide an abstraction for arbitrary UI frameworks, called projects.

In this paper, we describe plain Squeak without its user interface, considering object collaboration, code execution, and extension points in the virtual machine. We implemented a command-line interface, the Squeak Shell, to emphasize the simplicity of adding a new UI to Squeak using this project concept. We believe that self-supporting programming environments can benefit from multiple user interfaces to accommodate a variety of tasks.