webdevelopment: Alain Brusch

Follet was not the only one to argue that science and design alone do not have the power to create something beautiful; but as soon as the two converge converge, beautiful things start to happen. Hertzmann argues that "new technologies benefit art and artists, creating new tools and modes of expression, and new styles of expression. Sadly, art and science are often viewed as being separate, or, even, in opposition" (2018). Catmull and Wallace stated that: "Art challenges technology, technology inspires art" (2014). Science created a massive pool of assets which we, as designers and developers, can leverage in our work – be it in a mathematical or physical function as seen in the Mustermesse tool with the spiral or with the organic liquid like examples. We also see ties to science that replicate nature in mathematical and physical formulas, which we can use to put ideas and inspiration from nature into computational parameters. From Follet (2018) and Paone (2019), we learned how nature inspires us in various forms, be it shape, material or movement. To conclude and revert to the defined research questions: RQ1: What are the possibilities of integrating creative coding into the Enwurfsphase of the design process? The identified possibilities allow us to explore the possibilities that allow for the unexpected to happen by targeting a more direct engagement with these machines. Programming allows us to break free from the constraints of existing tools. Additionally, working with code enables us to document and archive the process quickly; we can directly write our comments into the code for understanding, explanation or annotation. Live coding also improves the efficiency of the iterative process not only in economic terms but also in the broadness of unexpected outcomes. This process also allows for our visual knowledge and visual archive (e.g. lines of code, variations of codes) of sketches and algorithms to expand. It can then be used in any combination ranging from form, images, type, video, shape or even 3D object manipulation.

Also it is good to step back and let things sink in our consciousness for a while. During the process working with code is a resourceful way; there is no time needed to build up a set-up, one must simply run the code. However, to achieve a sound result, the process needs to contain a balance between experimentation and conscious evaluation. It makes sense to use variables with interactions, GUI elements and data such as music frequency inputs that trigger or allow for shifts between a range of values to happen. Parameters work great within a defined system that generates optimal variation within a given set of constraints. While these can be semifixed, i.e. within a defined boundary or field of variations, they can still be adjusted when necessary (McWilliams and Reas, 2010, p. 107). Compared to using only randomized numbers, a parametric system can be controlled to determine the final outcome and to quantify and encode the designer's preference on certain outcomes of the system. Time plays the essential role of making things move in programming by applying it to functions, hence I used time as a means for shaping, bending and animation. Creating one's own shaping functions, adjusting what is already available through open-source libraries, as well as utilizing pre-existing shapes through science allows us to create our own "recipes and ingredients" of code, which add value to the process and designs. Reverse engineering techniques provide a setting, where one can not only learn and grow but also challenge a standing concept or design in its status quo state, thereby tackling the design process from a different angle resulting in another perspective. RQ2: What are beneficial technical pre-requisites to integrate creative coding into our design process? The identified prerequisites comprise the aspects referred to in the technical set-up & prerequisites chapter seem inevitable in providing a fruitful framework which enables not only efficiency but good control of the designs. Understanding how programming languages work enables us to better learn by way of reverse engineering. The better the level of programming the easier results are achieved or exploited, given the proposed method and techniques.

Since the technical set-up presented in this thesis allows designers to work online as well as offline, one is location-wise independent. REPL mode, as a live coding environment eases the process of learning, as it indicates errors and allows the user to immediately observe visual productions. Based on the principles of time, one can design with motion and constantly moving elements. Results can be saved and stored and thereby archived and revisited at any given moment. Graphic shaders, also deemed to be a digital representation of the Gutenberg press, enable us to transform pixels by numerical means at the utmost efficiency. Because they execute all tasks synchronically, one can achieve a vast amount of variations within a short amount of time when combining them with smart and powerful usage of shaping functions and trigonometries. GUI elements facilitate further exploitation by way of a graphical user interface within a defined design system and digital setting – giving the user more control. Of course there are underlying factors which are hard to measure but influence the way we design and make decisions in the design process. There are certain decision suggestive criteria that could help the process. There are also other influences, such as life experiences, personality traits and also semantic aspects that influence the process as well. An interesting concept to think about is that we as human beings are in control of the algorithm, and since we all make mistakes, the unexpected, or happy accidents are inevitable. Mistakes in history also lead to some great unexpected outcomes for example the x-ray, or photography. Mistakes encourage surprises to occur; when mistakes happen, so also in the process, they should be embraced. Here, reverse engineering can assist in a free and intuitive setting and also encourages the unexpected to happen. The Process of using this proposed method demonstrates how one can act and react with words (code) to the visual, the image. Such a process is necessary in order to change the image. However, it is a consistent and infinite ping-pong interplay between word and image since design occurs within this REPL live environment. Designers try to communicate a particular message according to parameters and a given task. I believe that when something feels right, then, there must be something to it. If we observe and compare carefully, the visual stimuli does something to us. As soon something happens when we look at imagery, it encourages at least one right direction of pursuit; maybe not only for this project but for a future purpose; thus ideas ought to be archived. The project demonstrates how the process of generating variations by way of an iterative process can be used to develop visual evidence for a comparative analysis not only in the realm of programming but in between computer sciences and visual communication.