Blog

  • Speaking on Flex 2 @ NCFUG This Thursday

    I am speaking about Flex 2 at the Nashville, Tennessee ColdFusion User Group this Thursday (tomorrow), Feburary 23rd at 6:30pm CST (GMT -6).

    I’ve ensured I have a truck so I can carry my refrigerator of a computer and orange clothing to show my respect for the local team.

    Aaron West has some details, and all other information can be found at the NCFUG web site.

    If you can’t make it, sign up for the Breeze presentation.

  • Vongo.com is Not a Flash Poster Child RIA

    …but there still is hope.

    Vongo.com is a movie download service for Starz, a cable movie TV channel. I found out about it when Danny Patterson blogged about it awhile ago, and thought at the time, “Neat!”. Examination of his blog almost 2 months later, I see he’s suddenly point man for support & damage control; that’s not fair to him.

    While I’m sure many hoped this would be a fantastic example of Flash’s feature set, a poster child for Flash Platform in the Rich Internet Application sphere, it instead fails on two accounts.

    First the website does not work with Flash Player 8.5 because of an incorrectly written Flash Player detection script. Second, it does not work on Mac’s.

    While some could argue they shouldn’t be forced to have their website work with un-released beta software as their could be a valid reason 8.5 interferes with their service, I don’t buy that. My guess is they wrote it hardcoded for 8.0.22.0. I quickly brought the detection JavaScript into Flash 8, and removed some of the browser stuff, but it appears to be working as advertised; meaning, if the version is equal to OR greater than, it’ll return true, so someone’s using it wrong.

    Second, one of the strength’s of Flash Player is that it is cross platform. While I’m sure Mac users appreciate the error message that assures them you are working on it, too bad… no f’ing excuse. If the software download doesn’t work, that’s one thing, but the web player? Flash Player works on a Mac; I know, I have one and have tested Flash Player 8 and the beta 8.5 on both.

    Major frustration and major disappointment. This isn’t helpful to the cause. I still feel, however, they could salvage some face and perhaps give the industry some good press if they fix these issues. I know for a fact the detection one is simple, and am at a loss to explain why it doesn’t work on Mac.

  • Subversion & Flex Builder 2

    I use Tortoise SVN as a Subversion client on my box. Flex Builder 2 however copies all dependencies into the bin directory upon compiling. This wreak’s havoc with Tortoise because it gets confused why dupilcate .svn directories are in the bin folder. There is currently no way to tell Flex Builder 2 (plugin or standalone) not to copy .svn directories.

    Joe Berkovitz suggested I create an ANT task. You can’t use ANT with the Flex Builder 2 standalone, so I uninstalled it, and installed the plugin for Eclipse 3.1.

    I then created the ANT task, but it didn’t work. Apparently ANT filters the delete task for .svn directories, among other things. So, you actually have to opt-out by using the defaultexcludes=’no’ attribute. Lost 4 hours on that one until I read the documentation for the task top to bottom and found it, “If you’re shiz doesn’t work, here’s why.”

    Anyway, here’s the task; it’ll delete all .svn directories in your bin folder including all sub-directories. Use at your own risk, I cannot be held liable for you deleting your project by accident.

    <target name="deleteSVN">
    <delete includeEmptyDirs="true">
    <fileset dir="${basedir}/bin" includes="**/.svn/**" defaultexcludes="no" />
    </delete>
    </target>
  • How to Pause a Flash Movie: Part Deux

    Found a better method than the PrintJob.send way thanks to Darron Schall. Going off of his suggestion to use ExternalInterface.call per this LiveDoc’s entry, I found it does the same thing as PrintJob.send. It will pause:

    • Animations
    • onEnterFrame
    • intervals

    However, sounds (streaming or event) don’t stop, don’t resume upon unpausing, and getTimer keeps on trucking. Additionally, streamed sounds keep animation in sync with them by dropping frames if the animation cannot keep up. Thus, those animations will appear to jerk upon unpausing if the sound has already played past a certain point. This is the same behavior you get with the PrintJob.send method.

    At least, in this case, you can customize the popup to be a JavaScript one with a label; that’s a lot better than a mysteriously appearing print dialogue when someone hits the pause button. You could use JavaScript’s prompt function instead.

    Both methods are modal, meaning the user cannot interact with the Flash movie while the dialogues are open.

    *** Warning: Loud Sound ***

    Pause Example – Alert | Prompt | Source (ZIP)