Modifiable Software Systems: Smalltalk and HyperCard
Part of the Proceedings of the Seventh Workshop on Live Programming (LIVE 2021).
Abstract
When software doesn’t fully meet the needs of its user, what are the user’s options? For commercial software, the
user can lobby the manufacturer for the feature they need—but the manufacturer may not respond. For open-source
software, the user can fork the repo and add the feature themselves—but this requires becoming a developer on the
platform the app is written in.
But there have been better options in the past history of computing: software platforms that allow users to
inspect the code of their software and modify it in the same environment the software runs in. With these software
platforms, anyone using the application already has all the tooling they need to see how the application works and
modify it. Platforms like this have played a significant role in the advancement of personal computing; can they
do so again? This talk presents two such user-modifiable software systems: Smalltalk and HyperCard. Based on
research into these systems’ origins, properties, and impact, it offers seven insights from them that can be
applied to current and future user-modifiable systems.