The thesis of Philip Tchernavskij (who was master’s thesis student of Clemens Nylandsted Klokmose (member of Malleable Software chatroom) and later did a PhD with Michel Beaudouin-Lafon in Paris).
See also: Designing and Programming Malleable Software - Catalog - Malleable Systems Forum
The contemporary landscape of interactive software operates as a “designer-knows-best” model that gives users very few opportunities to change their software or to make different pieces of software work together as they see fit.
I introduce malleable software as a design vision that reconstructs the goals of tailorable systems with pluralism as a guiding value. Malleable software is made up of interface elements untangled from the closed worlds of apps, which can be developed by different authors and (re-)combined by end users.
Webstrates
Webstrates are mentioned in page 86 of the PDF in reference to the work of Clemens:
This website also serves a very inspirational list of publications.
Co-occurrences and entanglements
Webstrates is followed by the chapter on “co-occurrences and entanglements” that has its conclusions on page 107. Fascinating paper.
Key Takeaways from Chapter 5
Our programming model based on entanglers makes interactions robust to run-time re-combination of UI elements, and enables ongoing adaptation of those interactions by programmers. Its key features each contribute to these qualities:
-
Option distributions targeted with selector queries enable programmers to additively extend components in the whole tree;
-
Co-occurrence descriptions enable programmers to create dynamic components representing temporary ensembles of system elements;
-
Entanglement templates enable programmers to attach interactions to co-occurrences; and
-
The co-occurrence engine creates and destroys interactions in the background as end users re-combine interface elements.
Compared to existing mechanisms for programming interactions, entanglers distribute the process of designing, constructing, enacting, and destroying interactions differently: programmers can design interactions without having to define the concrete elements participating in the interaction, enabling end users to control when and where interactions are in effect. This makes entanglers a suitable low-level idiom for building malleable software.