The Infinite Layout Machine

The Infinite Layout Machine

During spring 2021 I had the opportunity to participate in one of Tim Rodenbröker’s courses: “Adorable Errors”. I chose to work on generative text-image-compositions which evolved further into an explorative journey on parametric layout design.

This case study was first published on Tim Rodenbröckers website in 2021 as a guest contribution. See the original blog post here.

At its core, the “The Infinite Layout Machine” is a collection of a few Python scripts. I decided to treat the layout as a kit in which every piece represents a particular aspect of the overall design. Such as format and grid, image or text content. Each of these pieces can then be displayed, modified or hidden. The graphical interpretation was done with an application called “DrawBot”. It comes with predefined functions for displaying graphic content, setting text and drawing primitives (rectangle, oval and line). Image and text contents for “The Infinite Layout Machine” are part of the open source online collection of “The Metropolitan Museum of Art”.

One of the most challenging aspects of this project was the preparation of all the small pieces that make up the whole layout. Especially outlining all the functionalities that each component needs to have, raised questions such as “Which functions does a grid need?”. Or have you ever wondered how an image object communicates with the grid it is displayed in? Yep, me neither! I had to find solutions for a few of those questions in the beginning but others were not solved until later into the project.

I am incredibly happy that I have been able to tie up most open questions. More so I was able to realise a complex coding project with quite a few challenges I have not worked on before. There are aspects to “The Infinite Layout Machine” that differ from what I had anticipated.

Especially the idea of generating ready-to-use graphics was a misleading path. Rather than generating final graphics the process of working with “The Infinite Layout Machine” is most comparable to a workflow of making quick sketches – but the sketchbook is nothing physical in this case. I can set up those scripts to let the computer generate me an arbitrary number of layout “sketches“. Given the fact that the computer can change aspects of the layout by altering certain parameters “The Infinite Layout Machine” can create seemingly endless numbers of variations of layouts with the same content. Many of those variations are not aesthetically pleasing and not useable at all. Nonetheless there are variations satisfying the design criterias as well. Those can then be used to create graphics that are based on the generated version.

“The Infinite Layout Machine” is a case study of a workflow that incorporates generative aspects into the sketching phase. For me the idea of a generative sketchbook is most interesting. It can be a reference point for further refining work on a single graphic artwork, as well as automate aspects of a workflow where bigger sets of data need to be processed to graphic output. Designers can focus on curating the generated layouts as more time is available for the creative process rather than spending hours on creating graphics in a very labour-intensive way.

For the future I plan to refactor core aspects of “The Infinite Layout Machine” to make them available as a base for a diverse range of projects. More functions will be implemented giving more dynamic options to display content. In addition to this I am most interested in experimenting even further as I see potential for certain real-life projects in this workflow.