Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for professional graphic designers and non-designers trying to do their own graphic design. It's 100% free, no registration required.

To do some Generative Art I know Nodebox is based off Python and Processing is based off Java. Is there a Generative Art platform using Ruby that is as visually stimulating as Nodebox or Processing? I see Graphviz but it is more for structural data analysis and diagramming, as per its 'About' and 'Theory' sections then for Generative Art. Is there a Generative Art platform available in Ruby that is still being supported?

share|improve this question
add comment

closed as off topic by Scott, Joonas, lawndartcatcher, Johannes, koiyu Mar 9 '12 at 18:38

Questions on Graphic Design Stack Exchange are expected to relate to graphic design within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 3 down vote accepted

Did you know that there's a Ruby port of Processing?

I've seen a few actually, some are abandoned. Which leads to a more general point - it's usually easier and less trouble to learn whatever programming language is used in the best, most supported and most updated tool, rather than spending time fighting with a probably buggy incomplete tool that happens to be in your favourite language.

I found that, as a designer first and occasional developer second, it was learning to program in one language that was the really big challenge, then after that, the differences between them seemed (comparatively) small, like learning a new dialect of a language you already know.

That best tool would probably be (depending on your needs):

  • For very fancy, quite interactive graphics and the most active community, Processing (Java) or processing.js (Javascript & HTML5 Canvas).
  • For fancy highly interactive graphics in a modern web browser with some handy data visualisation specific stuff and a rather active community, D3 (Javascript & SVG)
  • For pretty fancy, highly graphics including built in support for the data visualisation basics (bar,line,pie charts etc) that work in any web browser from IE6 to iPad, with a fairly active community, Raphael and gRaphael (Javascript, it works by creating SVG or VML in old Internet Explorer) This is what I use for any serious work that I plan on putting on the web. The documentation is a bit rubbish, but there's a decent number of people figuring it out on Stack Overflow.
  • For powerful statistical stuff with advanced data visualisation support but less control over the graphics, with a massive community of mostly hardcore statisticians and data visualisation academics, R

And of course nodebox as you say for creating pre-baked videos and PDFs with a handy interface.

Assuming you're coming at all this from a design background, consider the book Programming Interactivity, a rare coding book aimed at designers, which covers Processing and OpenFrameworks alongside important basics and other things.

(p.s. data visualisation stuff is often discussed at stats.stackexhange.com too) (edit: ah, I see you've changed 'data visualisation' to 'generative art', the question makes more sense now)

share|improve this answer
yes I realized I was using it interchangeably but in an attempt to stop people from trying to close it I realized I should be more specific since some like R are good at one but really not the other –  Ryan Mar 9 '12 at 11:31
add comment

Took a lot of reading and a going through a few German websites but came across this article:


Processing looks like the best Java platform and a well regarded entry point.

OpenFrameworks is a C++ platform which sounds and looks very good. A bit harder then Processing but still able to be a starting point and also leads to Cinder which looks very hard but also very nice

NodeBox (which is what I meant when I said NodeBank) seems to be a newer but well regarded Python Platform. Not as well known as Processing or OpenFrameworks but seems to be much easier because of it being in Python

And thanks to the comments in that article there is a Ruby platform as well but its very very new called Zajal - http://www.zajal.cc/

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.