Modifiable Software Systems: Smalltalk and HyperCard
Part of the Proceedings of the Seventh Workshop on Live Programming (LIVE 2021).
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.