New Flash Experiment posted: Image Navigation via Overlay

screenshot I’ve been working on a lot of Pixel Bender experiments and wanted a nice UI to allow zooming in to examine the effected pixels. I decided to use the method of having an overlaid box on a scaled version of the image that corresponds to a zoomed separate display. I looked around and found some nice sample code on FLEX{er} written by Stelian Crisan. I mostly added nice UI to adjust the parameters in his code.

The experiment is posted on the labs area of my site.

Pixel Bender Synthesizer Experiment

The subject of using Pixel Bender for audio processing on the Flash platform comes up a lot. Audio processing is very processor-intensive and math-heavy, so it would seem natural to leverage Pixel Bender to improve performance of audio within a SWF. At some point, last year, I was talking to Justin Everett-Church about doing a demo for Flash Player 10.1 multi-touch features. A synth seemed like a good idea, and it would let me kill two birds with one stone. So I coded up a synth (with a lame Flex UI) and Justin took that and made it pretty and added multi-touch support. That 2nd part of the demo never worked out the way we meant it too (missed the MAX 2009 keynote by this much). After that, I planned on cleaning up the code and posting it, but I got busy shipping CS5 and well, 7 months later, I finally got around to posting it. Right now it is just the playable demo with the crummy Flex UI.

It is a total processor hog, on purpose. I basically wanted to use it to push the limit of what could be done in the player, so I kept adding more filters and processors to it until the audio started to break up on my Core Duo 2 Mac Book Pro and then stepped back just a little. It turns out that you can actually do a ton of audio processing interactively in the player leveraging Pixel Bender. This was also designed to run as an AIR app, which means that if you really want to play with it, close all your other tabs. Really.

UI for synth

Pixel Bender Synth Experiment
Continue reading “Pixel Bender Synthesizer Experiment”

Grant Skinner’s Things Every Flash Developer Should Know talk

One of the sessions that I was really looking forward to seeing at MAX was Grant Skinner’s “Things Every Flash Developer Should Know.” I’ve really been inspired by some of his work and although I’d seen his slides (they are posted on his site), I wanted to see him present it. I’m hoping that they will post a video of it on Adobe TV, because I got a lot more out of watching it than I did by just reading the slides.

The Actionscript and Flash parts were the main draw for me, but I actually got a kick out of the software architecture and software engineering-ish slides as well. He ended up presenting a nice overview of some of the core of software engineering and development in a succinct and easy to understand way. I would certainly recommend this talk to the folks in the community without formal training, especially as a gateway to finding areas to learn more. I think as more and more experienced developers with formal software training move into RIA development with Actionscript, you’ll start to see the general level of software quality in the community rise (especially if the new-to-Actionscript developers embrace the sharing ethos of the greater community).

I didn’t agree with all of his edicts – especially about commenting, documentation and some of his personal coding guidelines, but those were pretty minor quibbles with a really great talk.

I also have to give him big props for his Flash-movie-as-slide-deck. A lot of times, I’ve seen developers create their own slide software as an intellectual exercise which all-too-often results in presentations that look a lot worse than powerpoint templates. His deck worked well, looked good, and was cool without being too distracting.

At the beginning of the presentation there is a quote from Dune that I hadn’t seen before. I grabbed a longer version of it here from one of his other posts.

‘Above all else, the [architect] must be a generalist, not a specialist. Experts and specialists lead you quickly into chaos. They are a source of useless nit-picking, the ferocious quibble over a comma. The [architect] on the other hand, should bring to decision-making a healthy common sense. He must not cut himself off from the broad sweep of what is happening in his [application]. He must remain capable of saying “There’s no real mystery about this at the moment. This is what we want now. It may prove wrong later, but we’ll correct that when we come to it.” The [architect]-generalist must understand that anything which we can identify as our [application] is merely part of a larger phenomena. But the expert looks backward; he looks into the narrow standards of his own specialty. The generalist looks outward; he looks for living principles, knowing full well that such principles change, that they develop. It is to the characteristics of change itself that the [architect]-generalist must look. There can be no permanent catalogue of such change, no handbook or manual. You must look at it with as few preconceptions as possible, asking yourself: “Now what is this thing doing?”‘
– From Children of Dune by Frank Herbert (1976)