The future of architects’ digital records: how to preserve algorithmic design?

Recently architects and archivists started to consider solutions for the digitization of architectural records and conservation of born-digital files. Documenting, organizing, cataloguing, archiving, preserving and accessing files are essential tasks to preserve architects’ digital records. With the increasing quantity of algorithmic design another aspect of the digital design must be on architects’ agenda: the memory of the design process. This paper emphasises the importance of preserving digital architecture records in accessible and sustainable formats for the generations to come. This paper demonstrates a strategy to document visual programming algorithm files allowing to archive, study, interpret or replicate them.


INTRODUCTION
In the pre-digital era the architectural draft was performed analogically by hand-drawing and later by printing. In these cases, the storage and the preservation of work produced on paper represents a massive challenge (Olsberg, 1996;Armstrong, 2006;Moussavi, 2017), because of the fragility of paper and the demand of adequate storage space and conditions. However, this is somehow facilitated in comparison to preservation of digital files (Scott, 2010), which might require less space for storage, but its accessibility is a challenge. Rothenberg (1999) states "our digital documents are far more fragile than paper" due to accessibility of files and fast changes on technologies. In the last years architectural design plans have not been necessarily printed anymore, some are sent directly to fabrication (Schreurs, 2015), or as it is called file-to-factory. Digitization reached an unprecedented level in architecture and urban design in the last decade.
Since the 90's architects, curators, archivists and database practitioners are seeking solutions for archiving, and building databases (Waterton, 2010). Archivists concerned with the digitization of architectural records, and simultaneously, with the conservation of born-digital files (Armstrong, 2006;Moussavi, 2017), are documenting, organizing, cataloguing, archiving preserving and making files accessible. This information is stored in databases, repositories or archives, which are "are made of textual data and material things [… such as architectural models and plans] as well as higher orders of information called 'metadata'" (Waterton, 2010). More and more documents are born-digital and its format obsolescence is a crescent concern amongst archivists.
Progressively, off-the-shelf or digital solutions are implemented for archiving.
The preservation of digital design files as if it is a version of an analogical file -a final product of the design process -is not practical when it comes to algorithmic design. An increasing number of architects are adopting tools for coding, scripting and computing architecture. In these cases, the preservation of the design process has a major importance, since the memory of the design intelligence is present in the algorithm, something that was less accessible on analogic design. In addition, the algorithm contains precious knowledge of design solutions that are highly reusable and easily shareable. Rothenberg (1999) and Harvey (2005) report the massive quantity of digital files -knowledge -that is not accessible any longer, from various fields: health, politics, finance, and so on. It seems that digital architecture is walking the same path. The need of preserving digital design records can help, for instance, the diversification and standardization of design solutions, assist the collaboration by sharing complete algorithms or its parts, make the identification of design methods and technologies. Understanding this demand, UNESCO created in 2003 a manual with guidelines for preserving digital heritage considering the wide range of types of digital files and recommending that strategies for conservation need to be implemented. This document is very broad but does not consider the specificities of algorithmic design.
The design process has ephemeral and permanent elements to be conserved, this needs a better understanding from the architects by the point of view of  (Olsberg, 1996).
Architectural Design ephemeral products include communication documents, drawings and drafts, and models. Some of these products and generative processes can tell the design methods, tools, and strategies, making them valuable for historical documentation. Here archivists can help architects to distinguish what needs to be preserved or put aside. Seven guidelines for conservation of architectural records in a repository are proposed by Olsberg (1996) and summarised as follows: the repositories establish hierarchies of records; the works of important architects should be preserved in its totality; the project is the main element of analysis and selection; architecture publications and other media deserve storage; need to preserve architecture cultural forces; acknowledge the properties of certain records as manifestations of architectural language; involve the research community on the creation of the archive. It is important to update these guidelines by adding that algorithmic design solutions need preservation tools for architectural, scientific, and historical purposes.

