What is the Best Way to Learn Flash & Actionscript for Visualization?

Oct 19, 2007

Maybe someone can help me with this. I’m shifting focus from static graphics (with Adobe Illustrator) and moving onto dynamic data visualization with Flash and Actionscript. Does anyone have any book or site suggestions that you’ve found particularly helpful in data visualization?

I have three books sitting in front of me right now:

  1. Hands-on Training for Macromedia Flash Professional 8 from Lynda
  2. Essential Actionscript 2.0 from O’Reilly
  3. Macromedia Flash 8 @work from Sams

I started going through Essential, and I’ve clearly forgotten what a chore it is to learn a new programming language in the early beginnings. To read books about code is particularly boring to me. Although I suppose it’s necessary. I’ve also read a lot of the Hands-on book, which wasn’t exactly my cup of tea either. Going through the tutorials reminded me a lot of the ArcGIS crash course I took earlier this year. “Click this to do that, and click that to do this. Click this and that to do that and this. After you’re done, voila. You get this…and that.”

For an idea of what I can do already: I mainly have R, PHP, and some Processing behind me, and then there’s the computer science courses I took in undergrad at Berkeley, which I guess has been about four years ago now.

So if anyone has any ideas or suggestions on what books to read, online resources to check out, or aspects of Actionscript and/or Flash I should focus on, please, I am all ears.


  • Have you considered processing (http://www.processing.org/) instead? Or maybe prefuse (http://prefuse.org/)? (They’re both java based).

    If you don’t want something web based, you could try experimenting with R based interactive graphics – maybe GGobi (http://www.ggobi.org) or iplots (http://rosuda.org/iplots/).

    What sort of interactions do you want to enable?

  • The best way I found, with a similar background to yours as you describe it, was to start working on a project at Stamen Design :)

    If that’s not available, the answer depends on whether you intend to use the Flash program itself or develop software that runs in the Flash environment. For the latter you can use Flex Builder (not free, but worth it in my experience) and pick up a book about Actionscript 3 development (e.g. Colin Moock’s new book http://www.amazon.com/Essential-ActionScript-3-0-Colin-Moock/).

    Avoid books on Flex/MXML unless you want to get into the Adobe brand of ‘RIA’ development, which judging from your blog you probably want to avoid in favour of total control over the design.

    This tutorial has a few distracting elements, but is really the best I’ve seen at covering the initial ‘getting started’ phase. http://www.senocular.com/flash/tutorials/as3withmxmlc/

    There’s nothing like actually building something though… good luck!

  • Just to clarify: if you’re learning this stuff now then unless there’s a really good reason you should skip Flash 8 and Actionscript 2 in favour of Flash 9 and Actionscript 3. There are fewer great tutorials so far but the language is so much cleaner, especially if you have a CS background and if you’re familiar with Java or Javascript.

  • Prefuse just came out in an ActionScript flavor called Flare:

    There’s a tutorial to get you started with AS and Flare along with pointers to other AS resources.


Reviving the Statistical Atlas of the United States with New Data

Due to budget cuts, there is no plan for an updated atlas. So I recreated the original 1870 Atlas using today’s publicly available data.

Where People Run in Major Cities

There are many exercise apps that allow you to keep …

A Day in the Life of Americans

I wanted to see how daily patterns emerge at the individual level and how a person’s entire day plays out. So I simulated 1,000 of them.

Think Like a Statistician – Without the Math

I call myself a statistician, because, well, I’m a statistics graduate student. However, the most important things I’ve learned are less formal, but have proven extremely useful when working/playing with data.