Since knitout is a machine-independent file format, the workflow involves using a backend to convert knitout to the file format associated with a given machine. To do so, a user specifies the path/filename
to an input file and for the to-be-created output file via command line, and then uses node (a javascript engine) to run the program. You'll need to clone the backend from GitHub to your local computer with Git in order to use it.
Knitout-backends serve the overarching mission of the Textiles Lab, as they allow for flexibility, agency, and customization by creating a universal knitting machine programming system that isn't limited to any one specific machine. Learning how to program a knitting machine can be an extremely demanding task, and that task is made even more difficult when it involves learning the programming workflow for multiple machines (each with their own complexities). Knitout and the related backends aim to simplify this endeavor; first off, in that knitout is very low-level—it whittles the code down to the necessary details for delineating instructions that are unique to that particular piece, and then leaves it to the backend to handle all of the other complicated factors that are imperative, but largely nonspecific. Additionally, having multiple backends that revolve around a single file format means you'll only need to learn one workflow to program (almost) any machine! Well, at least any machine that is currently supported with a backend... but if you have a machine in mind that you'd like to see a knitout-backend for, please contact us and we'll try to make it happen!
Currently, the operational backends that the lab has developed are knitout-kniterate (GitHub here) and knitout-SWG (GitHub here—although it is currently private at the request of Shima Seiki, so you'll need to contact Jim McCann and request access to use it).