AIM
The creation of digital data of architectural heritage and consequently its preservation is a challenge, but it is in advanced stages, i.e., Wilson et. al. (2013), Al-Attili and Robles (2007), Yeo et. al. (2003), Oh, Tanaka and Sasada (2005). The architectural heritage files created from point clouds, laser scanning and other tools, are static entities and represent the final architectural product. On the other hand, the preservation of algorithmic digital design still needs to be incorporated on architects' agenda. This paper focuses on a strategy to preserve algorithmic design and create metadata that allow the preservation and accessibility of visual programming algorithm files allowing to archive, study, interpret or replicate them.
New design methods, generative processes, algorithmic thinking and digital fabrication are the ultimate innovations on architectural design. The digitization of architecture requires attention for the conservation of these novelties for present and future generations. This paper emphasises the importance of preserving digital architecture records, specific algorithmic design / visual programming, in accessible and sustainable formats for the generations to come. According to Mitchell (1996) "developing strategies to deal with these issues is essential to the survival of architectural records created in the late-twentieth century and future generations".

PRESERVING ALGORITHMS
First, it is important to understand that preservation of digital materials is imperative (Harvey, 2005;UNESCO, 2003) for scientific, economic and cultural reasons. The preservation of architecture technological development and architecture memory in form of digital files poses many challenges for archivists, historians, architects and curators (Armstrong, 2006). The quantity, fragility and ephemerality of digital architectural documents needs to be tackled by using different archiving strategies for each type of file. Moreover, architects need to plan how to protect and preserve their own work, as stated by Harvey (2005) "[r]esponsibility for the preservation of these digital materials must be shared among creators and users of digital information, and not remain solely the concern of librarians and archivist".
Factors influencing the preservation of digital architecture files are: -Conservation of digital architecture records (Mitchell, 1996;Dritsas and Yeo, 2013). An algorithmic architecture product is a geometrical and mathematical transformation process -the technical drawings, 3D models, codes, scripts and algorithms must be archived and preserved to document the design process intelligence and the architects' production; -Software updates, discontinuity and interoperability (Hodge and Frangakis, 2004;UNESCO, 2003). Fast software updates might transform files into irretrievable and inaccessible digital objects (Olsberg, 1996;Harvey, 2005). Favourably, architects have a common shared file format, the DWG, which can be almost universally open. Saving final designs as DWG is not enough to preserve the design process memory, other formats (JPG, TXT, PDF) must be used to assure the readability of documents; -Low price of computer memory, ubiquitous computation power (Mitchell, 1996), and recently, cloud storage systems. These aspects facilitate the archive of more information, many versions (iterations, duplicates, alternatives) of the same project are stored. Sharing and collaborating functions are expanded in these new storage systems. Solutions for technical archiving, such as metadata, must be implemented as well; -Reconstruction, restoration and renovation of buildings (Carey, 1996;Dritsas and Yeo, 2013). Constructions and materials have a life-span; buildings need to be constantly renovated, upgraded and transformed. To renovate a building -digitally designed and fabricated with CNC (Computer Numerical Controlled) machines or 3D printers -will demand access to digital files and identical/similar machinery to produce the same parts; -High reusability of algorithmic design documents. This is a characteristic of computational design. Codes or parts of codes can be reused, combined, or transformed, and this attitude is encouraged. Reusing algorithms represents an opportunity to innovate.
The preservation of the design intelligence developed during the design process is necessary. This will promote the design evolution by means of transformation, reuse and experimentation on new projects. This research presents preliminary findings on preserving architecture digital records, precisely algorithmic design. Ideas of preserving digital files in architecture started in the 90's (Mitchell, 1996), although with no focus on algorithmic design. One outcome of this research is to allow designers the possibility of accessing their own files in the future.
The software Grasshopper was released in 2007 and incorporated on Rhinoceros in 2008, a quite young tool for architecture and urban design. Grasshopper algorithms encompass knowledge from geometry, physics and mathematics, knowledge about contemporary architecture design methods, scientific research, and other important aspects of computing architecture. The rich technical, scientific and cultural knowledge produced using Grasshopper require preservation according to UNESCO's (2003) guidelines.

