Monthly Archives: August 2011 Makes Life Beautiful

In my lovely class on creating generative art, we’re using the fabulous, free software Processing (see It’s wonderful software but it does have two relatively minor disadvantages: (1) it needs to be installed on your computer; and (2) it’s not obvious how to share sketches with the class. Fortunately, several online versions of Processing have been created to solve these problems, such as HasCanvas, Studio Sketchpad, or Processing.js, among others. However, one that is particularly well suited for classroom use, because you can create “virtual classrooms” as well as code online, is

In fact, our class has its own darn virtual classroom there, creatively entitled “Generative Art (FA 3800), Fall 2011, University of Utah” (and here’s the link to it):

Anyhow, we love it because we can post our sketches there and because we can use it even when we’re away from our own computers.

[Note: it is also possible to install the desktop version of Processing to a flash drive and run it from there. I do this, also, as it gives me the links to all of the built-in reference files and syntax coloring.]

Tagged , , , , ,

Adobe and Me

We’re getting started with Photoshop (and the Adobe Creative Suite in general) in FA2000: Computers and the Arts. Very exciting! It’s an overwhelming program; so many choices, so many buttons. Ay yi yi . . . But I’m thrilled to have put the lettuce and beans on their own layers in the salad photo! Very cool to move things around so easily.

To quote the theme from The Love Boat: “So exciting and new!” (Well, new to me, anyhow.)

Also, in FA3000: Design for the Net I, we’re doing some manual HTML coding to create very, VERY simple websites (at least, local pages that open in browsers). Kind of tedious to do it manually, but I think it makes things much clearer. And I’m finally learned about putting the pages in a folder with relative references . . . if only this simple fact had been made clearer to me a few years ago. But I’m looking forward to working on our next assignment, which is to create a web page for a favorite artist. I may cheat and do mine on Edward Tufte, who IS an artist but is known much, much better for his work on data visualization. Here’s the man himself:

For reference, here are his major publications, all of which are gorgeous and should be required reading for all designers and data people:

Anyhow, it should be fun.

Tagged , , , , , , , , , , , , ,

Rhetoric: The Visual and the Procedural

I was out making the rounds to promote my class in Generative Art a few weeks ago and one of the advisors mentioned a class in the Writing Program called “Visual Rhetoric.” Interesting; not visual analysis or visual design or visual whatever, but “rhetoric.” I had to look it up. From the Oxford American Dictionary, rhetoric is “the art of effective or persuasive speaking or writing, esp. the use of figures of speech and other compositional techniques.” Okay, now apply that to visual information. Anyhow, I spoke with the teacher, Natalie Stillman-Webb, who also sent me a copy of her syllabus. Very cool stuff. She even invited me to come and talk about data visualization later in the semester. Excellent.

And then, yesterday, I discovered an extension of the same idea. Ian Bogost teaches videogame design, theory, and criticism at Georgia Tech and has several books on Amazon. (Here’s his personal web page: One of his books is called “Persuasive Games: The Expressive Power of Videogames” (here’s the link at Amazon) and in it he develops the idea of “Procedural Rhetoric,” or persuasive arguments based on behaviors or interactions as one finds in video games. (You can download the first chapter of the book here or see a small wiki entry on the topic.) Anyhow, I’ve ordered the book but haven’t read it yet. It’s a fascinating concept and I look forward to learning more about it.

And with that, I’m going to go do some homework for Monday. Whee!

Tagged , , , ,

My Old Friend, Design

Today in FA3000, Design for the Web, we talked about general principles of design. It was nice to see references to research – know your audience, what they want, how they use computers and the web – and to functionalism – know the purpose of your web site and work to meet it for your intended audience. Both very refreshing. But what was really nice was having a quick (about 10 minutes each) overview of design, especially color theory and typography.

I took a color theory class back when I was an undergraduate Industrial Design student at BYU back in 1985. (That coincided with the time when I generally didn’t go to my classes, so things didn’t go quite as well as one would have hoped. Oops.) Nevertheless, I had my color cards and I could talk harmonies at least for a little while. I may not have my Pantone stack anymore, but I did have an interesting déjà vu experience last year while attending a conference on computer science, of all things. Actually, it wasn’t so shocking because it was VisWeek, the data visualization conference (which was, conveniently, in Salt Lake City last year) and so there was, in fact, a big turn out for the talk on color theory. I learned all about the differences between RGB and CMYK color systems (basically, screens vs. print) and the incompatibilities that exist between them. The speaker… oh, wait! I took the notes on my computer! Let me look them up… Ah, the speaker was Theresa-Marie Rhyne and her personal web page is called Theresa-Marie Rhyne’s Viewpoint (and it’s at, at least until Apple shuts down MobileMe next year). She talked about RGB and CMYK, as well as the Munsell system (which I believe is the basis of the HSB – Hue, Saturation, and Brightness – model, although Munsell used the terms Hue, Value, and Chroma; and in which the color orange did not exist, just “red-yellow”), and the Pantone system. (I also just looked up Munsell in Wikipedia and found a huge number of color systems; more systematic coverage is at the article “List of color spaces and their uses“.)

Okay, so lots of color theory available. Here are several online color tools mentioned by Martin (my FA2000 and FA3000 teacher – Hi, Martin!), Theresa-Marie, or things I found on my own:

I also have some nifty color apps on my iPod Touch:

And there’s a lot to say about fonts, too, but it’s late and I’m getting tired. For right now, I’ll just mention a few other apps I have that are wonderful:

Lovely stuff. By the way, I just found out that Steve Jobs is stepping down as CEO of Apple (although he IS staying on as Chairman). Who knows what that will mean for the Apple faithful like me. We’ll see.

Tagged , , , , , , , , , , ,

Processing Makes Its First Appearance

I’m going to meet with my own class today, FA3800 Generative Art with Processing. (I wore one of my Processing shirts for the occasion.) But I also thought it would be nice to include a little bit of Processing right here. I just ran this code and looked for a pretty frame (as it changes constantly):

// Create variables for the attributes I want to randomize.
float r;                           // For the red component of the line color.
float g;                           // For the green component of the line color.
float b;                           // For the blue component of the line color.
float a;                           // For the alpha (transparency) component of the line color.
float topX;                        // For the X dimension of the top of the line.
float bottomX;                     // For the X dimension of the bottom of the line.

void setup() {
  size(300, 150);                  // Create a screen 960 pixels wide and 320 pixels tall.
  background(0, 64, 32);           // Puts in a dark green background.

void draw() {
  r = random(0, 64);               // Randomizes the red component with low values.
  g = random(64, 255);             // Randomizes the green component with mid to high values.
  b = random(32, 128);             // Randomizes the red component with mid values.
  a = random(0, 200);              // Randomizes the alpha component with low to highish values.
  strokeWeight(20);                // Make the lines 20 pixels wide.
  stroke(r, g, b, a);              // Inserts the variables in the color definition.
  topX = random(0, width);         // Gets a random X coordinate for the top of each line.
  bottomX = random(0, width);      // Gets a random X coordinate for the bottom of each line.
  line(topX, 0, bottomX, height);  // Draws each line from top to bottom with the random Xs.

Then I just ran it and waited for an opportune moment to take a screenshot. Here’s the result:


Tagged , , , , ,

The Motley [Processing] Crew

I met with my class this afternoon (FA3800: Generative Art with Processing). Lots of fun! There were 10 people in the class, although only 5 are currently registered (but I expect more by Thursday, I hope, I hope). We had a recent high school graduate, undergrads in political science and art, PhD student from Biomedical Informatics and Sociology, and professors from Visual Art, Film Studies, and Computer Science. This may make it the most diverse college class EVER. (Certainly for me.)

We spent time introducing ourselves and discussing what was meant by the term “Generative Art.” The basic idea, by the way, is that the artist creates a process or procedure that includes some unpredictable elements – either random variables or user interaction, for example – and that creates different results each time. This concept predates computers by a long shot, with examples from Mozart and John Cage/Merce Cunningham, among others. Anyhow, we then got into playing around with some Processing code, which I think was fun for everyone to do on the first day. We’ll get much more structured but, for now, it was nice to get our feet wet.

Now we just need 15 more people to show up on Thursday….

Update: Real life and attrition reared their ugly heads and I ended with only 4.5 people coming regularly and, of those, only two enrolled. Shoot. As such, the class was officially cancelled but I managed to get it rolled over to a supervised research course and have continued to teach it (except without being paid). Better luck next time!

Tagged , , , ,

First Day of School

It’s the first day of school for my 26th full year of formal education. Whee! My first class is FA3000: Design for the Net 1, taught by Martin Novak. (I’m going to see a lot of Martin this year.) One of the things that we’re going to spend a lot of time on this semester is in creating a couple of web pages, which will be set up on the Fine Arts server for the semester. One will be a personal web page; that is, a page about us. The other will be on something else. Rather conveniently, I recently bought two domains: and DataLiteracy.Info. I haven’t done anything with either one yet, so this class will give me an ideal opportunity to work on them. Very nice.

I was also scheduled to take FA3400: Digital Visual Effects later today with Rosi Hayes, but it looks like I’ll need to skip that course so I can work on some other things that came up (specifically, the opportunity to create a new course for and the possibility of working with CIDAT).

Update: I have a draft version of that is temporarily housed on the Fine Arts server here at the U of U. Also, while I still own the domain DataLiteracy.Info, I also purchased for another WordPress blog; I’m actually making posts on that site.

Tagged , , , , , , ,