Malleable systems analogies

I propose this new light thread to share analogies of malleable computing systems. I think we can learn a lot from how other systems in our life work and what we like and dislike from them. Here I will propose a template for analogies. Then I will propose my first analogy: cooking.

Template

  • What the other system is
  • What you like and dislike
  • How is it malleable in regards to our 7 criteria
    1. Software must be as easy to change as it is to use it
    2. All layers, from the user interface through functionality to the data within, must support arbitrary recombination and reuse in new environments
    3. Tools should strive to be easy to begin working with but still have lots of open-ended potential
    4. People of all experience levels must be able to retain ownership and control
    5. Recombined workflows and experiences must be freely sharable with others
    6. Modifying a system should happen in the context of use, rather than through some separate development toolchain and skill set
    7. Computing should be a thoughtfully crafted, fun, and empowering experience
  • What should malleable computing systems take away from this one

Cooking as a malleable system

I want computing to feel like cooking.

What I like about it

I like cooking. I like how it is built on top of chemical and physical reactions, but i don’t necessarily have to have a deep understanding of chemistry or physics to cook. It definitely helps to understand the chemistry, but it is not required. With cooking i feel like there is such a thing as a cooking reaction. A kind of abstraction over chemistry that one learns when learning to cook. Eggs get hard the more you cook them. I know that underneath there is a chemical reaction, yet all i need to cook eggs is an understanding of the cooking reaction.

How is it malleable

  1. Once you learn the basics, it is possible to change a recipe on the fly as you are cooking it.
  2. Cooking allows somewhat recombination of its different layers: you can replace eggs with flax, spices with other spices.
  3. Tools and recipe are definitly easy to begin working with but can be mastered.
  4. People of all experiences can cook, deciding on the spot what is made from scratch and what is made from prepared ingredients.
  5. Recipes can be freely shared with others.
  6. Modifiying what you cook does not depend on another skill set.
  7. Cooking is a fun and empowering experience.

Takeaways

Recipes are loose algorithms, you can follow them or improvise with them. Ingredients are late-binded with what’s available in your pantry. Ingredients may play different roles. The style is modifiable with spices. Prepared food exists to delegate the creation when you don’t have time, money, skills or want.

I think we need recipes. Something easily shareable and that’s easy to change. A sequence of loose steps that one can modify while executing them. I also think that late-binding, as seen with ingredients, is a good idea. It seems here that ingredients as a medium, along with the nice abstraction that is cooking reactions (as opposed to chemical reactions) is what makes this possible. What could be the ingredients and reactions of computing?

(Sorry for my english, i hope it’s not too bad)

5 Likes