It was as if I was showing animal skeletons or dinosaur bones and asking the audience to imagine what it was like when these creatures were walking the earth. Now I am trying to create systems that reveal themselves as processes before the audience. Metaphorically, I want to show living breathing animals and not just bones. The artwork should be the generative process not the trace the generative process leaves behind. Verbs not nouns.

-Philip Galanter (http://www.artificial.dk/articles/galanter.htm)

 

This week I focused on starting to write code to develop an initial prototype using p5 and further developing my overarching framing for the project and user experience by identifying a few major threads that I am trying to weave together.

Initial prototype plan

For my initial prototype, I’ve decided to independently design two different p5 sketches that encapsulate the main functionality that I will eventually need.

Sketch one focuses on recreating the basic interaction patterns of dynamic geometry software in terms of drawing point, lines and circles and being able to drag them around using their control points to move and resize them.  In addition to being able to draw individual objects, you should also be able to add points onto existing lines to start to create a hierarchical dependency tree where some objects are the parents of others.

For now, I have the basic object creation part done and I’m working on writing a pointOnLine class that can be used to create objects that depend on each other.

Sketch two is meant to focus on the subdivision algorithm itself.  The sketch will present a single example of a 4-sided figure that can repeatedly be subdivided into three 4-sided figures and the ability to change parameters to vary the relative location of the points in the subdivision, the number of subdivisions that occur and orientation of the subdivisions.  Playing with these options will hopefully provide a hands-on way to explore both the algorithm itself and the variability in the design space of what can be created from a single instance of the algorithm.

For now, I have a working version of this basic prototype idea.

An initial user test

I am a little more interested in getting this second sketch in front of people to start to learn about how others make sense of the generative process and how the language and layout of the interface shapes that.

I had a user testing session with one person.  Here are my summary notes:

Summary notes:

Plan:

  • Explain that the basic idea is that there is an algorithmic process for creating designs that I’m trying to introduce people to and this will be one interactive example that will help you explore that process
  • Play around, try things out and see if you can start to get a sense for what is happening and see if you can make any patterns that you like
  • I’m going to ask you to use a think aloud protocol in which you share your screen and talk aloud as you try things out.  The goal is to provide a play-by-play commentary of what you are seeing, thinking and feeling.

Observations:

  • Initially wanted to click and drag points directly in the figure
  • The language of depth and the initial design visible led her to think in 3 dimensions
  • Focused more on shapes than lines when trying to track what was happening in the design
  • Articulated how the value slider controls the position of point F and the other points depend on that
  • When she noticed the readout of # of lines, was curious to try ot maximize it
  • When pruning the design by hiding lines, it was hard to see what was going away unless the depth was set to 1
  • Spontaneous interjections about the variety of patterns possible
  • Somewhat thorough exploration of the design space

Possible additions/changes:

  • Maybe change language from depth to no. of subdivisions or subdivide
  • Maybe locate sliders for different regions next to the regions themselves
  • Consider asking  to find a pleasing pattern and say what you like about it
  • Option to draw in a domain and have it remapped?
  • Shift numbering in no. of subdivisions to make sense
  • Maybe only show subdivision rule sliders when applicable (n >2)
  • Maybe need more prompting about analysis/evaluation of the patterns
  • Maybe add ability to directly manipulate the point’s location rather than use slider soon

 

 

Taking a step back

As I continued to try to explain my project, this week for my midterm presentation, I gained a little bit more clarity on what I think some of the essential threads I’m weaving together are:

Threads for overall project:

  1. Generative art in a dynamic geometry environment
  2. Process art – focus on materials, exploration, experimentation, tinkering
  3. An initial exploration of natural systems, complexity, patterns, forms and beauty

Conceptual threads for user journey:

  1. Subdivision algorithm as an example of generative art
  2. Introduction to a subset of Alexander’s 15  geometric properties of liveliness or wholeness and connection to complex systems
  3. The helpfulness and limitations of tools for quantifying and analyzing a design

Emotional threads for user journey:

  1. Playful – experiment, tinker, explore
  2. Connected – outward looking, a new lens for viewing the world
  3. Expressive – room for individual expression and preference – avoid claims of universals

I am still a little unsure as to how (or if) the geometric properties highlighted by Alexander will integrate with the art-making process.  But these seem like useful guideposts as I continue to try to fill out my vision for the user journey in the coming weeks.