In this following section, we’ll highlight key findings from the research that emerged within each collaboration. Each section describes the finding, then follows with details from the first-person research or collaboration that supports the finding.
4.1 The Alchemy of Weavers
Through our first person experiences, informal interactions with weavers, and close collaborations, we came to understand the processes, techniques, and approaches weavers take to the craft are highly individual to a degree that we began describing it as a personal "alchemy" for deriving structures, selecting materials, and realizing them on the equipment to create cloth that was more than the sum of its parts. Through conversation, we saw this alchemy to be emergent on the conventions of weaving within which they learned, the equipment and tools to which they had access, and more personal styles of thinking through diagrams, written notes, or playing with materials.
As someone who studied computer science and was familiar with tools like Grasshopper and MaxMSP, I (Devendorf) always tended to approach weaving as a computer scientist, thinking of structures in terms of their algorithmic relationships. Before AdaCAD 1.0, I would program woven structures in Excel or Processing, yet, when developing AdaCAD, I defaulted to a direct design paradigm I had seen in other weaving tools. It was not until two expert weavers, Vibeke Vestby and Belinda Rose, showed me a tool called Proweave for playfully making drafts by dragging and dropping graphic and draft components on each other that I began to think of this “computational” approach as a method to center the playfulness and need for documentation we discovered in AdaCAD 1.0. The decision to push towards a parametric approach suited interdisciplinary weavers who were approaching weaving from the perspective of a fabrication system and may have used tools like Grasshopper in fabrication labs. Some weavers sent me messages about the software and what they made with it, such as one who suggested that “As I studied mechanical engineering before and started studying textile design, I had many frustrations [with textile design]...from your lecture I thought I could be a middle person who can improve communication between textile and engineering” and “AdaCAD is nice because even [a] beginner like me also can make patterns easily, after short instructions.” Despite self identifying as a beginner, this person shared the outcome of her AdaCAD file and weaving which is a quite geometrically double layered textile with openings across the edge (Figure
8). This communication was heartening as it suggested potential for the software to reach others negotiating their position between engineering and textiles, as well their ability to meaningfully adapt it into their process without my direct involvement.
Presenting AdaCAD to collaborators Kathryn, Marianne, and Etta revealed more challenges negotiating their backgrounds in weaving with AdaCAD 3.0. This emerged most notably with Etta, who found that AdaCAD did not support the drafting style for the loom she most commonly used, a direct-tie loom. Because I had developed the software for use on floor looms and jacquard looms (both looms to which I had access), I was unaware of the different conventions required by direct-tie looms. Where jacquard looms support complexity and non-repeating patterns by making every warp thread in a weave individually controllable, harness looms require different sets of warps (threaded into harnesses) to operate together. This creates an interesting "algebra" [
38] whereby a weaver can create different patterns among threading harnesses and then use software to simulate all the different possible outcome patterns with that threading. Often this works in a back and forth, where a weaver desires a pattern of a particular type, uses that to create a threading, then plays within the bounds of the threading map, often moving between the loom and the draft in response to the material results. In this sense, harness loom weave drafting is inherently parametric and the process of hand computing the frames and possible outcomes can be quite joyful, or even, a way that one comes to understand the relationships between structure and draft on a deeper level.
The inherent generativity of harness loom drafting created a tension with the parametric framing of AdaCAD, which asks users to design structures first (and then can automatically generate the harness threading required to achieve them). This was most emphasized in the “blank space” presented to Etta by AdaCAD when it loaded: “I still felt intimidated and unsure of where to start within the blank workspace when confronted with it on my own. Since I do much of my drafting by hand (without much background in engineering), I found navigating the tools and parametric workflow to require some play and practice before it started to feel like a comfortable and generative tool.” Implementing software required to support Etta and drafting for direct-tie looms required a large rethinking and reworking of the underlying code base of AdaCAD. These changes were programatically complex, but when they were implemented, Etta found herself better able to make use of the tool. In this instance, our collaboration revealed a moment where the first-person design approach implicitly privileged the first-person’s equipment, resources, and personal "alchemy" in its design. Working collaborative with E, then, helped expand my knowledge of different looms and their associated drafting styles as more than just abstractions of woven cloth, but fundamental, generative, and already parametric systems of thinking and planning woven structure design.
A similar challenge emerged with Kathryn whose woven knowledge emerged through Scandinavian traditions, which are different than the American traditions in weaving I had learned. These differences are animated by the use of different terminology (e.g. binding instead of structure) and most notably, by a different orientation of the draft itself. Where I designed drafts from right to left, top to bottom, Kathryn worked from left to right, bottom to top. This orientation underpins her entire conceptual process for generating drafts and AdaCAD’s top right orientation presented a major hurdle to use, namely because she was unable to validate visually if the structures made sense, reducing her "trust" that the system would work. We were able to resolve this challenge in two ways: first, by having Kathryn produce the files generated by AdaCAD and verify it worked, and second, to add a workspace preferences setting that allowed the user to set their orientation point instead of assuming one orientation fits all.
These narratives demonstrates how the alchemy of weavers is highly contextual and contingent on their location, equipment, and personal preferences. While it is unsurprising that different people have different approaches, the collaborative design process demonstrated that these differences were rooted in each weaver’s material conditions of weaving. Thinking about weaving then, required an adaptable interface that could adhere to these material conditions, such as the need for different representations and workflows for different looms, or different orientations by geographic region. Furthermore, the range of language used and approaches to the same outcome in weaving (also noted by [61]) felt broader and more diverse than the range of approaches to, say, 3D printing. Likely, this stems from weaving as a practice developing over millennia and was a unique feature of the practice we wanted to honor. In summary, the alchemy of weavers led me to see the challenges of any single standardized approach or assumed expert workflow. While the parametric design orientation of AdaCAD 3.0 helped address this by allowing multiple pathways to the same outcome, often, these differences required fundamental restructuring of the underlying data structures or workspace settings. Developing in a first-person fashion, working with collaborators to identify these assumptions, and then adding features to mitigate them, forced me to tackle issues in the design that I had slated as problems for "later" because of their scope and scale, to immediate issues for resolution. 4.2 Opening New Spaces for Experimentation
AdaCAD opened up new ideas of possibility and inspiration to weavers, mostly in terms of adding complexity or otherwise computational modes of exploration into their process. Many weavers, often those who identify as “complex weavers” have expressed enthusiasm for the project. Many found the parametric approach unfamiliar but alluring, leading one weaver to say “I don’t think I’m going to be able to sleep tonight”, suggesting that it was introducing new puzzles that they found exciting. Many weavers requested features to map datasets to decisions in weave structures, or to even link AdaCAD with live data via Platforms like Open Sound Control to more closely connect real time interaction and weave structure similar to a concept explored initially by Albaugh et al [
15]. Weaving-while-developing led me to wonder what I could draft programatically that would be impossible to able to accomplish otherwise and thus, I began to explore different methods of creating woven designs that evolved more deeply from code, like the creation of a
random draft generator that would create bespoke designs with a given percentage of weft facing floats (thus allowing for the color shifting visible in Figure
7). In each case, a weaver is desiring AdaCAD to serve as a locus of connection between computational infrastructures and textile infrastructures, whether crossing between graphic design and cloth, data analysis and cloth, or real-time interaction and cloth design. While some features have been implemented, and others for future releases, the software does prompt new ideas, if not new puzzles for a weaver to solve.
Our collaboration with Marianne Fairbanks exemplified how AdaCAD, and the development of custom modules for AdaCAD, created a platform of new experimentation to take place: specifically experiments with combinatorics and artificial life. Marianne got involved in this project after watching a talk by Devendorf [
47] and contacting her directly with an idea to implement in AdaCAD that she had struggled to find someone to help her with. Specifically, she wanted to implement an algorithm to find every possible structure for an N x N draft. The motivation was largely based on the observance that three structures are said to be the core of all weaving: satin, twill and tabby. Marianne wanted to know why these three? What other options were there? And what might be possible in these other options? She had been fascinated by historic weaving sample sets, such as
Atlas de 4000 armures, that demonstrated and cataloged 1000’s of structures as both drafts and material samples for other practitioners to integrate into their practice [
65].
With such a clear idea in mind, Devendorf quickly began implementing algorithms and functions in AdaCAD that could both generate the set of possible outcomes and explore them in a creative way. The very first, and fast, implementation simply asked for a numeric input value, converted that number to binary, and then used the bits to populate an NxN draft. Noting that many of the numbers made structurally invalid drafts we updated the algorithm to ensure that each N x N draft had at least one interlacement in every row and column (i.e. at least one cell of black and one cell of white). We updated the algorithm to include only valid drafts while ensuring that each draft maps to a unique index value (and then be consistently searchable across all instances of AdaCAD). This algorithm revealed that there are 102 possible 3x3 structures and 22874 possible 4x4 structures (though some structures are rotations, reflections, and shifts of others, leading us to questions of definition of equivalency in structures). We added a button on the operation to download the full set of options as an index sheet (an excerpt of which is shown in Figure
10). This outcome led to more ideas of both programmatic and playful nature: a set of stamps of each structure to play with color combinations; a material characterisation of each structure to be able to classify and group them by their functional specifications; a next step using AdaCAD to create a sample blanket with woven samples of every possible structure. She wrote in an email: “I find this inquiry somehow the weaver version of Sol LeWitt—trying to quantify angles, lines and shapes in new ways and combinations” which suggests that this particular systematic process of generating possibilities held both practical and metaphorical resonance with weaving and art history. Mariannes’s case also most centrally relates to particular next steps for exploration in woven structure design by engineers, specifically the systematic characterization and organization of woven structures by functional characteristics. Could it now be possible to highly customize the structure to function, rather than adapting the existing small set of structures? Here, AdaCAD leads to more openings for weaving and computation by focusing on how it can be used to generate corpora for analysis and exploration.
4.3 AdaCAD as Process Notation
AdaCAD had a defamiliaizing effect to experienced weavers who found themselves attempting to adapt their process to the workflows and operations it provided. This disorientation presented a challenge, or hurdle, to overcome but was not entirely unusual to weavers, as it is common to take workshops and courses to use the tools they currently employed. Furthermore, the defamiliarization prompted reflection, as it often does in HCI [20], and this invited users to map out ones process in a form that could be represented and modified as plans changed. When using AdaCAD herself, Marianne described AdaCAD as “disorienting” in the way that it “makes me feel like I am working from the ground up - building from the micro to macro instead of how I think about designing in Photoshop or PointCarre which is the top down approach.” She suggested this disorientation could serve a practical effect, such as causing the user to rethink the processes and methods of drafting as she imagined with her structure generator. For Kathryn our collaborative development of AdaCAD invited her to explicate and document the thought process behind her "Dragon Scales" project (shown in
11). One of the key features of Kathryns’s practice is the use of multiple layers and weaving systems. Weaving multi-layer cloth is achieved by interlacing yarns in such a way that they can separate or intertwine, as desired, into distinct layers. These layer orders can switch across the cloth, creating pockets, or otherwise interesting folding structures. When designing, Kathryn maps out the layer order in different regions of the cloth, chooses which structures to apply on which layers (in which regions) to give her the intended structural or 3D effect and then develops the structures required to achieve those layers largely by hand through the direct clicking of pixels before translating them into a program called ScotWeave, a software she uses to design and communicate with her loom. One such project includes a challenge she took on to weave a flat textile that can be unfolded into a box (See Figure
9 B). This is the kind of challenge that captivates Kathryn and it involves a highly complex set of mental gymnastics in order to plan and execute, specifically as it relates to developing “suture” structures that could be used in the joints to support easy folding and unfolding. In our first meeting, we talked about this project and she walked me through her design process, including notes and images she used to aid the process. One image is a drawing of the cloth with codes in each region. Connected to this representation is a hand-written index code to structure in a notation that she had developed. In her words, “this is me working out in every region what layer needs to be doing what thing…”
Inspired by her ad hoc practice, we explored methods for implementing her notation directly into AdaCAD. After several exchanges where Kathryn and I (Devendorf) attempted to form a common understanding of her notation, we came up with a text-input operation that created inlets for each term in her notation (See Figure
11). She could then assign structures to the inlets to automatically generate the draft that assigned each structure to its correct position in the “layers stack.” At our next meeting, I walked her through the layer notation feature. She made a few samples to see if she could trust the interpretations and confirmed that it was both working and that she could effectively integrate the software into her process.
In terms of technological mediation, the parametric workflow brought two impulses to her practice: the ability to quickly identify and resolve errors and a prompt to rethink/reinterpret her process in terms of AdaCAD. Before AdaCAD, when errors emerged in her cloth, she would go back and make the drafts from scratch, in Photoshop and re-import them into ScotWeave – “Because the draft format (only indicating warp up or down) flattens the structure, it becomes impossible to distinguish between the warp movement in a specific layer and the warps lifted or lowered to separate the layers. Therefore redrawing becomes the only feasible option to fix errors.” She felt AdaCAD effectively “exposed the logic” to a degree that she could pinpoint and correct where errors occurred. Though, she also noted that translating process to AdaCAD to be a new challenge: “while I know (tacitly) the algorithms to generate a particular structure by pixel clicking, there was a lot of mental work going on to translate this into the parameterized operations of AdaCAD – I knew how to do things tacitly (in my hands!), but AdaCAD made me make them explicit.” The result of this process, though, was her “brain on a page” suggesting that while challenging, the work of explicating process to an alien system like AdaCAD was productive for documentation and sharing. She took an interest, then, in using AdaCAD to archive past projects.
In Kathryns’s case, AdaCAD became both a space where different processes and practices were discussed and communicated through both language, diagrams, and parametric operations in the software. The collaboration was aided by the fact that, implicitly, Kathryn’s thought process through weaving was very much systems oriented – evidenced by the fact that the notation system they had developed with a collaborator and used extensively could directly map into an algorithmic interpretation. This resonance between the models of AdaCAD and her thinking allowed her to go back and unpack her past processes through this frame, as, again, a way of accounting for and making her tacit practice explainable to others, but also herself (as weavers themselves can hardly understand their drafts). To some degree, the practice of going through past drafts and putting them into AdaCAD signals that the activity can be beneficial or enjoyable, as there is an inherent logic and “math” that comes into framing your practice through a new set of notations and systems: The work of documenting process was also seen by Kathryn as a process of revealing the complexity of weaving for further exploration to others: “there is so much potential in weaving that we have barely scratched the surface and so the more potential you build into things like AdaCAD, where you expose these opportunities, the more it reveals.” Like some others in our study (who also happen to have extensive experience in institutions of higher education), Kathryn shared an interest in not only weaving, but teaching about weaving, so the work of explicating weaves in AdaCAD offered multiple pathways to benefit. She wasn’t necessarily playful with the software, but used it as a more powerful and explainable tool to get the ideas in her head in conversation with the machine loom.