Feb
22
Flash vs. Processing
February 22, 2007 |
Over the past year and a half I’ve been hooked on the language Processing. I’ve even contributed a early version library for visualizing social network data.
For those unfamiliar with Processing, it’s a variant of Java. Its distinguished by its emphasis on interactive media. The fundamental unit in Processing is a sketch, which is entirely and continuously redrawn at some given rate. Sketches may be compiled into either standalone apps or Java applets.
Many creative types work with Processing–here’s some cool examples: The Dumpster, Thinking Machines 4 (pictured left), and Relations Environment. More can be seen on exhibition. Its not hard to see why I was excited by the language.
I’m still excited by the Processing community and all the cool apps and exhibits they are turning out. However, today I am much less excited by the technology.
- As an Internet content delivery mechanism, Java Applets are a poor choice. They have a large memory footprint and so are slow to load, and they provide few options for communicating between client and server.
- Sketches are redrawn in their entirety with each tick of the clock. There are no layers. Why is this a problem? This limits the number of graphical objects one can involve in a sketch without the sketch slowing down.
- There are no user interface components of any quality. And Java Swing is not compatible with Processing. While this is a real limitation, this is a somewhat hollow complaint, as I realize it is only a matter of time before quality UI widgets are created within Processing for Processing.
- Java 1.5 is not supported. My concern here deals with the fact that one of Processing’s greatest strengths is that a developer may use Java. I am wondering whether the Processing community will be able to maintain this integration over time.
Recently I’ve been looking into Flash (e.g., the chart in Google Finance is Flash) and have begun to believe that Flash is a better alternative. It is great at content delivery, has convenient UI components and support, and the fundamental unit of Flash, the “movie”, can be redrawn using separate layers.
I am still learning ActionScript, the object-oriented language used for Flash. My early impressions of it are that recent versions 2.0 and 3.0 are of a pretty high quality, but a far cry from Java.
I’ll post a follow-up to this in a few months after I have more experience with Flash and Actionscript under my belt.
Around the web
- Processing (Wikipedia)
- Processing
- Processing Blogs
- Processing Hacks
- Flash (Wikipedia)
- Flash Kit
- Flash / JavaScript Integration Kit
- Flash Remoting with PHP
- Flash Remoting with Perl
Comments
8 Comments so far

Great article. I’ve taught courses in both Flash and Processing, and I’ve always preferred Processing. I should mention, on point number 3 in your article, about the lack of Swing in Processing, that the AWT, while not as powerful, can be integrated into Processing: http://www.repeatwhiletrue.com/SpringGUI/
Cheers,
Dr.E
good post
That was a fun chess game. Didn’t really help me much to know what the computer was thinking though.
I agree completely. I’d love to see Processing API ported to Flash (the _only_ issue seems to be the relatively slow ability Flash has to process pixel data). Am I the only person who gets a feeling of dread when I notice a page is loading an applet?
http://qleyo.is-a-geek.com/visualising-space/view
Hi Guys,
I’m about to start working on a project and really behind schedule. The main aim is to create artistic visualisations of ecological data from live sensors in a space (building), as well as a visualisation (like a ticker) for interactive polls within that space. You can view my mock up designs here http://qleyo.is-a-geek.com/visualising-space/view
I have experience with AS and that was my initial plan to build this with AS but now I’ve come across processing, I’m debating if this would be better suited (especially with existing projects like wefeelfine and dumster). What are your opinions, I have 4 weeks to implement these visualisations :s I’m also unware if processing has components for User interaction (buttons, forms, checkboxes) which I will need to use? Thanks in advance.
Learning actionscript(flash) ist easy, just like php or processing(not java though). But mastering is hard in all cases.
Take a look at this (masterpiece?):
http://teethgrinder.co.uk/open-flash-chart/
helped me a lot…
One comment: If you are doing a good visualization the footprint does not really matter much. Unless its eye candy and nothing more, of course.
I’ve used both Flash and Processing and ActionScript 3.0 beats anything that Processing can do. Processing may good for rapid prototyping but Flash can create lighter apps with better UI elements than anything that Processing can do.