Martin: What are the opportunities of Coding Systems?
Tim: That’s a beautiful question. First of all, most opportunities are not visible yet. To make use of our favorite metaphor: Coding Systems is our mutual garden, where we grow ideas to see where they get.12
From today’s perspective I think great potential of CS as a design studio could paradoxically emerge from the technology-obsession, the system-blindness and the “fear of missing out” of institutions. I see companies rashly adding complexity to their workflows, while overseeing the emerging fragility: When the amount of nodes in a system grows, the chances of it breaking somewhere increase. As system thinkers, system designers and system teachers I see great opportunities for us to raise awareness for these effects and help institutions and individuals to build solid systems and workflows that convince through clarity and coherence, liveliness and uniqueness, while using the right amount of the right technology.
Furthermore I see a great opportunity for us in visualizing complex systems through Object-Oriented Programming. That’s a coding paradigm we didn’t really work with yet but will hopefully explore in the near future together.
Martin: Please tell me more about Object-Oriented Programming and how it relates to Coding Systems.
Tim: Object Oriented Programming is a programming paradigm that changed how people wrote code in the 1980s (i think). It is based on the idea of separating a program into different closed objects that are connected with each other. To simplify or illustrate this: Instead of reading the code from top to bottom and following the instructions linearly, a program based on objects is a system or a network of pieces of code.
In his book “The Nature of Code”, Daniel Shiffman teaches Object Oriented Programming in a brilliant way by creating systems or swarms of thousands of birds that intelligently keep a certain distance to their neighbors. 3 That’s called flocking. Each of these digital birds is an object with different properties. Actually Object Oriented Programming is a whole world, hard to explain, but very powerful. At the same time I mostly avoid the object oriented paradigm, because it is quite overwhelming. In my teaching, instead, I circle around the fundamentals below OOP, which are also already a system in a sense. I think it is great to use as little tech as possible and as much as necessary. Most of my work is mainly based on functions and rarely based on classes and objects.
Footnotes:
- Maggie Appleton: A brief History and Ethos of the Digital Garden
https://maggieappleton.com/garden-history ↩︎ - “Think like a gardener, not an architect: design beginnings, not endings.”, Brian Eno. Dan Hill writes, “For those that don’t know Eno’s work, he is one of the most important and influential artists, musicians and thinkers of the last half-century. And regarding my opening paragraphs and this desire to pull in culture, it’s worth noting that Brian has also—perhaps implicitly— pursued a sharper, more inventive and informed approach to tech than most, as music often describes the potential of an interplay of technology and culture, just as cities are the product of culture, nature and tech.” https://www.vinnova.se/en/publikationer/mission-oriented-innovation—a-handbook-from-vinnova/ ↩︎
- Daniel Shiffman: The Nature of Code
https://natureofcode.com/ ↩︎
Published on November 4, 2024
Last updated on November 6, 2024
This conversation is an invitation for collective sense-making. Did it spark any ideas or doubts? Do you have additional sources we should look into? Use the comment section to become part of the conversation.