The Drunk on Software film crew hit the streets and bars late on the last night of MAX 2009, asking a select group of people (read: anyone that would let us film them), "What was your favorite thing at MAX?"
It's like a "Man on the Street" interview, but with women, too. And it's not so much "in the street" as "on the sidewalk and in the bar." And after the drinking that night, maybe kind of a "facedown in the street" nuance as well. So maybe I'd call it a "Men and women on the sidewalk, in the bars, and lying in the gutter" interview format.
Anyway, here's the result (or check it out on the Drunk on Software site instead). Enjoy...
This show deviates a tad from the usual CodeDependent shtick; I don't actually walk through any code (shock! horror!). Instead, we show a couple of the new Flex 4 components in action and see the animated behavior that they have to help create a smoother, better user experience.
Is there anything with graphics or effects in Flex that you would like to see explained? Any problem that's been bugging you, or some transition that you can't quite figure out? Or just some Flex/graphics/animation topic you're interested in knowing more about?
Let me know and maybe it'll become a show...
I've been good at doing a bunch of shows and some articles on topics that interest me, or problems that have come up that seemed like they might interest an audience larger than Chet, or just explanations of some of the stuff that we've been doing in the current Flex release under development. But that doesn't mean I don't run out of ideas. When the Adobe TV folks call and say that it's time to shoot another several episodes, I have to come up with a lot of content, quick, and sometimes that's easier to do than other times.
In the meantime, suggestions from people actually trying to use our stuff to build real world applications (that's you) would really help drive some of the content. I'm happy doing tutorials on things that I run across, but my situation is different from yours, and yours, and yours too, so I may not have hit the problems that you have, and may not ever know to go near some topic that you're pining to hear more about. For example, a recent question on my blog resulted in 2 shows about custom interpolation and resizing AIR applications. And another suggestion (coincidentally from the same person) will probably result in another 2-3 shows that I'm shooting next week.
So, if you have any suggested topics for me, please go ahead and suggest them. I think I'm okay at animation framework development, but I admit I'm not so good at reading minds.
Add a comment below, or contact me directly via the email listed in my blogger profile. I'm not saying I will do tutorials on all ideas or questions; it depends on how many suggestions there are, what the topics are, and what I think might have broad appeal. And I will certainly keep coming up with my own topics. But it would be great to have a larger set of potential topics to mull over.
And while we're in housekeeping mode:
Ratings: My CodeDependent videos on Adobe TV have ratings (what web content doesn't these days?). The embedded player doesn't expose that feature on my blog, but it would still be useful to me and others to know what people think about the topics I cover. So if you have any particular feeling about a show you saw here (note: the ratings don't include the choice "loathing" or "nausea"), go ahead and click through to the show's page on Adobe TV or the CodeDependent show page and rate the sucker.
Twitter: I'm still not sure what I'm doing on Twitter, but I do have an account there. I use it for feeding out the headlines whenever I post a blog (either here or on my humor blog). I figure you are what you write. I promise to not post status updates on what kind of sandwich I'm having for lunch. Even if it's a really awesome one, like an Italian sub with hot peppers. If you are interested in following me, my twitter account is @chethaase.
That's all. Back to work. Look for another video soon, probably tomorrow.
In this show, we see how to apply what we learned about arbitrary type interpolation in a previous episode to the specific use case of resizing an AIR window. The ability to animate properties of arbitrary type is one of the key new features in the Flex 4 effects system, and it comes in handy for this use case where animating the x, y, width, and height properties of the native window aren't good enough. Instead, we need to interpolation a Rectangle object so that we can atomically set the bounds of the native window with each animation update.
Here's the video:
Instead of embedding the application like I normally do, I'm just going to provide this link to it. It's a link to an AIR application which you would need to install and run locally, because that's the way that AIR works. You may not care enough to do this, since it's just a live demonstration of what you see in the video. But it's here for completeness.
In this show, we see an introduction to the new system of type interpolation in Flex 4 effects. The ability to animate properties of arbitrary type is one of the key new features in the Flex 4 effects system. Previously, in Flex 3, the effects system dealt only with numbers. It was great at animating any properties of components at all ... as long as those properties were numeric. In particular, it knew how to calculate a numeric value during animations, given start and end values. Calculating these values is important, of course, because animations are specified with start and end values only (or, in the case of the new keyframes in Flex 4 effects, a series of intermediate values), and any other value that the property takes on during the animation must be calculated as a product of these start/end values plus the elapsed fraction of the animation.
Flex's ability to deal with only numbers was fine for most of the cases that UI developers would care about because, frankly, most of the properties on components are numbers: x position, y position, width, height, alpha, scaleX, scaleY - all of these are simple Numbers that can easily be tossed into a simple parameteric function to calculate an in-between number for Flex 3 animations.
But what if you want to animate a property that is not a number, like a Rectangle, or a Point, or some object specific to your code that we know nothing about? Or what if it is a number, but you can't calculate a simple interpolation of it numerically (like RGB colors, which we talked about in an earlier episode)? In that case, we need a way to calculate the in-between values for objects of that type. The new IInterpolator interface in Flex 4 exists for that purpose: you can create implementations of that interface and supply them to Flex 4 effects to tell us how to interpolate in-between values for these types and the effects can take it from there, calling your interpolators whenever they need to calculate animated values for properties of those types..
This video shows how we can write a custom interpolator for an arbitrary data structure (in this case, a Rectangle) and supply it to a Flex 4 Animate effect to have it animate our object.
I think there's a fundamental flaw in the Drunk on Software strategy. If you're actually drunk at the time, it is all too probable that you'll end up with interviews that don't seem quite as interesting, provocative, and hilarious as they did at the time. Nonetheless, Jon and James continue to produce these shows, unhampered by my petty theories and centuries of research on the effects of alcohol on coherent conversation and job security.
We all got together at MAX a couple of weeks ago and had a chat about the conference. Fortunately, I think we were all sober enough to speak in complete sentences. Maybe this should go into a new series that I'm proposing: "Drinking Responsibly on Software". Our branding experts are still working on the title.
This show is basically a recap of an earlier blog article I wrote, Penner for your Thoughts (named for the author of the Flex 3 easing functions, Robert Penner), except this time it's in video form (for the reading-impaired). The topic is about using the old easing functions in Flex 3 through the new IEaser interface that the Flex 4 effects require. See the article for more details about the whys and hows of this rather neat hack.