MATERIAL AND METHODS
For this research, Grasshopper (Version 08.2014 -Build 0.9.0076) was selected as case study. Grasshopper generates algorithms using visual programming; although textual programming can be used as well. The software has components (add-ons) with specific functionalities, which internal code is 'invisible' to the designer. Ultimately, the designer does not write this part of the code, but combines components by connecting them. It is considered easy to program. but highly complex.
Grasshopper has become one the most popular solutions for algorithmic design. The applications of Grasshopper in design reach a wide range of scales: jewellery, toys, furniture, building parts, architecture, landscape and urban design. Countless algorithmic solutions are being produced by designers, architects, engineers using Grasshopper; this can favour possible collaboration and exchange of files, which means exchange of knowledge. Ultimately, the Grasshopper Forum is the prevailing platform to consult solutions and obtain collaborative information. The Forum is used as an example to illustrate the issues of accessing old files.
Employing an exploratory strategy, we simulated the preservation of part of a code to understand Grasshopper strengths and limitations regarding algorithm memory.

RESEARCH
In 2015 the architect Pieter Schreurs (architect at ONL -Netherlands) described the digital fabrication of the building A2 Cockpit: "We had to set up a complete chain from the design to the production facility […,] we directly generate the information for CNC cutting machines to produce all the steel lengths and nodes" (Schreurs, 2015). More than 10.000 elements were produced in this fashion (Figure 1). Not a single drawing was printed in paper for execution, except for assembling instructions. Imagining that in 50 years one element is damaged or need replacement. How to proceed?
In a pre-digital era, an architect would check blueprints for specifications and a contractor would reproduce the missing element. According to Scheurer (2012) "architectural design is a process of developing, describing and communicating ideas and of generating, transforming and exchanging information -over different media and between numerous involved parties". The documentation plays a key role in this process. In a design like the A2 Cockpit the architects would have to access the files, locate the element and send it to a CNC machine, maybe recreating part of the code (commands for the machine). If the file is incompatible with the software version and there are no metadata records, this task would be too complex and exhaustive.
The design process intelligence, which needs to be preserved, exemplifies the complexity of archiving borndigital designs. The 3D model (a flexible entity), the generative algorithm (usually parametric), and the fabrication code have all the same importance; the building cannot be conceived without the design process. Nevertheless, the algorithm must be represented and preserved free of constraints and particularities that each software poses. Another situation that occurs is when opening an old file, components are missing (Figure 3). Clearly a file produced in one computer might not be compatible to other computers, if the corresponding components (addons) are not installed. The file opens incomplete and it is difficult to reconstruct the algorithm structure and connections. If the missing components are identified, the same version of the components needs to be installed. This is facilitated by the Food4Rhino platform; previous versions of components are stored and can be downloaded individually.  As observed by Rothenberg (1999): "In addition to having complex structure, many documents embed special information that is meaningful only to the software that created them". Supposedly, the architect would have to keep archived together with the algorithm, all the components (add-ons) that were used to build the code together with the Grasshopper version, which is impractical. On the next section, a strategy to preserve Grasshopper algorithms is proposed.

