Blog

  • Speaking in Detroit, Michigan

    I am speaking about using Flash & Flex together to create more engaging, branded, and overall cooler looking Flex applications by using Flash with Flex. This is the same presentation, although a bit more battle tested, that I’ll be doing at Adobe MAX 2006 next month. I’ve given it twice before, once at the Adobe User Group of Atlanta, and once at the Flex Seminar. I’ve previously uploaded the slides to this presentation.

    Gig’s at 7:00 pm eastern tonight. I’m not breezing it, but I’ll do my best to Breeze / Captivate the one at MAX either way.

    Directions – Head up 75N to 696. Take 696 west to the very first exit, Bermuda. Exit Bermuda and hang a left(south) on Bermuda. Take it over 696 and pass the service drive then hang a quick right after the light. Then a quick left on ePrize Drive. You will see the building when you get off 696, it is the 5 story white building. When you get closer you will see it has a purple front wall.

    Here is the link to the map – http://www.eprize.com/contact/contact_locations.html

  • MacGyver Mouse Pad

    Twelve hours of coding without a mouse pad, and my wrist had a painful callous. What would MacGyver do? Make a mouse pad!

    MacGyver Mouse Pad

    Materials

    1. Scotch Tape
    2. Old Quizno’s Napkin

    Roll over to play, roll off to stop. Click the Flash movie below once if you are in IE.

  • Flash Development Process Notes, Dictionary.com’s New Design, & I Miss Steve Irwin

    Bunch of small things about Flash this week, in particular, 8’s IDE.

    JSFL Automation

    Reading Steve Bryant’s post about Sharpening the Axe. I’ve actually been doing a lot of the same. I’ve been writing a lot of JSFL in the past few weeks to automate a lot of the repetitive tasks that my team and I have been doing in Flash on this project. Although she’s a tad un-forgiving because she’s so boilerplate level code, that same low-level also gives you a lot of power. Error handling is a bitch, but so far 100% of my efforts have been rewarded with time saving scripts to automate a variety of tasks. Publish all, setup a FLA with a specific SWC and stub code, build a custom UIComponent, amongst other things. With the RAD development we are doing via multiple people in multiple FLA’s, it certainly helps since we have to re-build a lot of the same things and ensures less of an error in doing so. I really do wish, however, the XUL implementation had more controls. While I’m ecstatic I can actually talk to them via code now, I could really use a Tree and a Dropdown. I’m curious if I could implement them anyway and see if the engine supports it via an unsupported fashion. Regardless, much faster to build minor GUI’s in record time vs. creating them in a WindowSWF.

    Initialization Order & Default Values

    Had some serious issues earlier in the week. While the designers chug away at production art, I’m trying to make our components more useful at authortime, so have been implementing Inspectable metatags like mad. They are the tags that expose your component’s public properties via the Property Inspector in Flash when you drag a component to the stage. What I didn’t realize is that the default values are ONLY written if the component is created at authortime. If you create it dynamically, you lose the default values. I kept some notes at my work computer, but the initialization order is crazy hard to memorize. Basically, it’s like static, prototype (class member), init object OR inspectable tag values, and finally constructor. So, I can’t do default values in the init function anymore; I have to do the old skool of setting them on prototype via:

    private var __label:String = "";
    private var __childHMargin:Number = 0;

    I believe this still works in AS3 too, but it makes a lot of purists uncomfortable. Anyway, it’s really hard to support both the programmer and designer workflow at the same time. We’re getting damn good at it, though.

    Extension Manager 1.7 Problems

    Finally, having a hell of a time with Extension Manager 1.7.240 on both PC and Mac. Sometimes it won’t uninstall your files for Flash 8 from the user directory and you have to clean up the mess manually. On Mac, it’ll crash after uninstalling leaving files still there too, or at least it “thinks” they are. Really frustrating since I’ve come to love this app’s ability to seemlessly deploy desktop software.

    I can tell a user to clear their browser cache, but there is no “clear cache” on a user’s desktop. I can see why a lot of old skool Win32 / fat client developers love web applications since those problems effectively vanish. Naturally, the thought of writing code to delete specific files on a user’s machine makes me cringe with horror. So much so, I refuse to do it, and instead opt for writing documentation on how to delete the files so the user can do it themselves. In IE and Firefox, this is trivial; you click the button, and your server delivers the latest / greatest build. Anyway, the effort is worth it, but damn, this is harder than web application development.

    Scale 9

    Last frustration. We all LOVE Scale 9. However, apparently Scale 9 in Flash 8 & Flash 9 alpha only works for vector shapes and not for bitmaps. Scale 9 DOES work in Flex 2 with bitmaps so… kind of frustrating. Hopefully Flash 9 (Blaze) will implement whatever magic mxmlc, Flex’ command line compiler, is using so Flash can do this too. I’ve heard you can use code in Flash 8 to get this to work, and although unconfirmed, that’s not the point; it should work in the IDE. The docs are not clear on this at all.

    BTW, Dictionary.com’s new design is really nice!

    I miss the Crocodile Hunter. You’ll be missed Steve Irwin; you were a good bloke.

  • Crank, iPod Power Whip, & Airport Security

    Crank Film

    Crank = Good flic. I have a feeling they removed a kung-fu scene from the beginning when he goes into a biker gang’s bar. Since Jason Statham‘s character was a lot more edgy, and less rico suave than his smooth roles in the Transporter 1 & 2, my guess is they wanted a clean seperation, so removed the scene in post. Don’t take your kids. I laughed a lot. There was some really progressive editing in there, like, sub-titles would stay, and he’d read them. Good stuff.

    Check this crud out; I set my iPod on the window sill at my office in Detroit, and the earpiece fell on the power strip, turning off my computer. Thankfully I saved, but what are the odds!?

    iPod Power Whip

    Finally, I’ve been travelling to and from Atlanta & Detroit for the past 4 weeks without incident. Suddenly, last Sunday (August 27th), my belt sets off the metal detector in Atlanta airpot. I’ve been wearing the same belt for a whole month without incident. I think we need another gun test just to exacerbate the idiocy of the facade. All the hype the US media spouts about airport security is bullshit. I’ve been flying every Friday & Sunday for the past 6 weeks, and security has been the same both before, during, and after the UK thang, the crazy woman thing, and the crazy dude thing. In all fairness, I’ve heard of delays; my mom 1 day after the UK thing, took 1 hour through security (usually 4 minutes for me), and her flight was delayed 4 hours. She abandoned the trip for that weekend.

    It’s a good thing I drink too much caffeine, and thus my hyper-alert status can compensate for my mediorcre hand-to-hand skills if a situtation arises mid-flight. Terrorists and nut cases beware.