Text

The Problem with Processing

At the beginning of December, I embarked on a project, Processing December, with much enthusiasm and high expectations. I looked to Processing as a panacea for all my data visualization wants and needs. I lamented the lack of programming prowess amongst museum professionals, journalists and knowledge workers.  

A couple months later, I’m singing a different tune.

Processing may make programming more accessible to artists, designers and researchers, but it’s still a programming language full of logic and math. And for my experience with it, the only thing my programs accomplished was drawing and animating shapes. Maybe I read the wrong books, or maybe I ran out of time just when things were about to get really practical and useful, but I think more likely is that I took a poorly understood concept and unfairly turned it into a magical solution to a complex problem.

Processing doesn’t give you good data, or good questions to ask of it, or an awareness of human perception, or design sensibilities. It can take those things and draw or animate data in a way that some static representations of data cannot, but it can’t serve much good at all without them. The last thing I want to do is create powerfully bad visualizations.

As Brent said early on, learning something new gives the learner a sense and appreciation of her own limitations as well as a respect for the strengths of others. And that’s exactly what learning processing did for me. For our bird data exhibit, I’ve designed some graphs and commissioned a programmer to create the code that draws them.

I have so much to learn about data and perception and design – and a have a natural enthusiasm that motivates me to do so. I’ll leave the programming to the programmers, now with more appreciation and respect for their craft.

Tags: processing
Photo
This post describes what I want my first processing program to do.  It’s for an exhibit we’re prototyping called “Bird Data.”  Visitors start a timer, count the behaviors of live  birds in a cage for 60 seconds (are they preening? eating? sleeping? flapping? stretching?) and place black round magnets in the appropriate columns depending on what the birds are doing.
A camera above counts the magnets in the columns and graphs the data to show ratios that are hard to envision when watching all the birds at once.
My first step was to find code that evokes a camera (result below) and it was super easy.

Next, I’m going to work on identifying black circles against a white background in a set column space. 
After that, I’ll have to come up with some interesting and kid-friendly ways to visualize ratio and then use processing to build those based on the data it sees.
As a side note, I finished GSwP and have moved to Learning Processing (LP).  GSwP will actually get you started because it’s so small and easy, but LP is head and shoulders above it in terms of actually teaching the language (vs showing, which is what GSwP is mostly about).  If you’re interested in learning Processing, I recommend getting both books — GSwP to get you somewhere quickly before you lose momentum and LP to round out the confusing bits/apply what you’ve learned in a helpful environment.

This post describes what I want my first processing program to do.  It’s for an exhibit we’re prototyping called “Bird Data.”  Visitors start a timer, count the behaviors of live  birds in a cage for 60 seconds (are they preening? eating? sleeping? flapping? stretching?) and place black round magnets in the appropriate columns depending on what the birds are doing.

A camera above counts the magnets in the columns and graphs the data to show ratios that are hard to envision when watching all the birds at once.

My first step was to find code that evokes a camera (result below) and it was super easy.

Next, I’m going to work on identifying black circles against a white background in a set column space. 

After that, I’ll have to come up with some interesting and kid-friendly ways to visualize ratio and then use processing to build those based on the data it sees.

As a side note, I finished GSwP and have moved to Learning Processing (LP).  GSwP will actually get you started because it’s so small and easy, but LP is head and shoulders above it in terms of actually teaching the language (vs showing, which is what GSwP is mostly about).  If you’re interested in learning Processing, I recommend getting both books — GSwP to get you somewhere quickly before you lose momentum and LP to round out the confusing bits/apply what you’ve learned in a helpful environment.

