<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>The other Andrew Hunt</title>
	<atom:link href="http://animaljoy.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://animaljoy.com</link>
	<description>Another Flash Blog!</description>
	<pubDate>Fri, 30 Oct 2009 14:59:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Geting line numbers for runtime exceptions in Flash Player</title>
		<link>http://animaljoy.com/?p=115</link>
		<comments>http://animaljoy.com/?p=115#comments</comments>
		<pubDate>Fri, 30 Oct 2009 14:51:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AS3 Development]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=115</guid>
		<description><![CDATA[This is a simple technique I learned from co-worker Miguel Cordones that was a surprise to me, but obvious one I knew it. I did a quick survey and a surprising number of the other developers didn&#8217;t know it either:
When you publish your SWF turn debugging on! 
With this option turned on, you will get [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple technique I learned from co-worker Miguel Cordones that was a surprise to me, but obvious one I knew it. I did a quick survey and a surprising number of the other developers didn&#8217;t know it either:</p>
<p><strong>When you publish your SWF turn debugging on! </strong></p>
<p>With this option turned on, you will get some very useful information: the line number of all runtime exceptions.</p>
<p><strong>Turning on the debug option</strong></p>
<p>Flash IDE: Publish Settings-&gt;Flash Tab-&gt;Permit debugging</p>
<p>MXMLC: set option debug =&#8221;true&#8221;</p>
<p>Of course, when you&#8217;re ready to do a release build, turn off the debug option! Using the debug option adds a bunch of debugging junk to your files, makes them substantially bigger and affects performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=115</wfw:commentRss>
		</item>
		<item>
		<title>Copying Photos from your iPhone in OS X</title>
		<link>http://animaljoy.com/?p=112</link>
		<comments>http://animaljoy.com/?p=112#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:55:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Misc Tech]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=112</guid>
		<description><![CDATA[Man I do hate to have to use iPhoto to manage my iPhone pics. I just want to copy them to a folder as files, should be simple enough, right? Could not figure out how to do it via iTunes without iPhoto.
Googled it up for a while before I found 2 simple solutions:

The app &#8220;Image [...]]]></description>
			<content:encoded><![CDATA[<p>Man I do hate to have to use iPhoto to manage my iPhone pics. I just want to copy them to a folder as files, should be simple enough, right? Could not figure out how to do it via iTunes without iPhoto.</p>
<p>Googled it up for a while before I found 2 simple solutions:</p>
<ol>
<li>The app &#8220;Image Capture&#8221; does exactly what I want. Allows me to export some or all of the photos on my iPhone to a selected folder.</li>
<li>Interesting alternative: in Preview, go to the File-&gt;Import Image menu option, and you can import a photo (with preview) from your iPhone.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=112</wfw:commentRss>
		</item>
		<item>
		<title>The Dreaded VerifyError #1014 Message!</title>
		<link>http://animaljoy.com/?p=107</link>
		<comments>http://animaljoy.com/?p=107#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:11:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AS3 Development]]></category>

		<category><![CDATA[AS3 mxmlc compile]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=107</guid>
		<description><![CDATA[I&#8217;ve been working on a project with many SWF files.
To keep file size down, I&#8217;ve been using the &#8220;load-externs&#8221; option with mxmlc to exlude classes during compilation of SWFs that are loaded later in the application. This was working fine, and I could see that the classes were indeed being excluded.
On IE6/IE7 (of course!), I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a project with many SWF files.</p>
<p>To keep file size down, I&#8217;ve been using the &#8220;load-externs&#8221; option with mxmlc to exlude classes during compilation of SWFs that are loaded later in the application. This was working fine, and I could see that the classes were indeed being excluded.</p>
<p>On IE6/IE7 (of course!), I would consistently get the VerifyError saying that a certain class was not defined. On Firefox this worked flawlessly. If I cleared cache on the IE browsers, the file load was fine. If I reloaded the page without clearing the cache, I would consistently get the VerifyError.</p>
<p>We tracked this problem down to file load order, which is obvious in retrospect.</p>
<p>I use the handy Bulkloader class to load the SWFs and other assets. This class is supposed to load the files in the order specified. For some reason, the order was not consistent on IE browsers.</p>
<p>Solution: use the priority option in Bulkloader to make sure your library SWFs are loaded first.</p>
<p>If you&#8217;re seeing the VerifyError #1014 and excluding classes in your compile, its most likely a similar issue. Check that your files are being loaded in the order you expect!</p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=107</wfw:commentRss>
		</item>
		<item>
		<title>Excluding Classes with CS4 IDE, is it possible?</title>
		<link>http://animaljoy.com/?p=104</link>
		<comments>http://animaljoy.com/?p=104#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:44:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AS3 Development]]></category>

		<category><![CDATA[mxmlc AS3 IDE]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=104</guid>
		<description><![CDATA[I had some mysterious trouble with my MXMLC-generated SWFs and my attempts to exclude files. I thought it might be productive to try to exclude classes by compiling in the IDE.
In the ActionScript 3.0 settings for my FLA, I set a path to the correct SWC in the &#8220;External LIbrary Path&#8221; window.
The final SWF, however, [...]]]></description>
			<content:encoded><![CDATA[<p>I had some mysterious trouble with my MXMLC-generated SWFs and my attempts to exclude files. I thought it might be productive to try to exclude classes by compiling in the IDE.</p>
<p>In the ActionScript 3.0 settings for my FLA, I set a path to the correct SWC in the &#8220;External LIbrary Path&#8221; window.</p>
<p>The final SWF, however, did not exclude these classes at all.</p>
<p>Does anybody know if this feature actually works? Do I have to do something else to get this to work properly?</p>
<p>It would be a great feature if I could get it to work!</p>
<p>OK, back to using the mxmlc compiler I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=104</wfw:commentRss>
		</item>
		<item>
		<title>Introduction to Augmented Reality</title>
		<link>http://animaljoy.com/?p=78</link>
		<comments>http://animaljoy.com/?p=78#comments</comments>
		<pubDate>Thu, 12 Mar 2009 21:26:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AS3 Development]]></category>

		<category><![CDATA[Augmented Reality]]></category>

		<category><![CDATA[AR augmentedReality AS3]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=78</guid>
		<description><![CDATA[Here are links for everything we (me &#38; Itai Asseo, also of Digitas) presented last night for flashcodersny, in the glamorous downstairs basement of Think Coffee.
Big thanks to Itai for co-presenting, to Lisa Larson-Kelley for setting everything up, my lovely wife Fanny for joining us, and for all who endured the stuffy heat of the [...]]]></description>
			<content:encoded><![CDATA[<p>Here are links for everything we (me &amp; <a href="http://scriptingaction.blogspot.com/">Itai Asseo</a>, also of Digitas) presented last night for <a href="http://flashcodersny.org/">flashcodersny</a>, in the glamorous downstairs basement of Think Coffee.</p>
<p>Big thanks to Itai for co-presenting, to <a href="http://www.flashconnections.com/">Lisa Larson-Kelley</a> for setting everything up, my lovely wife Fanny for joining us, and for all who endured the stuffy heat of the basement last night.</p>
<p><strong>Theory</strong></p>
<p><a href="http://en.wikipedia.org/wiki/Augmented_reality">Augmented Reality Wiki Page</a></p>
<p><a href="http://www.ismar09.org/">A big AR Conference, in Orlando of course</a></p>
<p><strong>Historical Examples</strong></p>
<p><a href="http://www.allanjosephbatac.com/blog/wp-content/uploads/2008/05/princess-leia.jpg">From that movie, what&#8217;s it called again?</a></p>
<p><a href="http://davelandweb.com/hauntedmansion/images/cemetery/HM_Disney_Cemetery4.jpg">Hitchhiking ghosts</a></p>
<p><strong>How Ubiquitous is AR?</strong></p>
<p><a href="http://augmentedblog.wordpress.com/2009/03/03/want-mainstream/">Gratuitous Celebrity Politicians Demoing AR (seemingly unaware that they are doing so)</a></p>
<p><a href="http://www.nytimes.com/2009/03/09/technology/09topps.html">NYTimes article from 03/09 on Topps baseball cards</a></p>
<p><a href="http://www.engadget.com/2009/03/09/topps-launches-3d-live-baseball-cards-video-cards-on-deck/#continued">Another video of the Topps baseball cards</a></p>
<p><strong>The Underlying Technology</strong></p>
<p><a href="http://www.hitl.washington.edu/artoolkit/">The Original AR ToolKit</a></p>
<p><a href="http://nyatla.jp/nyartoolkit/wiki/index.php">Many ports of AR ToolKit to other languages</a></p>
<p><a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en">FLARToolKit, the Flash port of AR ToolKit</a>. Almost Everything you see on the web uses this!</p>
<p><a href="http://www.hitlabnz.org/wiki/Black_Magic_Book">A very good diagram of the AR rendering process that I forgot to show last night.</a></p>
<p><strong>Interactive Demos, you need a webcam and a printer for these</strong></p>
<p><a href="http://09.aid-dcc.com/">The Katamari Damacy themed 09 NY demo that got everyone excited</a></p>
<p><a href="http://www.boffswana.com/news/?p=392">Who wants to hold the baby? (fun Boffswana animated critter)</a></p>
<p><a href="http://ge.ecomagination.com/smartgrid/#/augmented_reality">GE Smart Grid Demos</a></p>
<p><a href="http://www.toyota.co.uk/cgi-bin/toyota/bv/generic_editorial.jsp?navRoot=toyota_1024_root&amp;nodiv=TRUE&amp;fullwidth=TRUE&amp;forceText=TRUE&amp;edname=iQ_reality&amp;id=iQ_reality&amp;catname=%2ftoyota_1024_root%2fmain_nav%2fpageTopNav%2fZone+iQ&amp;zone=Zone+iQ&amp;menuid=316070&amp;sr=Mall">Toyota iqReality Car Demos (downloadable demo)</a></p>
<p><a href="http://www.squidder.com/flardrums/">FLAR Drums (from the prolific folks at squidder.com)</a></p>
<p><a href="http://www.mccann.com.br/funkdenatal/">A Funky Brazilian Santa, really.</a></p>
<p><a href="http://www.mini.de/de/de/webcam/index.jsp">German Cabriolet demo</a> that doesn&#8217;t seem to work, but show nice usage/execution in the video.</p>
<p><strong>Videos</strong></p>
<p><a href="http://www.squidder.com/2009/02/17/papertweet3d-augmented-reality-t-shirts/">Fiducial markers on T-shirts, squidder again</a></p>
<p><a href="http://gamesalfresco.com/2009/02/28/totyota-augments-its-mini-iq-too/">Lots more AR with cars</a></p>
<p><a href="http://www.squidder.com/2009/02/25/driving-demo-part-2/">Little driving car demo, uses marker in interesting manner, squidder again!</a></p>
<p><strong>AR Tutorials Galore, most modern first</strong></p>
<p><a href="http://squidder.com">squidder.com</a>: A bunch of great stuff! These guys seem to be posting stuff every day, keep an eye on them!</p>
<p><a href="http://www.mikkoh.com/blog/?p=182">Great getting started series of tutorials, from <strong>Mikko Haapoja</strong></a></p>
<p><a href="http://saqoosha.net/en/flartoolkit/start-up-guide/">The original tutorial set, haven&#8217;t tried it yet, saqoosha.net</a></p>
<p><strong>Making Custom Fiducial Markers</strong></p>
<p><a href="http://www.squidder.com/2009/03/05/for-nerds-only-custom-flar-markers-explained/#more-247">squidder.com, again</a></p>
<p>saqoosha.net again: <a href="http://saqoosha.net/lab/FLARToolKit/MarkerGenerator/MakerGenerator.air">The AIR app for generating markers</a> (this worked well for us)</p>
<p><strong>Source Code Samples You Can Download and Play With!</strong></p>
<p><a href="http://saqoosha.net/en/2009/01/08/1677/">Source for the amazing 09 New Year&#8217;s demo, good luck getting it to compile!</a></p>
<p><a href="http://www.boffswana.com/news/?p=392">Boffswana animated critter demo code (this is what we started with)</a></p>
<p><a href="http://www.squidder.com/2009/03/06/flar-how-to-multiple-instances-of-multiple-markers/">Squidder.com&#8217;s demo of using multiple markers (very easy to compile and set up)<br />
</a></p>
<p>Eric Socolofsky&#8217;s very new <a href="http://words.transmote.com/wp/20090309/flarmanager-v01/">FLARManager</a>. This sounds awesome, but requires either CS4 or Flex Builder set up to target FP10, so have not been able to play with it yet. (Here are 2 links for how to set up FB3 to target FP10, <a href="http://www.boostworthy.com/blog/?p=245 ">here</a> and <a href="http://quetwo.wordpress.com/2008/10/26/flash-player-10-and-flex/">here</a>)</p>
<p>Wait, update: Eric has released <a href="ttp://words.transmote.com/wp/20090312/flarmanager-v01-for-fp9/">a new version of his FLARManager for FP9</a>! See his comment below of follow the link for more info. Thanks, Eric!</p>
<p>Just in right now! Itai sent <a href="http://pv3d.org/2009/03/12/augmented-reality-flartoolkit-demo-reel/">this</a> to me and it looks very promising, another AR demo with sourcecode.</p>
<p><strong>Augmented Reality Blogs Worth Following<br />
</strong></p>
<p>The original and very worthy <a href="http://augmentedblog.wordpress.com/">Augmented Reality Blog</a></p>
<p><a href="http://www.squidder.com/">Squidder.com</a>, putting out awesome AR demos apparently every 30 minutes.</p>
<p><a href="http://gamesalfresco.com/">A More game-oriented AR blog</a></p>
<p>Where it all began, <a href="http://saqoosha.net/">saqoosha.net</a></p>
<p><strong>Special Bonus Links, Check Out the Amazing Libspark library!</strong></p>
<p><a href="http://www.libspark.org/wiki/WikiStart/en">Lots of great stuff here</a>, including the <a href="http://www.libspark.org/wiki/mash/Marilena">Marilena Object Recognition AS3 library</a> that people are using for Flash face recognition.</p>
<p>I&#8217;m adding stuff to my delicious links all the time as they come in. You can see my up to date AR links at: <a href="http://delicious.com/shinyamos/ar">http://delicious.com/shinyamos/ar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=78</wfw:commentRss>
		</item>
		<item>
		<title>Using ANT in your Flash Development Part 2: Basic ANT Concepts</title>
		<link>http://animaljoy.com/?p=31</link>
		<comments>http://animaljoy.com/?p=31#comments</comments>
		<pubDate>Fri, 12 Dec 2008 22:21:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[ANT]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=31</guid>
		<description><![CDATA[This is the beginning of the &#8220;HOW&#8221; part, if you want the &#8220;WHY&#8221;, see my previous post in this series here.
You must define your ANT tasks in an xml file. Typically, this file is called &#8220;build.xml&#8221; and I like to put it in the root of my projects. Here&#8217;s the most basic example of such [...]]]></description>
			<content:encoded><![CDATA[<p>This is the beginning of the &#8220;HOW&#8221; part, if you want the &#8220;WHY&#8221;, see my previous post in this series <a title="Ant part 1" href="http://animaljoy.com/?p=1" target="_self">here</a>.</p>
<p>You must define your ANT tasks in an xml file. Typically, this file is called &#8220;build.xml&#8221; and I like to put it in the root of my projects. Here&#8217;s the most basic example of such a file:</p>
<p>&lt;project name=&#8221;Basic ANT&#8221;&gt;<br />
&lt;target name=&#8221;Hello World&#8221;&gt;<br />
&lt;echo&gt;Well, hello world!&lt;/echo&gt;<br />
&lt;/target&gt;<br />
&lt;/project&gt;</p>
<p><strong>Running ANT in Eclipse</strong></p>
<ol>
<li>Go ahead and create a build.xml file in your Eclipse project now. Paste the code above into the file and save.</li>
<li>Go to the to menu and select Window-&gt;Show View-&gt;ANT (if you don&#8217;t already have the ANT window opened in your workspace)</li>
<li>Drag the build.xml file from the Explorer Window to the ANT window.</li>
<li>You will see the ANT task appear with the title defined in &#8220;project  name&#8221; above, in this case &#8220;Basic ANT&#8221;. If you open it up, you will see a list of the targets defined in the ANT project.</li>
<li>Double click on the Hellow World target (aka task).</li>
<li>You will see something like this:</li>
</ol>
<div class="wp-caption alignnone" style="width: 459px"><img title="Hello World" src="/images/HelloWorldOutput.jpg" alt="Hello World Outpout" width="449" height="105" /><p class="wp-caption-text">Hello World Output</p></div>
<p>The <strong>project </strong>(name, attributes) is defined in the &lt;project name&gt; node. You must define the name, and optionally the default target and the basedir (base directory) property. Here is a typical project node definition:</p>
<p>&lt;project name=&#8221;FCNY USEFUL ANT Tasks&#8221; default=&#8221;CompileMain&#8221; basedir=&#8221;.&#8221;&gt;</p>
<p>The <strong>targets </strong>are the actual tasks that get executed. Each target has a name and one or more task definitions.</p>
<p>A <strong>task</strong> is the bit of code that actually gets executed. There are a huge number of basic built-in tasks in the core library that include things like: basic file operations, echo, building filesets, etc. The tasks we&#8217;re interested in most are the Flex ANT tasks. These are what will allow us to compile Flash applications without using the IDE and to generate all manner of workflow tricks.</p>
<p>There is a huge library of optional tasks that are easy to add to do pretty much anything that can be done from the command line: ftp files to a server, perform version control operations, run unit tests, etc.</p>
<p>A <strong>property</strong> is the equivalent of a variable in ANT projects. The following line defines a property and uses the ${propname} syntax to reference the value of the &#8220;basedir&#8221; property defined in the property definition above:</p>
<p>&lt;property name=&#8221;mainFLA&#8221;       value=&#8221;${basedir}/MainAssets.fla&#8221;/&gt;</p>
<p>It is good practice to use <strong>property definition files</strong> to define and group your properties. In my real world example, I have 2 property files: &#8220;default.properties&#8221; and &#8220;local.properties&#8221;. The first defines properties that are global to the project and will not change, such as default project structure settings. The latter defines properties that need to be edited for each users computer, such as the paths to their favorite web browser, the location of their Flex SDK, etc.<br />
<strong>Task Dependencies</strong></p>
<p>You can use dependencies to chain tasks together, so that they run in sequence. The concept of dependencies in ANT can be a little confusing. If you define a task &#8220;D&#8221;:</p>
<pre>&lt;target name="D" depends="C,B,A"/&gt;</pre>
<p>The target D tasks will be executed after C, B and A are executed, in the order specified. What can be odd is a situation like this:</p>
<pre>&lt;target name="C" depends="A, B"/&gt;
&lt;target name="D" depends="A, B"/&gt;
&lt;target name="F" depends="C, D"/&gt;</pre>
<p>If you were to run task F, you may expect to see tasks executed in this order: A, B, C, A, B, D.</p>
<p>But you&#8217;d be wrong! What you&#8217;d actually see is: A, B, C, D. When D is executed, it sees that the A and B tasks have already been executed, so it won&#8217;t run them again.</p>
<p>To use a target multiple times in a single invocation, you need to use <a title="antcall" href="http://ant.apache.org/manual/CoreTasks/antcall.html" target="_blank">antcall</a>. This will allow you to treat targets more as subroutines.</p>
<p>The next blog will explain how the sample project is set up and begin detailing the many example tasks in the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=31</wfw:commentRss>
		</item>
		<item>
		<title>The iPhone Really is Magic! 1 Week on a Single Charge!</title>
		<link>http://animaljoy.com/?p=34</link>
		<comments>http://animaljoy.com/?p=34#comments</comments>
		<pubDate>Fri, 31 Oct 2008 21:52:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Misc Tech]]></category>

		<category><![CDATA[battery]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=34</guid>
		<description><![CDATA[This is off topic for me, but I think it&#8217;s worh a minor blog entry: to my surprise, the iPhone really is pretty damn good.
Now, I am not an early adopter by any means. After my antique cell phone finally fell apart, I broke down and got myself an iPhone like all the other kids [...]]]></description>
			<content:encoded><![CDATA[<p>This is off topic for me, but I think it&#8217;s worh a minor blog entry: to my surprise, the iPhone really is pretty damn good.</p>
<p>Now, I am not an early adopter by any means. After my antique cell phone finally fell apart, I broke down and got myself an iPhone like all the other kids already have.</p>
<p>I&#8217;d heard a lot about how crappy the phones were in terms of battery life, but was mightily impressed: I got my phone last Thursday, charged it up, and it still had a bit of charge left a full week later! Really though, I&#8217;m not a typical user; the first thing I did when I powered it on was to turn off 3G, WiFi and Location Services. I turned it off at night, and during subway trips, but otherwise used it normally (as a phone). Plus did a bit of web browsing and checking out the App Store, turning on WiFi when I needed to use it.</p>
<p>But, it&#8217;s a great basic phone (with lots of optional dazzling features that you are free to ignore). The call quality is much better than my previous (admittedly crap) phones, as is reception. Plus the interface does justify the hype. And excellent battery life if you mainly use it as a phone, who knew?</p>
<p>These Apple folks might be on to something&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=34</wfw:commentRss>
		</item>
		<item>
		<title>Using ANT in your Flash Development and Be a Better Person! Part 1</title>
		<link>http://animaljoy.com/?p=1</link>
		<comments>http://animaljoy.com/?p=1#comments</comments>
		<pubDate>Tue, 22 Jul 2008 01:26:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AS3 Development]]></category>

		<category><![CDATA[ANT]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[FDT]]></category>

		<category><![CDATA[FlexBuilder]]></category>

		<category><![CDATA[SVN]]></category>

		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://animaljoy.com/?p=1</guid>
		<description><![CDATA[OK, long time coming, but here we go. There&#8217;s too much material for one blog post, so I&#8217;m going to break it down over a few blog entries. This series is based on a talk that I gave to the fabulous flashcodersny group, on Aug 13 2008.
ANT is a fantastic tool for automating your Flash [...]]]></description>
			<content:encoded><![CDATA[<p>OK, long time coming, but here we go. There&#8217;s too much material for one blog post, so I&#8217;m going to break it down over a few blog entries. This series is based on a talk that I gave to the fabulous <a title="flashcodersny" href="http://http://flashcodersny.org/" target="_blank">flashcodersny</a> group, on Aug 13 2008.</p>
<p>ANT is a fantastic tool for automating your Flash development workflow. ANT allows you to write powerful tasks to do just about anything you could desire: compiling Flash (AS2 or AS3), file system operations, ftp&#8217;ing files, setting version numbers, generate code documentation, play annoying sounds, etc.</p>
<p>I&#8217;ve been hearing about ANT for a while, but only came to adopting it after some frustration with the Flex Builder workflow. At my shop, we have Flash developers who use FDT and, more recently, Flex Builder. We like to check the final SWF into SVN when we have a release build. This allows us to just export a copy of our build files and push them to the server when we want to deploy. Works well enough, and it means that I don&#8217;t have to be present for weekend pushes!</p>
<p>I&#8217;ve heard compelling arguments about why putting SWFs into version control is a bad idea, but it&#8217;s really very convenient, and you don&#8217;t need a developer with the fully configured environment for deployments. Anybody who knows how to use the version control system can perform a deploy.</p>
<p>But, Flex Builder <strong>will not let you work this way</strong>! The default workflow creates a bin-debug folder where your compiled SWFs end up. You cannot check this directory into SVN. I understand their rationale for this, but it&#8217;s annoying, and has tripped up a lot of developers. And you can&#8217;t customize the workflow too much with Flex Builder, you have to do it their way. Also, the default version that Flex Builder compiles is a debug version, not a release version, so you would not want to check it in anyway. Also, I wanted our developers to be able to use FDT, Flash, or Flex Builder as they wished, on the same project, and the Flex Builder workflow made this difficult.</p>
<p>So, I turned to ANT to get around these issues, which I was able to work out. But, then I realized how much more I could get from ANT, and I find I&#8217;m using it more and more with every project, and it&#8217;s especially made my life much easier with complicated deployments (4 different server environments requiring different configurations). I&#8217;m using ANT on every project now and it&#8217;s become widely adopted in my department.</p>
<p>The solution to a unified workflow was to adopt ANT tasks for all Flash compilation. We compile projects the same way whether we&#8217;re using FDT, Flex Builder, or Flash. You can execute all of these tasks from within Eclipse, or from the command line if that&#8217;s how you roll. The entry on compiling Flash (AS2 or AS3) is <strong>part 4</strong> of this series.</p>
<p>Part 2 will introduce basic ANT functionality and the files for my sample project.</p>
<p><strong>Useful Links</strong></p>
<p>You can get the full story on ANT <a title="ANT home" href="http://ant.apache.org/manual/index.html" target="_blank">here</a>.</p>
<p>I found these 2 posts very useful for getting set up with ANT in Eclipse/Flex Builder:</p>
<p>Jody Brewster&#8217;s <a title="Instaling ANT" href="http://blog.jodybrewster.net/2008/04/09/installing-ant-in-flex-builder-3/" target="_blank">Installing Ant in Flex Builder 3</a></p>
<p>Ryan Taylor&#8217;s <a title="ANT with FDT3" href="http://www.boostworthy.com/blog/?p=194" target="_blank">article on using ANT with FDT3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://animaljoy.com/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
	</channel>
</rss>
