How to Learn Actionscript (Flash) for Data Visualization
A while back, I asked, "What is the best way to learn Actionscript for data visualization?" As I've had Actionscript staring me in the face for the past two weeks, I can attest to the idea that the best way to learn is by doing i.e. immersing yourself in a project with a deadline looming in the dark behind you. There have been, however, a few things that have made my life a little easier as I strive for coding nirvana.
My Only Desktop Reference
I have stacks of books on the floor, in the closet, and on my bookshelf, but there's one book that has stayed within in arm's reach as I learn - Colin Moock's Essential Actionscript 3.0. This is usually the first place I go to look when I'm stuck on a bug or am not sure where to begin. Moock's explanations are very clear and he provides plenty of useful examples without getting too specific.
When I first started, I read the first section "Actionscript from the Ground Up," which helped me familiarize myself with core concepts like packages, classes, and just the basic ideas of how things work. I feel like one of the hardest parts of learning any programming language is figuring out how all the components talk to each other, so this first section helped a lot. I skimmed the rest of the book, and now it's my only desktop reference.
I'm also starting to hear great things about Learning ActionScript 3.0: A Beginner's Guide by Shupe and Rosser, but I haven't got to look at it yet.
Flare Visualization Toolkit
Jeffrey Heer's Flare visualization toolkit seems to come out at just the right time specifically for me. Seriously, the timing couldn't have been better. For instant gratification, go through the tutorial, which covers a few Actionscript basics and straightforward examples for mainly, reading in data and animating and transitioning objects.
After the tutorial, try to build some of your own visualizations and applying what you learned from the tutorial. Finally, when you're more comfortable, dive into the Flare code to see how things work.
Modest Maps for Flexible Mapping
For those interested in mapping, Modest Maps has helped me a good bit. From the site:
Our intent is to provide a minimal, extensible, customizable, and free display library for discriminating designers and developers who want to use interactive maps in their own projects. Modest Maps provides a core set of features in a tight, clean package, with plenty of hooks for additional functionality.
They're not lying. It provides the basic map functionality like pan and zoom, but it's open, so you can do whatever you want from there. I've been using Flare and Modest Maps together to take the best of both worlds, I guess you could say. There's also the Yahoo! Maps Actionscript API, but I haven't tried it. I don't know if it's as flexible as Modest, but I like the idea of owning all of my code.
Adobe Flex Builder for Actionscript Development
Flex Builder has been extremely helpful while coding. The name might suggest it's only for Flex projects, but it's pretty darn good for Actionscript projects. The serious Actionscript people I've talked to only seem to use Flex. The other option is to use your text editor of choice and install the free Flex SDK, but it's more complicated (and I've never tried it).
The downside of Flex is that it's kind of expensive, pricing at just under $250 and even more for the pro version. However, on the flip side, Flex Builder Pro 3 is free to all education customers.
Finally, let's not forget about Adobe's Actionscript 3.0 language and components reference. In addition to Moock's book, this is the other indispensable resource. And of course there's all the online resources you'll find ala Google.
This is pretty much what I've been immersed in for the past two weeks. It's definitely a sharp learning curve, but once I got the hang of things, it's been pretty fun and nice to see my data moving along.
Anyways, I'm just now starting to kick the tires. I am sure there are many of you who have been at this for a while and who know a ton more than I do. What references or resources do you recommend for Flash/Actionscript beginners like myself?