Tags: processing
Photo
See what I mean about the example code being cute?  This program was an introduction to functions and also using the translate command.
I guess I’m almost, officially “started” with Processing.  I’ve gone through all the chapters in GSwP with the exception of the very last one, which is a collection of ways to “Extend” the language beyond drawing and animation.  When I close the book tomorrow, I hope I’m more confident in my ability to tackle something practical and soon.  I’ve already got a use case at the museum (some data visualizations of bird behaviors in an exhibit we’re prototyping about math).  More on that in a future post.
I’ve done a decent amount of web “programming” to consider myself a designer and I’m a bit torn.  Processing requires more programming than I expected or desired, but at the same time, maybe designers (and educators and journalists) need to know this level of programming just as much as we need to know how to communicate?

See what I mean about the example code being cute? This program was an introduction to functions and also using the translate command.

I guess I’m almost, officially “started” with Processing. I’ve gone through all the chapters in GSwP with the exception of the very last one, which is a collection of ways to “Extend” the language beyond drawing and animation. When I close the book tomorrow, I hope I’m more confident in my ability to tackle something practical and soon. I’ve already got a use case at the museum (some data visualizations of bird behaviors in an exhibit we’re prototyping about math). More on that in a future post.

I’ve done a decent amount of web “programming” to consider myself a designer and I’m a bit torn. Processing requires more programming than I expected or desired, but at the same time, maybe designers (and educators and journalists) need to know this level of programming just as much as we need to know how to communicate?

Tags: processing
Photo
Between weekend holiday duties and postponed-til-after-the-grant-deadline meetings this week, I haven’t worked on my Processing December project since Friday.  Today, though, I got through several chapters of GSwP, learning how to incorporate keyboard strokes, media files (images, fonts and vector graphics) and random motion into my programs.  I would keep going, but the Processing text editor won’t let me.  It puts up the above dialogue box when I try to create a new file and this one when I bypass that warning.
That’s like, the best thing I’ve ever seen software do.
In the beginning of the project, I wanted to get away from “programming” and into “processing.”  Now I’m at the point where I want to move from “here’s what processing can do” to “what do you want processing to do?”
Also, the examples in this book make the progression through it much more appealing.  I mean, I can code this sort of thing all day long.
p/s. char is pronounced “char” as in “charcoal.”  Never knew.

Between weekend holiday duties and postponed-til-after-the-grant-deadline meetings this week, I haven’t worked on my Processing December project since Friday. Today, though, I got through several chapters of GSwP, learning how to incorporate keyboard strokes, media files (images, fonts and vector graphics) and random motion into my programs. I would keep going, but the Processing text editor won’t let me. It puts up the above dialogue box when I try to create a new file and this one when I bypass that warning.

That’s like, the best thing I’ve ever seen software do.

In the beginning of the project, I wanted to get away from “programming” and into “processing.” Now I’m at the point where I want to move from “here’s what processing can do” to “what do you want processing to do?”

Also, the examples in this book make the progression through it much more appealing. I mean, I can code this sort of thing all day long.

p/s. char is pronounced “char” as in “charcoal.” Never knew.

Tags: processing
Photo
Today I typed (and by typed I mean copied verbatim from the GSwP book) much Processing code into the Processing code editor and watched neat things happen.  I also edited some of the code that I typed to see how the edits changed things.
I sense a movement from “learning programming” to “learning processing” and for that I’m glad.  I spent several hours this afternoon working through the end of the chapter I didn’t finish yesterday, I made another robot, but I felt GSwP missed the opportunity to make me work for it.  I can’t decide whether or not I like the fact that I don’t have to think unless I want to with this book.  It sure makes it approachable, but I wonder how much I’ll retain.  Time will tell.
After Pinhookery, I came home and installed processing.js on my website and that was super easy.  Now you’ll be able to see and play with whatever I create.  This particular setup doesn’t work on phones, but I think I heard somewhere that you can use HTML5 so that it does.  More soon on that one.

Today I typed (and by typed I mean copied verbatim from the GSwP book) much Processing code into the Processing code editor and watched neat things happen. I also edited some of the code that I typed to see how the edits changed things.