GRASSHOPPER METADATA
The Grasshopper Forum, a platform to discuss algorithmic design, is full of solutions, although some are comprehensible only for advanced users. When it comes to algorithms combining visual and textual programming it is practically impossible to recreate the code without the textual part.
Users frequently have problems to identify components and add-ons. Grasshopper offers two possibilities to display components, by its full name (Figure 4 A), its short name (Figure 4 B) or by its drawn icons (Figure 4 C). Overall, having a high-resolution export of the code is helpful, for instance, if one needs to reconstruct the code of Figure 3. However, the complexity of the algorithm is usually high, compiling many connections (wires) and combination of components. Therefore, the organization of the canvas is challenging, but must be a routine during the design process.
Grasshopper allows to save the file as XML (text format); the Figure 4 code has eight components, and its XML file contains 1.039 lines of text. The lines bellow represent the component "Area", which can then inform a design intelligence map of its order and connections.
<item name="Description" type_name="gh_string" type_code="10">Solve area properties for breps, meshes and planar closed curves.</item> In this case the text format can potentially be used to recreate the algorithm in other formats.
For archiving routines, according to Hillyard (2018), the attributes of a digital object are called primary metadata, which is composed by: file's name, extension, type, format, size, dimensions, resolution, date/time of creation, author, editor, geo-location. These attributes are usually generated automatically and complemented by secondary metadata, which are created by a person or owner about the file: description, ID's, local folder address, legal status, copyright, audit information, referencing information. These two types of metadata are the very basic information for archiving a digital file.  Grasshopper has the option to define the document properties (File>Document Properties), which is a very important feature for archiving. Therefore, the creation of metadata on Grasshopper is possible, although limited by the number of fields that the designer can fill ( Figure 5). The visualization of the name of the file and the date/time it was saved is automatic. The designer has three fields to inform the metadata: the copyright, the description and add revisions. The metadata is helpful to recover main attribution features, preserve the authorship and conveys the essential information about the file. Essentially, the metadata is vital for creating accessible digital archives.
The metadata fields suggested for a Grasshopper file are: Based on the available solutions and possibilities of creating metadata for Grasshopper, our recommendation for archiving an algorithmic design produced on Grasshopper is a four step process ( Figure 6): (1) save textual parts of the code separately -VB, C# and Python scripting need to be archived as well; (2) create the metadata with the primary and secondary information suggested before; (3) export the code as a high resolution image using the components short name -this facilitates when it comes to find the same component in case of recreate the code; (4) create a folder with the pertinent files.

DISCUSSION
In this paper we emphasize the importance of preserving digital design processes, specifically visual programming algorithms using Grasshopper. This is necessary not only for sharing and collaboration, which can lead to more advanced architectural solutions, but for historical purposes. This study is produced by architects and urban designers, therefore has limitations, for instance, a more comprehensive view on computational tools for saving and converting algorithms is necessary. The research needs to incorporate strategies and regulations of archivists.
The National Archives Digital Strategy (Hillyard, 2018) works with four approaches for digital archives to provide values to users: (a) preserve, secure records and storage; (b) contextualize, have information about the creation of files; (c) present, users have ways to visualize files; and (d) enable to use, allow research and discovery. These strategies can be applied for architectural records as well. This research is now on the preservation level, which means that we need to investigate how to better contextualize the information of digital design. Rothenberg (1999) affirms that the standardization and migration of files are not the answer for conserving digital files. Therefore, standard solutions for different software might not be effective, but can lead to smart solutions. This research aspires to create awareness about the need of preserving algorithms and appeal to Grasshopper to implement a textual version of the code to facilitate data archaeology. The possibilities of migration of Grasshopper files are too limited or non-existent. The preservation depends solely on designers using Grasshopper.
The Forum is not a definitive solution for sharing and collaboration and a more stable and trustful platforms,  such as an open source repository, might be the answer.
With the further development of this research other solutions will be considered merging different types of files produced by architects.
One challenge of this study is not having digital automated tools to create metadata. Already on the 90's some researchers started to consider possibilities of preserving digital architecture, however, it seems that there is no compulsion from contemporary architects to preserve their algorithmic works, when it is clear the fragility of the Grasshopper codes. The transition of Grasshopper to the new version of Rhinoceros 6 can generate more complications for code preservation, which is going to be studied on next phases of the research.

CONCLUSION
This paper studies the available solutions for creation of metadata of architecture digital records, specifically visual programming. In addition, it presents a strategy for documenting architectural and urban design algorithms as a result of a preliminary research on two aspects of computational design: (a) the organization, cataloguing, conservation, and the accessibility of digital documents; and (b) the design intelligence developed for algorithmic and parametric models. Algorithmic design is producing valuable architectural knowledge and because of its fragility this knowledge might be easily lost. The adoption of the proposed UNESCO´s recommendations to build this initial strategy showed to be insufficient for documenting algorithmic design. Although the recommendation assists on the documenting systematic, it is possible to verify that the code is still restrict to the software, to the specific knowledge of programming language and to the constant need of updates. Moreover, it does not consider the elaboration of a design intelligence map, the different input data and the diverse results that the system can generate. Therefore, the recognition of the limitations of UNESCO's guidelines contributes to direct the development of new strategies for preserving architect´s digital records, which should be capable of filling the identified gaps.