An algorithm is a step by step process for accomplishing a sepcific task. Artists are not used to describing how they make an artwork, but musicians those in the theatre are. Think of the play Hamlet. The words in each speech are written down, and we could perform it tha same was every time if we wanted to. We do not want to. Each performance of Hamlet is different from the others. Hamlet is an algorithm, and each performance is an instance of that algorithm, each rendered by performers and directors.
Think of Mozart's Piano Concerto in C major, K. 467. The score is a written description, in detail, of this piece of music. Yet individual performances are different from each other, and we have perhaps hundreds of recording of this concerto. Again, the score is the algorithm and the performances are instances, rendered by musicians and conductors.
Visual artists don't work this way.
An artist will conceive or their artwork in their mind, and will then execute it on canvas, or paper, marble. Except in specific modes like photography and printmaking, each work is a one of, and even in those instances the multiple copies of the work are intended to be duplicates, not new works or even variations.
Here's an example. This is an abstract using a curvilinear mode. Ths colors and shape change from
instance to instance, under the control of the artist and their program.
Not all artists wish to become programmers, and some feel that they cannot understand the technical details involved. While I feel this to be unlikely, it's a fair belief on their part. Can these artists work in the generative domain? Sure. They can hire the programming done, or they can use a special tool for implementing their algorithm that does not involve actual programming. That's where Gadget comes in.
There are three variations of Gadget in the works. The first allows the artist to type a set of commands from a menu of about 70 items. This is somehwat like programming but has a very limited syntax and a good set of operations an artist can use.
The second variation is a node-based system that, again, offers the artist a menu or graphical operations that are implemented as nodes, or small boxes drawn on the screen. The artist can connect these boxes, which allows parts of the artwork to be used as input to other parts, and will ultimately result in a final visual work. This requires no programming, and is an interactive process using the mouse rather than typing commans or statements from the keyboard.
The third version combines the two previous ones, having a visual menu of drawing operations that the user can select using the mouse. After the operations are selected they are processed in the order given by the artist, producing a final work.
Details of this program and how to download it and use it are provided on the Gadget 0.1 download page.
This version was proposed to and funded by the Canada Council for the Arts, and was implemented in the period from February 2024 to August 2025. Details of this program and how to download it and use it are provided on the Gadget 2025 download page.
Details of this program and how to download it and use it are provided on the Gadget 2025 download page.
A turtle graphics system implemented in the basic Gadget interpreter. Turtle Gadget page.