<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>All I don&#039;t know &#187; AIR</title>
	<atom:link href="http://blog.derraab.com/category/air/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.derraab.com</link>
	<description>About Flash™, Flex™, software development and my computer. And JavaScript.</description>
	<lastBuildDate>Sat, 26 Nov 2011 18:31:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Adobe AIR 2.7: Faster App Performance on iOS</title>
		<link>http://blog.derraab.com/2011/06/15/adobe-air-2-7-faster-app-performance-on-ios/</link>
		<comments>http://blog.derraab.com/2011/06/15/adobe-air-2-7-faster-app-performance-on-ios/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 08:02:12 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash on iOS]]></category>
		<category><![CDATA[iPhone / iPad]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=641</guid>
		<description><![CDATA[Get a big performance boost on iOS using Adobe AIR 2.7 SDK! Adobe&#8217;s current release version includes a number of feature enhancements: Install AIR Runtime to SD (Android) Improved performance on iOS Media Measurement Acoustic Echo Cancellation (Desktop only) Enhanced &#8230; <a href="http://blog.derraab.com/2011/06/15/adobe-air-2-7-faster-app-performance-on-ios/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Get a big performance boost on iOS using <a href="http://www.adobe.com/products/air/sdk/" target="_blank">Adobe AIR 2.7 SDK</a>!</p>
<p>Adobe&#8217;s current release version includes a number of feature enhancements:</p>
<ul>
<li>Install AIR Runtime to SD (Android)</li>
<li><b>Improved performance on iOS</b></li>
<li>Media Measurement</li>
<li>Acoustic Echo Cancellation (Desktop only)</li>
<li>Enhanced HTMLLoader API</li>
<li>Interpreter Mode for iOS</li>
</ul>
<p>Read full details here: <a href="http://blogs.adobe.com/flashruntimereleases/2011/06/14/air-2-7-runtimes-and-sdk-are-now-available/" target="_blank">http://blogs.adobe.com/flashruntimereleases/2011/06/14/air-2-7-runtimes-and-sdk-are-now-available/</a></p>
<p>See the performance:<br />
<iframe width="640" height="390" src="http://www.youtube.com/embed/1R36AosqhlA" frameborder="0" allowfullscreen></iframe></p>
<p>Don&#8217;t know where to start? This guide is still valid: <a href="http://blog.derraab.com/2011/04/04/ios-development-with-air-2-6-using-fdt-and-my-new-friend-ant/" target="_blank">iOS development with AIR 2.6 using FDT and my new friend ANT</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/06/15/adobe-air-2-7-faster-app-performance-on-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex compiler &#8211; application descriptor: invalid application identifier</title>
		<link>http://blog.derraab.com/2011/06/08/flex-compiler-application-descriptor-invalid-application-identifier/</link>
		<comments>http://blog.derraab.com/2011/06/08/flex-compiler-application-descriptor-invalid-application-identifier/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 14:26:40 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=631</guid>
		<description><![CDATA[Whenever your Flex compiler prompts &#8220;application descriptor: invalid application identifier&#8220;, you might check your application description XML file. Your application ID might contain underscores (in my case) or other invalid characters. Since I found a hint to the solution only &#8230; <a href="http://blog.derraab.com/2011/06/08/flex-compiler-application-descriptor-invalid-application-identifier/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Whenever your Flex compiler prompts<br />
&#8220;<code>application descriptor: invalid application identifier</code>&#8220;,<br />
you might check your application description XML file. Your application ID might contain underscores (in my case) or other invalid characters. Since I found a hint to the solution only at <a href="http://www.koali.com.au/?p=256" target="_blank">koali.com.au</a>, I think it&#8217;s a good idea to reblog it.</p>
<p>Quote from Adobe livedocs:</p>
<blockquote><p><code><strong>id</strong></code> &#8211; An identifier string unique to the application, known as the application ID. The attribute value is restricted to the following characters:</p>
<ul>
<li>0-9</li>
<li>a-z</li>
<li>A-Z</li>
<li>. (dot)</li>
<li>- (hyphen)</li>
</ul>
<p>The value must contain between 1 to 212 characters. This element is required.</p>
<p>The id string typically uses a dot-separated hierarchy, in alignment with a reversed DNS domain address, a Java package or class name, or an OS X Universal Type Identifier. The DNS-like form is not enforced, and AIR does not create any association between the name and actual DNS domains.</p></blockquote>
<p>More informations about the descriptor file:<br />
<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=dg_part_4_1.html" target="_blank">http://livedocs.adobe.com/flex/3/html/help.html?content=dg_part_4_1.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/06/08/flex-compiler-application-descriptor-invalid-application-identifier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FFK11 &#8211; beyond tellerrand notes</title>
		<link>http://blog.derraab.com/2011/04/08/ffk11-beyond-tellerrand-notes/</link>
		<comments>http://blog.derraab.com/2011/04/08/ffk11-beyond-tellerrand-notes/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 22:03:46 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash on iOS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[iPhone / iPad]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=578</guid>
		<description><![CDATA[I&#8217;m still not sure if &#8220;beyond tellerrand&#8221; is a subtitle or will become the new brand for the one and only Flashforum conference here in germany. Sascha Wolter and Marc Thiele did a great job as always and even I &#8230; <a href="http://blog.derraab.com/2011/04/08/ffk11-beyond-tellerrand-notes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still not sure if &#8220;<a href="http://ffk11.beyondtellerrand.com/">beyond tellerrand</a>&#8221; is a subtitle or will become the new brand for the one and only <a href="http://www.flashforum.de/">Flashforum</a> conference here in germany. <a href="http://www.wolter.biz/">Sascha Wolter</a> and <a href="http://www.marcthiele.com/">Marc Thiele</a> did a great job as always and even I never went to another conference, FFK seems still to be a special one. Again I was lucky listening to some really cool stuff.</p>
<p>Interestingly most of my <a href="http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/">last year notes</a> are still up to date, which doesn&#8217;t help if you don&#8217;t keep them in mind. So I think it&#8217;s a good idea to read my own notes from time to time. <img src='http://blog.derraab.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>That&#8217;s what I became aware of this time:</p>
<p><strong>AIR 2.6</strong></p>
<ul>
<li>Lee Brimelow mentioned AIR 2.6 on iOS is faster than on Android!  Yeah.</li>
<li>Adobe is working hard on increasing performance near to native code.</li>
<li>Installing a runtime seems to be annoying for Android users, so Adobe is thinking about compiling for Android like for iOS. Which might bring some extra performance as well.</li>
<li>I asked Lee Brimelow about A<strong>IR on Windows Phone 7</strong> and he said something like &#8220;Adobe is currently not working on that and it would be a lot of work&#8221;. Well, of course Microsoft is not interested having AIR on their system, but it would be a really important platform for all of us. So in my opinion Adobe at least has a small team checking out what&#8217;s possible. What do you think about Windows Phone 7 and AIR support?</li>
</ul>
<p><strong>Flex Builder 4.5</strong></p>
<ul>
<lI>You can get Flex SDK 4.5 already, but there&#8217;s also a way to join the private pre-release program to get early access to Flex Builder 4.5. Just visit <a href="http://www.surveymonkey.com/s/flexprerelease">http://www.surveymonkey.com/s/flexprerelease</a>. They are working on some useful stuff and it might be a good idea to test some of the new features.</li>
<li>Deepa Supramaniam mentioned spark MXML skins have performance issues on mobile devices. That&#8217;s why they created pure ActionScript spark skins for mobile applications. Hopefully, within the private beta Flex SDKs, we&#8217;ll find some great improvements: <a href="http://www.riagora.com/2011/03/preview-of-flex-on-ios/">http://www.riagora.com/2011/03/preview-of-flex-on-ios/</a>.</li>
</ul>
<p><strong>NUI</strong></p>
<ul>
<li><a href="https://www.xing.com/profile/Wolfgang_Henseler">Wolfgang Henseler</a> (<a href="http://vimeo.com/18400281">Talk I missed at FFK10</a>)  opened my mind according <a href="http://en.wikipedia.org/wiki/Natural_user_interface">NUI</a>.</li>
<li>Don&#8217;t think of apps on mobile devices but of services allowing you reaching your goal faster than a website.</li>
<li>Think about providing services, combining them, rethinking them.</li>
<li>Use less design and let objects provide their functionalities (e.g. tap on image to get some options).</li>
<li>My brain is very busy with that NUI thing. E. g. he mentioned the <a href="http://siri.com/">Siri</a> iPhone app. It&#8217;s not about how it looks like (not so cool) but how it works! Combining lots of possibilities with a really easy interface (speech) . He was also talking about &#8220;in body technology&#8221; (sensors and stuff like that.) and <a href="http://www.tedmed.com/">http://www.tedmed.com/</a></li>
<li>After Dennis Ippels Kinect (<a href="http://openkinect.org">OpenKinect</a> / <a href="http://www.primesense.com/">http://www.primesense.com/</a>) introduction I finally know something about the magic behind this device as well.</li>
</ul>
<p><strong>Molehill</strong></p>
<ul>
<li><a href="http://tinyurl.com/molehilldemos">http://tinyurl.com/molehilldemos</a>. What can I say. Molehill performance is stunning (for the web).</li>
<li>And keep in mind that you need to set <code>wmode="direct"</code> within your HTML settings! Otherwise you won&#8217;t get hardware acceleration.</li>
<li>Molehill itself is way to low level for most of us. So we&#8217;ll use 3D frameworks as we did before.</li>
<li><a href="http://away3d.com/">Away 3D </a>currently seems to be the weapon of choice.</li>
<li><a href="http://www.derschmale.com/">David Lenaerts</a> gave us some real insights. Thanks, man!</li>
<li>And if you&#8217;re using FDT you should check out: <a href="http://blog.powerflasher.de/macht-euer-fdt-molehill-ready/">http://blog.powerflasher.de/macht-euer-fdt-molehill-ready/</a> (german).</li>
</ul>
<p><strong>Additional useful links:</strong></p>
<ul>
<li><a href="http://www.appannie.com/">http://www.appannie.com/</a></li>
<li><a href="http://flixel.org/">http://flixel.org/</a></li>
<li><a href="http://pushbuttonengine.com/">http://pushbuttonengine.com/</a> (like last year!;)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/04/08/ffk11-beyond-tellerrand-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iOS development with AIR 2.6 using FDT and my new friend ANT</title>
		<link>http://blog.derraab.com/2011/04/04/ios-development-with-air-2-6-using-fdt-and-my-new-friend-ant/</link>
		<comments>http://blog.derraab.com/2011/04/04/ios-development-with-air-2-6-using-fdt-and-my-new-friend-ant/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 22:21:55 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash on iOS]]></category>
		<category><![CDATA[iPhone / iPad]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=557</guid>
		<description><![CDATA[Adobe recently released AIR 2.6 with improved iOS support, so I finally had to get into using ADT with ANT. My editor of choice is FDT so I wanted to do as less extra work as possible. Mainly because I&#8217;m &#8230; <a href="http://blog.derraab.com/2011/04/04/ios-development-with-air-2-6-using-fdt-and-my-new-friend-ant/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Adobe recently released AIR 2.6 with improved iOS support, so I finally had to get into using ADT with ANT. My editor of choice is FDT so I wanted to do as less extra work as possible. Mainly because I&#8217;m no terminal-guy. I need a clean GUI holding my hand while setting up workspaces, linking libraries and stuff like that. In other words, command line and compiler arguments are freaking me out. <img src='http://blog.derraab.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I read a lot of blogposts and articles (see link list on the bottom of this post) but most of them compile SWFs using ANT, which means setting source path and stuff like that as command line arguments. But hey, FDT does this already during my daily workflow, so to me it seems natural reusing this within the iOS packaging process.</p>
<p>So I won&#8217;t comment a lot what I came up with because all of this can be read on one of the sites below, but show you simply a screenshot of my &#8220;IOSAIRTest&#8221; workspace structure and of course the ANT files. Notice that I&#8217;m not into having different directories for debug, publish, testing and so. I like to have all source files clean and separated by file type (would have an mxml folder too):</p>
<p><a href="http://blog.derraab.com/wp-content/uploads/2011/04/AIRTestWorkspace.jpg"><img src="http://blog.derraab.com/wp-content/uploads/2011/04/AIRTestWorkspace.jpg" alt="" title="AIRTestWorkspace" width="310" height="446" class="alignnone size-full wp-image-555" /></a></p>
<p>You will find the most interesting files in src/ant. Let&#8217;s start with <code>local.properties</code> which just defines the SDK path:</p>

<div class="wp_syntax"><div class="code"><pre class="ant" style="font-family:monospace;">FLEX_HOME=/Users/{USERNAME}/Path/To/FlexSDKs/4.5.0.17689_AIR_2.6
MXMLC=${FLEX_HOME}/bin/mxmlc
ADT=${FLEX_HOME}/bin/adt</pre></div></div>

<p>Within <code>build.properties</code> you setup all params regarding your project:</p>

<div class="wp_syntax"><div class="code"><pre class="ant" style="font-family:monospace;">app.rootdir=./../..
app.descriptor=${app.rootdir}/bin/IOSAIRTest-app.xml
app.rootfile=IOSAIRTest.swf
app.sourcedir=${app.rootdir}/src/as
app.bindir=${app.rootdir}/bin
app.source=${app.sourcedir}/de/superclass/IOSAIRTest.as
app.includes=assets icons Default.png Default-Portrait.png
&nbsp;
build.storetype=pkcs12
build.keystore=${app.rootdir}/resources/ios/iPhoneDevCert.p12
build.storepass={PASSWORD;)}
build.mobileprofile=${app.rootdir}/resources/ios/AIR_TEST.mobileprovision
build.name=IOSAIRTest.ipa
&nbsp;
fdt.projectname=AIRTest
fdt.mainclass=${app.source}
fdt.target=${app.bindir}/${app.rootfile}</pre></div></div>

<p>And <code>build.xml</code> contains four ways to create the IPA package and the according FDT tasks:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;AIR export&quot;</span> <span style="color: #000066;">basedir</span>=<span style="color: #ff0000;">&quot;.&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">&quot;local.properties&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">&quot;build.properties&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
    <span style="color: #808080; font-style: italic;">&lt;!-- FDT tasks</span>
&nbsp;
<span style="color: #808080; font-style: italic;">        see http://fdt.powerflasher.com/docs/FDT_Ant_Tasks#fdt.launch.application - for documentation</span>
<span style="color: #808080; font-style: italic;">        see http://fdt.powerflasher.com/docs/FDT_and_Ant_Tutorial#Your_First_Task:_Compiling_.26_JRE_Error - if you run into errors!</span>
<span style="color: #808080; font-style: italic;">    --&gt;</span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;FDT create SWF&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fdt.launch.resetFlexCompiler</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fdt.launch.application</span></span>
<span style="color: #009900;">            <span style="color: #000066;">projectname</span>=<span style="color: #ff0000;">&quot;${fdt.projectname}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">mainclass</span>=<span style="color: #ff0000;">&quot;${fdt.mainclass}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">profile</span>=<span style="color: #ff0000;">&quot;false&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;false&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;${fdt.target}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">startswf</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;FDT create SWF debug&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fdt.launch.resetFlexCompiler</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fdt.launch.application</span></span>
<span style="color: #009900;">            <span style="color: #000066;">projectname</span>=<span style="color: #ff0000;">&quot;${fdt.projectname}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">mainclass</span>=<span style="color: #ff0000;">&quot;${fdt.mainclass}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">profile</span>=<span style="color: #ff0000;">&quot;false&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;${fdt.target}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">startswf</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #808080; font-style: italic;">&lt;!-- ADT tasks --&gt;</span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;iOS create IPA debug&quot;</span> <span style="color: #000066;">depends</span>=<span style="color: #ff0000;">&quot;FDT create SWF debug&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${ADT}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-package</span>
<span style="color: #009900;">                        -target ipa-debug</span>
<span style="color: #009900;">                        -storetype ${build.storetype}</span>
<span style="color: #009900;">                        -keystore ${build.keystore}</span>
<span style="color: #009900;">                        -storepass ${build.storepass}</span>
<span style="color: #009900;">                        -provisioning-profile ${build.mobileprofile}</span>
<span style="color: #009900;">                        ${app.bindir}/${build.name}</span>
<span style="color: #009900;">                        ${app.descriptor}</span>
<span style="color: #009900;">                        -C ${app.bindir} ${app.rootfile} ${app.includes}</span>
<span style="color: #009900;">            &quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;iOS create IPA test&quot;</span> <span style="color: #000066;">depends</span>=<span style="color: #ff0000;">&quot;FDT create SWF&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${ADT}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-package</span>
<span style="color: #009900;">                        -target ipa-test</span>
<span style="color: #009900;">                        -storetype ${build.storetype}</span>
<span style="color: #009900;">                        -keystore ${build.keystore}</span>
<span style="color: #009900;">                        -storepass ${build.storepass}</span>
<span style="color: #009900;">                        -provisioning-profile ${build.mobileprofile}</span>
<span style="color: #009900;">                        ${app.bindir}/${build.name}</span>
<span style="color: #009900;">                        ${app.descriptor}</span>
<span style="color: #009900;">                        -C ${app.bindir} ${app.rootfile} ${app.includes}</span>
<span style="color: #009900;">            &quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;iOS create IPA ad-hoc&quot;</span> <span style="color: #000066;">depends</span>=<span style="color: #ff0000;">&quot;FDT create SWF&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${ADT}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-package</span>
<span style="color: #009900;">                        -target ipa-ad-hoc</span>
<span style="color: #009900;">                        -storetype ${build.storetype}</span>
<span style="color: #009900;">                        -keystore ${build.keystore}</span>
<span style="color: #009900;">                        -storepass ${build.storepass}</span>
<span style="color: #009900;">                        -provisioning-profile ${build.mobileprofile}</span>
<span style="color: #009900;">                        ${app.bindir}/${build.name}</span>
<span style="color: #009900;">                        ${app.descriptor}</span>
<span style="color: #009900;">                        -C ${app.bindir} ${app.rootfile} ${app.includes}</span>
<span style="color: #009900;">            &quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;iOS create IPA app-store&quot;</span> <span style="color: #000066;">depends</span>=<span style="color: #ff0000;">&quot;FDT create SWF&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${ADT}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-package</span>
<span style="color: #009900;">                        -target ipa-app-store</span>
<span style="color: #009900;">                        -storetype ${build.storetype}</span>
<span style="color: #009900;">                        -keystore ${build.keystore}</span>
<span style="color: #009900;">                        -storepass ${build.storepass}</span>
<span style="color: #009900;">                        -provisioning-profile ${build.mobileprofile}</span>
<span style="color: #009900;">                        ${app.bindir}/${build.name}</span>
<span style="color: #009900;">                        ${app.descriptor}</span>
<span style="color: #009900;">                        -C ${app.bindir} ${app.rootfile} ${app.includes}</span>
<span style="color: #009900;">            &quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>If you&#8217;re not sure how to get started with all this AIR 2.6 stuff because it&#8217;s currently not integrated in the Flex SDKs &#8211; follow this steps:</p>
<ul>
<li><a href="http://get.adobe.com/air/">Get Adobe AIR runtime</a></li>
<li><a href="http://www.adobe.com/products/air/sdk/">Get Adobe AIR SDK</a></li>
<li><a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads">Get fresh Flex SDK of your choice</a></li>
<li><a href="http://kb2.adobe.com/cps/495/cpsid_49532.html">Overlay AIR SDK within the downloaded Flex SDK</a></li>
<li>Set compiler argument <code>-target-player=11</code> to access the new APIs (<a href="http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html">more</a>)</li>
</ul>
<p>Loads of linked informations:</p>
<p><a href="http://blogs.adobe.com/cantrell/archives/2011/03/how-to-use-air-2-6-with-flash-builder-4.html">http://blogs.adobe.com/cantrell/archives/2011/03/how-to-use-air-2-6-with-flash-builder-4.html</a><br />
<a href="http://www.mobilerevamp.org/2010/07/30/how-to-build-your-first-air4android-application-using-fdt-and-eclipse/">http://www.mobilerevamp.org/2010/07/30/how-to-build-your-first-air4android-application-using-fdt-and-eclipse/</a><br />
<a href="https://code.google.com/p/air-on-android-with-fdt/">https://code.google.com/p/air-on-android-with-fdt/</a><br />
<a href="http://www.beautifycode.com/flex-hero-mobile-project-template-for-fdt-4-2?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+beautifycode+%28Beautify+Code+-+Web+Development+%26+Actionscript+%28EN%29%29">http://www.beautifycode.com/flex-hero-mobile-project-template-for-fdt-4-2</a><br />
<a href="http://www.beautifycode.com/publish-package-an-air-file-with-fdt4">http://www.beautifycode.com/publish-package-an-air-file-with-fdt4</a><br />
<a href="http://labs.almerblank.com/2011/03/using-ant-to-compile-a-flex-mobile-project-for-ios/">http://labs.almerblank.com/2011/03/using-ant-to-compile-a-flex-mobile-project-for-ios/</a><br />
<a href="http://va.lent.in/blog/2011/03/25/air2-6-app-for-ios/">http://va.lent.in/blog/2011/03/25/air2-6-app-for-ios/</a> (Thanks for ANT files!)<br />
<a href="http://developerartofwar.com/2011/03/24/air-2-6-on-ipad-2-in-15-mins/">http://developerartofwar.com/2011/03/24/air-2-6-on-ipad-2-in-15-mins/</a><br />
<a href="http://karoshiethos.com/2010/04/06/use-fdt-folder-path-variables-in-ant/">http://karoshiethos.com/2010/04/06/use-fdt-folder-path-variables-in-ant/</a><br />
<a href="http://fdt.powerflasher.com/docs/FDT_Ant_Tasks#fdt.launch.application">http://fdt.powerflasher.com/docs/FDT_Ant_Tasks#fdt.launch.application</a><br />
<a href="http://labs.almerblank.com/2011/03/using-ant-to-compile-a-flex-mobile-project-for-ios/">http://labs.almerblank.com/2011/03/using-ant-to-compile-a-flex-mobile-project-for-ios/</a></p>
<p>Update:<br />
<a href="http://www.blackcj.com/blog/2011/04/04/ios-android-and-blackberry-in-a-single-click-with-ant/">http://www.blackcj.com/blog/2011/04/04/ios-android-and-blackberry-in-a-single-click-with-ant/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/04/04/ios-development-with-air-2-6-using-fdt-and-my-new-friend-ant/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash iOS packager update released!</title>
		<link>http://blog.derraab.com/2011/03/22/flash-ios-packager-update-released/</link>
		<comments>http://blog.derraab.com/2011/03/22/flash-ios-packager-update-released/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 08:57:49 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash on iOS]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=522</guid>
		<description><![CDATA[Everything New in Adobe AIR 2.6 (read all on Christian Cantrells blog): Asynchronous Bitmap Decoding Owned Windows Bitmap Capture in StageWebView Microphone support on iOS StageWebView on iOS Multitasking on iOS Retina Support on iOS iOS Camera, CameraUI, and CameraRoll &#8230; <a href="http://blog.derraab.com/2011/03/22/flash-ios-packager-update-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Everything New in Adobe AIR 2.6 (<a href="http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html">read all on Christian Cantrells blog</a>):</p>
<blockquote>
<ul>
<li>Asynchronous Bitmap Decoding</li>
<li>Owned Windows</li>
<li>Bitmap Capture in StageWebView</li>
<li>Microphone support on iOS</li>
<li>StageWebView on iOS</li>
<li>Multitasking on iOS</li>
<li>Retina Support on iOS</li>
<li>iOS Camera, CameraUI, and CameraRoll Support</li>
<li>Improved hardware acceleration on iOS</li>
<li>PFI is now ADT</li>
<li>Configurable panning with soft keyboard activation</li>
<li>Programmatic control of the display of the on-screen keyboard</li>
<li>Support for the Amazon Android Market (<a href="http://blogs.adobe.com/cantrell/archives/2011/03/air-2-6-applications-and-the-amazon-appstore-for-android.html">more info</a>)</li>
<li>Vector printing on Linux</li>
<li>Native cursor support</li>
<li>On-device debugging over USB (Android only)</li>
<li>Native Menu event refinement</li>
<li>Enhanced text support on Android</li>
<li>NetConnection.httpIdleTimeout</li>
<li>Bundled Android USB drivers on Windows</li>
<li>Support for the vipaccess:// URI</li>
<li>-version flag for ADT</li>
</ul>
</blockquote>
<p><a href="http://www.adobe.com/go/EN_US-H-GET-AIR">Get runtime</a> and <a href="http://www.adobe.com/products/air/sdk/">get SDK</a>.</p>
<p><a href="http://tv.adobe.com/watch/adc-presents/developing-for-ios-with-air-for-mobile-26/">Video &#8211; developing for iOS with AIR for mobile 2.6/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/03/22/flash-ios-packager-update-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Undocumented XMLUtil class in Adobe Flash CS5?</title>
		<link>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/</link>
		<comments>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:39:14 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=273</guid>
		<description><![CDATA[I tried to recompile an older Flash CS 4 project with Flash CS 5 but got this compile time error 1061: Call to a possibly undefined method reuseNodes through a reference with static type Class caused by the usage of &#8230; <a href="http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I tried to recompile an older Flash CS 4 project with Flash CS 5 but got this compile time error <code>1061: Call to a possibly undefined method reuseNodes through a reference with static type Class</code> caused by the usage of one of my utility classes:</p>
<p><strong>This didn&#8217;t work</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> de.<span style="color: #006600;">superclass</span>.<span style="color: #006600;">util</span>.<span style="color: #006600;">XMLUtil</span>;
...
<span style="color: #006600;">XMLUtil</span>.<span style="color: #006600;">someMethod</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>This still works</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">...<span style="color: #006600;">de</span>.<span style="color: #006600;">superclass</span>.<span style="color: #006600;">util</span>.<span style="color: #006600;">XMLUtil</span>.<span style="color: #006600;">someMethod</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>So there was no error in my class because it&#8217;s still usable when I use the full class package but it didn&#8217;t work when I just import it with the import statement.</p>
<p>After some research I found an undocumented <code>XMLUtil</code> class which avoids the correct access to my <code>de.superclass.util.XMLUtil</code> class.</p>
<p>This class doesn&#8217;t exist in Flash CS 4 but is available in Flash CS 5. Simply create a new FLA in Flash CS 5 an run this code on timeline</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> describeType<span style="color: #66cc66;">&#40;</span> XMLUtil <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>and you&#8217;ll get this result:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;type</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">base</span>=<span style="color: #ff0000;">&quot;Class&quot;</span> <span style="color: #000066;">isDynamic</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">isFinal</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">isStatic</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Class&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Object&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrYMin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrXMax&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrYMax&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrObj0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrObj1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagGravity&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagCollideSpace&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrType&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagRigidBody&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagRect&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSlider&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagJoint&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrLength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagSpring&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFrames&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFrame&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSimSpeed&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFluid&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAxis&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagEmitter&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAsset&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagOrigin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpring&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagKeyframes&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagKey&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagView&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagGeom&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrIndex&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCollideType&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCellSize&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringValue&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCollideSpace&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrRowDimen&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDensity&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrColDimen&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPosX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrTimeStep&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPosY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrTime&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAngle&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrColor&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrStrokeColor&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAlpha&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelA&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrFPS&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCOR&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSprings&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCOF&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrLimits&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrFixed&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrMinAngle&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrID&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDBlend&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPoseStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPoseDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrBodyDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrXMin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;accessor</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;prototype&quot;</span> <span style="color: #000066;">access</span>=<span style="color: #ff0000;">&quot;readonly&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;Class&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;nodeHasAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getIntAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;int&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;int&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getNumberAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Number&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Number&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getBoolAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getStringAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;factory</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Object&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/factory<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>So I had to rename my class to <code>de.superclass.util.XMLUtil<b>s</b></code>.</p>
<p><b>You might run into the same problems when using <code>mx.utils.XMLUtil</code> (Flex Framework) or <code>com.adobe.utils.XMLUtil</code> (AS3CoreLib) but I didn&#8217;t test it!</b></p>
<p><strong>UPDATE:</strong><br />
I found <code>XMLUtil</code> classes in<br />
<em>Adobe Flash CS5/Common/Configuration/ActionScript 3.0/libs/ik.swc</em> and<br />
<em>Adobe Flash CS5/Common/Configuration/ActionScript 3.0/libs/PffLib.swc</em></p>
<p><b>Removing the <em>$(AppConfig)/ActionScript 3.0/libs</em> directory within the ActionScript export settings avoids the problem. But I have no time to test if this directory is necessary. If you run into problems please leave me a comment!</b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aligning Flash TextField instances visually correct</title>
		<link>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/</link>
		<comments>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/#comments</comments>
		<pubDate>Sun, 16 May 2010 01:44:12 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=270</guid>
		<description><![CDATA[I was looking for an easy way to align TextField instances with different font sizes visually correct. I really thought this wouldn&#8217;t take much time but it turned out to become really frustrating. So think about a simple scenario: Try &#8230; <a href="http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was looking for an easy way to align <code>TextField</code> instances with different font sizes visually correct. I really thought this wouldn&#8217;t take much time but it turned out to become really frustrating.</p>
<p>So think about a simple scenario: Try to align two <code>TextField</code> instances with different font sizes side by side. If you just set the <code>TextField.y</code> property to the same value you will recognise that different font sizes have different top margins. Well, you might fix that by hand if you have a static layout but what if you don&#8217;t know what kind of Text will be displayed? In my case I needed to align text always on top with the same margin regardless of the headline font size.</p>
<p>I tried hard to get this done by using different methods provided by the <code>TextField</code> class. Then I tried to work with the <code>TextLineMetrics</code> class as well. Nothing worked properly for me. I needed to work with CSS formatted HTML text so I was looking for a <code>margin-top</code> style or something similar. Not available. Hm.</p>
<p>Then I remembered my solution about finding the alpha bounds within external loaded PNG files and used that. Well, the main downside is that I need to create a <code>BitmapData</code> instance to determine the exact text bounds but otherwise it worked out very well.</p>
<p>It all comes down to two simple methods that will slip into my library. At the end you will receive a rectangle representing the bounds on the <code>TextField</code> instance.</p>
<p>If you know a different way to obtain the same exact result please leave me a comment!</p>
<p>Here&#8217;s my solution:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getDisplayObjectAlphaBounds<span style="color: #66cc66;">&#40;</span> displayObject : DisplayObject, <span style="color: #0066CC;">smoothing</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span> : Rectangle
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> bitmapData : BitmapData = <span style="color: #000000; font-weight: bold;">new</span> BitmapData<span style="color: #66cc66;">&#40;</span> displayObject.<span style="color: #0066CC;">width</span>, displayObject.<span style="color: #0066CC;">height</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
        bitmapData.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> displayObject, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #0066CC;">smoothing</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> alphaBounds : Rectangle = bitmapData.<span style="color: #006600;">getColorBoundsRect</span><span style="color: #66cc66;">&#40;</span> 0x01000000, 0x01000000 <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    bitmapData.<span style="color: #006600;">dispose</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">return</span> alphaBounds;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getTextFieldTextBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> : <span style="color: #0066CC;">TextField</span>, <span style="color: #0066CC;">smoothing</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span> : Rectangle
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">background</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">backgroundColor</span> : uint = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">border</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">borderColor</span> : uint = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span>;
    <span style="color: #000000; font-weight: bold;">var</span> opaqueBackground : <span style="color: #0066CC;">Object</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">opaqueBackground</span>;
&nbsp;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    opaqueBackground = <span style="color: #000000; font-weight: bold;">null</span>;
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> textBounds : Rectangle = getDisplayObjectAlphaBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span>, <span style="color: #0066CC;">smoothing</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #0066CC;">background</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span> = <span style="color: #0066CC;">backgroundColor</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #0066CC;">border</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span> = <span style="color: #0066CC;">borderColor</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">opaqueBackground</span> = opaqueBackground;
&nbsp;
    <span style="color: #b1b100;">return</span> textBounds;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">textFormat</span> : <span style="color: #0066CC;">TextFormat</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextFormat</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">align</span> = TextFormatAlign.<span style="color: #006600;">CENTER</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">color</span> = 0x0000FF;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">font</span> = <span style="color: #ff0000;">&quot;Arial&quot;</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">size</span> = <span style="color: #cc66cc;">30</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">textField</span> : <span style="color: #0066CC;">TextField</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span> = 0x0000FF;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span> = 0x000022;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">defaultTextFormat</span> = <span style="color: #0066CC;">textFormat</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">height</span> = <span style="color: #cc66cc;">260</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>This text<span style="color: #000099; font-weight: bold;">\n</span>can be<span style="color: #000099; font-weight: bold;">\n</span>aligned<span style="color: #000099; font-weight: bold;">\n</span>properly!&quot;</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">width</span> = <span style="color: #cc66cc;">300</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">30</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">y</span> = <span style="color: #cc66cc;">30</span>;
&nbsp;
addChild<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Get bounds</span>
<span style="color: #000000; font-weight: bold;">var</span> textBounds : Rectangle = getTextFieldTextBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Draw bounds</span>
<span style="color: #000000; font-weight: bold;">var</span> shape : Shape = <span style="color: #000000; font-weight: bold;">new</span> Shape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    shape.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">x</span>;
    shape.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">y</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> g : Graphics = shape.<span style="color: #006600;">graphics</span>;
    g.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span>, 0x00FFFF <span style="color: #66cc66;">&#41;</span>;
    g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span> textBounds.<span style="color: #006600;">x</span>, textBounds.<span style="color: #006600;">y</span>, textBounds.<span style="color: #0066CC;">width</span>, textBounds.<span style="color: #0066CC;">height</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
addChild<span style="color: #66cc66;">&#40;</span> shape <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FFK10 &#8211; Flashforum conference notes</title>
		<link>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/</link>
		<comments>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 12:59:10 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[How To...]]></category>
		<category><![CDATA[iPhone / iPad]]></category>
		<category><![CDATA[Librarys]]></category>
		<category><![CDATA[Utils]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=207</guid>
		<description><![CDATA[Every year I spend two days sitting in the audience of the Flashforum conference (FFK) listening to great speakers and getting impressed by their experiments and thoughts. It&#8217;s also a good way to renew some of the basic knowledge in &#8230; <a href="http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Every year I spend two days sitting in the audience of the Flashforum conference (FFK) listening to great speakers and getting impressed by their experiments and thoughts. It&#8217;s also a good way to renew some of the basic knowledge in Flash development and of course to meet some friends in the Flash scene.</p>
<p>So this are most of my notes:</p>
<p><strong>Flash / Flex development:</strong></p>
<ul>
<li>
Jessee Freemans <a href="http://flaremulator.flashartofwar.com/">Flash Augmented Reality Debug Tool</a> provides an easy way to start with augmented reality development.
</li>
<li>
Use stunning <a href="http://www.hypeframework.org/">Hype-Framework</a> effects.
</li>
<li>
Dive into dynamic sound generation with André Michelles <a href="http://files.andre-michelle.com/AudioSandbox.zip">Audio-Sandbox</a>.
</li>
<li>
Have a look at the <a href="http://pushbuttonengine.com/">PushButton-Engine</a> for component based development.
</li>
<li>
Remember that Flex 4 includes a lot of performance features! It&#8217;s highly recommended to switch as soon as possible. For example the Embed-tag reduces PNG file size and lots of improvements are made within the Flex components.
</li>
<li>
Watch the Adobe TV video preview: <a href="http://tv.adobe.com/watch/max-2009-develop/preview-flex-for-mobile-devices">Flex for mobile devices</a>
</li>
<li>
See Christian Cantrell&#8217;s blogpost <a href="http://blogs.adobe.com/cantrell/archives/2010/04/one_application_five_screens.html">One Application , Five Screens (Including the iPad)</a>
</li>
<li>
Great tip: <a href="http://www.bytearray.org/?p=290">ByteArray.org &#8211; Why cacheAsBitmap is bad</a>
</li>
<li>
Adobe&#8217;s <a href="http://help.adobe.com/en_US/as3/mobile/index.html">Mobile Development Guide for the Flash platform</a> (applies also to desktop applications) contains performance tips like:</p>
<ul>
<li>
<code>DisplayObject.width / height</code> should be divisible by 2 as often as possible
</li>
<li>
Try to avoid <code>Event</code>s and / or stop propagation as soon as possible
</li>
<li>
Set <code>DisplayObject.mouseEnabled=false</code> if possible
</li>
<li>
Stop <code>MovieClip</code> animations when removed from stage
</li>
<li>
Use <code>TextField.opaqueBackground=true</code> if possible
</li>
<li>
Use <code>final</code> statement (<code>final class ClassName {}</code>)
</li>
<li>
Use <code>BitmapData.get / setVector()</code>
</ul>
</li>
</ul>
<p><strong>HTML / JavaScript basics:</strong></p>
<ul>
<li>
Use &#8220;Sprites&#8221; with HTML / CSS (load only one bitmap graphic containing all the asset images for your page and show only the particular relevant parts) and preload next page assets using AJAX while your current page is idle.
</li>
<li>
Since usually only 2 simultaneous domain http requests are supported by browsers it&#8217;s a good practice to distribute contents from various ip addresses (use asset-servers for example).
</li>
<li>
Load only visible parts of your site using JavaScript viewport events.
</li>
</ul>
<p><strong>Useful workflow utils:</strong></p>
<ul>
<li>
<a href="http://www.subversion-server.com/">Subversion Server</a> &#8211; Hosting
</li>
<li>
<a href="http://www.omnigroup.com/products/omnifocus/">Omni Focus</a> &#8211; Personal task management
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Planning_poker">Planning Poker</a> &#8211; Consensus-based estimation technique for estimating
</li>
<li>
<a href="http://www.pivotaltracker.com/">Pivotal Tracker</a> &#8211; Agile project management tool
</li>
<li>
<a href="http://www.ideo.com/news/method-card-iphone-application/">IDEO Method Cards</a> &#8211; iPhone application
</li>
<li>
<a href="http://basecamphq.com/">Basecamp</a> &#8211; Get projects done
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash and Amazon SimpleDB</title>
		<link>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/</link>
		<comments>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 21:05:28 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Librarys]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=146</guid>
		<description><![CDATA[I did some research about using Amazons SimpleDB service within a Flash based application and found these basic facts: http://sdb.amazonaws.com/crossdomain.xml is not available. This means no direct calls from Flash clients in browsers are possible! Even if it would be &#8230; <a href="http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I did some research about using Amazons SimpleDB service within a Flash based application and found these basic facts:</p>
<ul>
<li>http://sdb.amazonaws.com/crossdomain.xml is not available. This means no direct calls from Flash clients in browsers are possible!</li>
<li>Even if it would be possible some day, you would need to find a secure way to deliver your AWS key to the Flash client.</li>
<li>Using a web proxy is a solution that would cause a lot of traffic on your server.</li>
</ul>
<p>So using Amazons SimpleDB for browser based Flash applications makes not much sense to me.<br />
It might be more useful for Flash applications running on local machines like Flash projectors or Adobe AIR applications but there is still a security problem with hiding your AWS key.</p>
<p>Anyway, I found two ActionScript libraries that might be useful:<br />
<a href="http://code.google.com/p/actionscript-simpledb-library/">http://code.google.com/p/actionscript-simpledb-library/</a><br />
<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1365">http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1365</a></p>
<p>And this thread in Amazons discussion forums:<br />
<a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19698">http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19698</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>URLRequest with HTTP authentication</title>
		<link>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/</link>
		<comments>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 12:14:26 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[How To...]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=123</guid>
		<description><![CDATA[I found a good explanation how to support HTTP authentication with URLRequests here. That&#8217;s the most interesting part: Best I can tell, for some reason, this only works where request method is POST; the headers don&#8217;t get set with GET &#8230; <a href="http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I found a good explanation how to support HTTP authentication with URLRequests <a href="http://stackoverflow.com/questions/509219/flex-3-how-to-support-http-authentication-urlrequest">here</a>.</p>
<p>That&#8217;s the most interesting part:</p>
<blockquote><p>
Best I can tell, for some reason, this only works where request method is POST; the headers don&#8217;t get set with GET requests.</p>
<p>Interestingly, it also fails unless at least one URLVariables name-value pair gets packaged with the request, as indicated above. That&#8217;s why many of the examples you see out there (including mine) attach &#8220;name=John+Doe&#8221; &#8212; it&#8217;s just a placeholder for some data that URLRequest seems to require when setting any custom HTTP headers. Without it, even a properly authenticated POST request will also fail.</p>
<p>You&#8217;ll almost surely have to modify your crossdomain.xml file to accommodate the header(s) you&#8217;re going to be sending. In my case, I&#8217;m using this, which is a rather wide-open policy file in that it accepts from any domain, so in your case, you might want to limit things a bit more, depending on how security-conscious you are:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-access-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-http-request-headers-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">headers</span>=<span style="color: #ff0000;">&quot;Authorization&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>&#8230; and that seems to work; more information on this one is available from Adobe <a href="http://kb2.adobe.com/cps/403/kb403185.html">here</a>).</p>
<p>Apparently, Flash player version 9.0.115.0 completely blocks all Authorization headers (more information on this one <a href="http://kb2.adobe.com/cps/403/kb403184.html">here</a>), so you&#8217;ll probably want to keep that in mind, too.
</p></blockquote>
<p>So this little code snippet explains the basics:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Base64Encoder contained in Flex SDK</span>
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">Base64Encoder</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Encode username and password</span>
<span style="color: #000000; font-weight: bold;">var</span> base64Encoder : Base64Encoder = <span style="color: #000000; font-weight: bold;">new</span> Base64Encoder<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;        
    base64Encoder.<span style="color: #006600;">encode</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;username:password&quot;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Create authorization request header</span>
<span style="color: #000000; font-weight: bold;">var</span> urlRequestHeader : URLRequestHeader = <span style="color: #000000; font-weight: bold;">new</span> URLRequestHeader<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Authorization&quot;</span>, <span style="color: #ff0000;">&quot;Basic &quot;</span> + base64Encoder.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// URLRequest setup</span>
<span style="color: #000000; font-weight: bold;">var</span> urlRequest : URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;url&quot;</span> <span style="color: #66cc66;">&#41;</span>;        
    <span style="color: #808080; font-style: italic;">// Needs to send some data!!        </span>
    urlRequest.<span style="color: #0066CC;">data</span> = <span style="color: #000000; font-weight: bold;">new</span> URLVariables<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;name=John+Doe&quot;</span> <span style="color: #66cc66;">&#41;</span>;        
    <span style="color: #808080; font-style: italic;">// Only supported with POST method!!        </span>
    urlRequest.<span style="color: #006600;">method</span> = URLRequestMethod.<span style="color: #006600;">POST</span>;        
    <span style="color: #808080; font-style: italic;">// Apply authorization request header        </span>
    urlRequest.<span style="color: #006600;">requestHeaders</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span> urlRequestHeader <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