I sense a movement from “learning programming” to “learning processing” and for that I’m glad. I spent several hours this afternoon working through the end of the chapter I didn’t finish yesterday, I made another robot, but I felt GSwP missed the opportunity to make me work for it. I can’t decide whether or not I like the fact that I don’t have to think unless I want to with this book. It sure makes it approachable, but I wonder how much I’ll retain. Time will tell.

After Pinhookery, I came home and installed processing.js on my website and that was super easy. Now you’ll be able to see and play with whatever I create. This particular setup doesn’t work on phones, but I think I heard somewhere that you can use HTML5 so that it does. More soon on that one.

Tags: processing
Photo
Day two was an early lesson in how challenging it is to prioritize a special project when other things demand your attention. 
I started the day getting caught up with email and spending a little time with processing — not enough to get through even one chapter of GSwP, but enough time to play with the drawing commands I learned yesterday.  (I turned this into the above picture.)
Then it was off to a dentist appointment, meetings and social obligations. The first thought that crossed my mind when I woke up was that I hadn’t even made it two days into my project before screwing up.  But, you know, it happens.  And to ignore it or worse, be discouraged by it, gets me nowhere.  So onward! Day three awaits.p/s. I’m embarrassed to admit it, but as I read through the “A Little Math” section, I discovered two things that I didn’t know.  The first “+=” and the second “++.”  I’m not so embarrassed about += because I’d never seen that before, but I’ve seen x++ more times than I can count and have never understood what it was doing. Now, I do: x++ is the same as x = x + 1. Programmers and their tricky shortcuts!

Day two was an early lesson in how challenging it is to prioritize a special project when other things demand your attention. 

I started the day getting caught up with email and spending a little time with processing — not enough to get through even one chapter of GSwP, but enough time to play with the drawing commands I learned yesterday.  (I turned this into the above picture.)

Then it was off to a dentist appointment, meetings and social obligations. The first thought that crossed my mind when I woke up was that I hadn’t even made it two days into my project before screwing up.  But, you know, it happens.  And to ignore it or worse, be discouraged by it, gets me nowhere.  So onward! Day three awaits.

p/s. I’m embarrassed to admit it, but as I read through the “A Little Math” section, I discovered two things that I didn’t know.  The first “+=” and the second “++.”  I’m not so embarrassed about += because I’d never seen that before, but I’ve seen x++ more times than I can count and have never understood what it was doing. Now, I do: x++ is the same as x = x + 1. Programmers and their tricky shortcuts!

Tags: processing
Photo
Today is the first day of Processing December: 21 days of learning the data visualization language Processing.

I’m starting the project by reading through the slim Getting Started with Processing (GSwP), which was written by the creators of Processing, Ben Fry and Casey Reas.  Today I made* it through the first three chapters.  (After creating a poster to track my progress, blocking out time in my iCal, reserving two books from the library, joining the Processing Flickr group and creating an account on this web forum.)  I drew dots, lines, circles, squares, triangles, arrows, overlapping circles, pterodactyls and a robot.  I learned about color fill and stroke and smooth and alpha transparencies.  It was a day of fundamentals.

So far it’s easy and boring – at least the pterodactyls and robot were cute.  I hope we get to something more practical tomorrow.
* If you can type, you can make it through those chapters, too.

Today is the first day of Processing December: 21 days of learning the data visualization language Processing.

I’m starting the project by reading through the slim Getting Started with Processing (GSwP), which was written by the creators of Processing, Ben Fry and Casey Reas. Today I made* it through the first three chapters. (After creating a poster to track my progress, blocking out time in my iCal, reserving two books from the library, joining the Processing Flickr group and creating an account on this web forum.) I drew dots, lines, circles, squares, triangles, arrows, overlapping circles, pterodactyls and a robot. I learned about color fill and stroke and smooth and alpha transparencies. It was a day of fundamentals.

So far it’s easy and boring – at least the pterodactyls and robot were cute. I hope we get to something more practical tomorrow.

* If you can type, you can make it through those chapters, too.

Tags: processing