<?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>Nick Kuh - Freelance iPhone, iPad, iOS Developer, Trainer and Consultant - Brighton, UK &#187; Flex</title>
	<atom:link href="http://www.nickkuh.com/category/flash-flex-air/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nickkuh.com</link>
	<description>Nick Kuh is a Freelance iPhone, iPad, iOS Developer, Trainer and Consultant based in Brighton, UK</description>
	<lastBuildDate>Thu, 10 Nov 2011 20:40:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Prodigi &#8211; Manga High: Flex 4 Application</title>
		<link>http://www.nickkuh.com/flash-flex-air/flex-4-application-prodigi-manga-high/2009/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/flex-4-application-prodigi-manga-high/2009/10/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 08:51:15 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Adobe Flash, Flex and Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4: Gumbo]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/new/?p=266</guid>
		<description><![CDATA[Prodigi, a key part of the new MangaHigh.com website,  enables teachers to author GCSE Maths questions for every lesson of the National Curriculum. Then activities are dynamically generated for students in playback mode.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Prodigi, a key part of the new <a href="http://www.mangahigh.com">MangaHigh.com</a> website,  enables teachers to author GCSE Maths questions for every lesson of the National Curriculum. Then activities are dynamically generated for students in playback mode. Take a look at the promo video:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/wYJ5nNsXeVc&#038;hl=en_GB&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wYJ5nNsXeVc&#038;hl=en_GB&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>A lot of my work during 2009 has been the development of this Flex RIA Content Authoring System. Prodigi serves 3 purposes:</p>
<ol>
<li>It dynamically generates interactive online Maths lessons for every topic and subtopic of the UK Maths GCSE National Curriculum. The student experience tracks student attainment and progress levels and adjusts it&#8217;s questions accordingly. It aims to help, challenge and improve student&#8217;s knowledge of GCSE Maths.</li>
<li>Prodigi sources it&#8217;s Maths questions from a database of hundreds of thousands of questions that have been submitted by Maths teachers. I had to develop an Author Mode for Prodigi to enable Teachers to create these questions. Author mode includes features such as multiple question templates and layouts, a complex equation editor, save and submission functions.</li>
<li>The third mode of Prodigi is Auditor Mode enabling the top Math&#8217;s Teachers/Professors at MangaHigh to quickly assess queued Maths questions, accept, reject, comment on them etc.</li>
</ol>
<p><span id="more-266"></span>Prodigi is an example of an RIA that uses Flex for it&#8217;s strengths but doesn&#8217;t fall down by Flex overuse. The Flex app is a part of a larger PHP Application that is powered by the <a href="http://framework.zend.com">Zend Framework</a>. The Flex part communicates with the PHP Application via Zend AMF (Flash&#8217;s <a href="http://en.wikipedia.org/wiki/Action_Message_Format">Action Message Format</a>).</p>
<p>I was commissioned by Manga High to:</p>
<ul>
<li> Design/conceive the technical infrastructure of Prodigi</li>
<li>Specify the <a href="http://en.wikipedia.org/wiki/Data_Transfer_Object">Data Transfer Objects</a> (DTOs) and client/remote server communication protocols</li>
<li>Build the Flex 4 client-side of the RIA: Playback/Author/Auditor modes; Modular Question Templates/Layouts; the application architecture.</li>
</ul>
<p>This project has been a big success with the client and <a href="http://mangahigh.com ">MangaHigh.com </a> launched 23rd September 2009. There&#8217;s been a lot of press coverage about the new site, highlights include Maths Guru Marcus du Sautoy interviewed on<a href="http://news.bbc.co.uk/today/hi/today/newsid_8272000/8272161.stm"> BBC&#8217;s The Today programme</a>, a slot on <a href="http://www.channel4.com/news/articles/uk/online+games+help+teach+maths/3356197">Channel 4 news</a>, a <a href="http://www.guardian.co.uk/technology/gamesblog/2009/sep/23/maths-digital-age-victor-keegan">Guardian newspaper article</a> to name but a few.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;title=Prodigi+%26%238211%3B+Manga+High%3A+Flex+4+Application" title="Bookmark this post : Prodigi &#8211; Manga High: Flex 4 Application on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;title=Prodigi+%26%238211%3B+Manga+High%3A+Flex+4+Application&amp;bodytext=Prodigi%2C+a+key+part+of+the+new+MangaHigh.com+website%2C++enables+teachers+to+author+GCSE+Maths+questions+for+every+lesson+of+the+National+Curriculum.+Then+activities+are+dynamically+generated+for+students+in+playback+mode.+Take+a+look+at+the+promo+video%3A%0D%0A%0D%0A%0D%0A%0D%0AA+lot+of+my+work+during+2009+has+been+the+development+of+thi" title="Digg this post : Prodigi &#8211; Manga High: Flex 4 Application"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;t=Prodigi+%26%238211%3B+Manga+High%3A+Flex+4+Application" title="Recommend this post : Prodigi &#8211; Manga High: Flex 4 Application on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;title=Prodigi+%26%238211%3B+Manga+High%3A+Flex+4+Application" title="Share this post : Prodigi &#8211; Manga High: Flex 4 Application on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F&amp;title=Prodigi+%26%238211%3B+Manga+High%3A+Flex+4+Application" title="Share this post : Prodigi &#8211; Manga High: Flex 4 Application with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex-4-application-prodigi-manga-high%2F2009%2F10%2F" title="Tweet this post : Prodigi &#8211; Manga High: Flex 4 Application on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/flex-4-application-prodigi-manga-high/2009/10/feed" title="Follow this post : Prodigi &#8211; Manga High: Flex 4 Application comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/flex-4-application-prodigi-manga-high/2009/10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unexpected scroll results with HBox/VBox/Containers using percent height/width</title>
		<link>http://www.nickkuh.com/flash-flex-air/unexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth/2009/04/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/unexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth/2009/04/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 11:57:19 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Adobe Flash, Flex and Air]]></category>
		<category><![CDATA[Bugs and issues]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flex container]]></category>
		<category><![CDATA[percentHeight]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=148</guid>
		<description><![CDATA[The objective: The screen grab below is taken from a Flex application I&#8217;m building. This page of the app comprises of 2 VBoxes inside an HBox. The 2 VBoxes need to size to 100% of the height of the HBox container. The user can edit any of the text fields. When the user edits the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>The objective:</strong></p>
<p>The screen grab below is taken from a Flex application I&#8217;m building. This page of the app comprises of 2 VBoxes inside an HBox. The 2 VBoxes need to size to 100% of the height of the HBox container. The user can edit any of the text fields. When the user edits the body text of the left column, if they use up all the vertical space of that left VBox then I&#8217;d like the VBox containing the title and the boy text to create scroll bars, not to resize it&#8217;s parent VBox. Simple right?</p>
<p><a href="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-141.png"><img class="aligncenter size-full wp-image-151" title="picture-141" src="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-141.png" alt="" width="500" height="203" /></a></p>
<p>Not so simple&#8230; Here&#8217;s a snippet of the code:</p>
<blockquote><p>&lt;mx:VBox width=&#8221;50%&#8221; height=&#8221;100%&#8221; styleName=&#8221;whiteContainer&#8221;&gt;</p>
<p>&lt;mx:Box direction=&#8221;vertical&#8221; width=&#8221;100%&#8221; height=&#8221;100%&#8221; styleName=&#8221;scrollableContentWithText&#8221; &gt;<br />
&lt;mx:HBox width=&#8221;100%&#8221; verticalAlign=&#8221;middle&#8221;&gt;<br />
&lt;mx:Image source=&#8221;assets/images/book74x42.png&#8221; width=&#8221;74&#8243; height=&#8221;42&#8243; /&gt;<br />
&lt;controls:AdvancedTextArea id=&#8221;title1&#8243; multiline=&#8221;false&#8221; textModify=&#8221;captialize&#8221; styleName=&#8221;whiteContainerHeader&#8221; condenseWhite=&#8221;true&#8221; width=&#8221;100%&#8221; prompt=&#8221;{resourceManager.getString(&#8216;resources&#8217;,'ENTER_TEXT_PROMPT&#8217;).toUpperCase()}&#8221; /&gt;<br />
&lt;/mx:HBox&gt;<br />
&lt;controls:AdvancedTextArea id=&#8221;body1&#8243; styleName=&#8221;blueOnWhiteText&#8221; condenseWhite=&#8221;true&#8221; width=&#8221;100%&#8221; prompt=&#8221;{resourceManager.getString(&#8216;resources&#8217;,'ENTER_TEXT_PROMPT&#8217;)}&#8221; /&gt;<br />
&lt;/mx:Box&gt;<br />
&lt;/mx:VBox&gt;</p></blockquote>
<p>And here are the results when that body text gets too deep for the VBox:</p>
<p><a href="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-13.png"><img class="aligncenter size-full wp-image-154" title="picture-13" src="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-13.png" alt="" width="500" height="207" /></a></p>
<p>So the whole parent HBox ended up getting stretched. Not the results I expected.</p>
<p>The solution as it turns out is pretty straight forward. The VBox containing the left column needs it&#8217;s minHeight and minWidth properties set to 0! The reason is that with containers using percentage based sizing flex sets the min height and min width properties to the cumulative width and height of the container&#8217;s children components. So in my example as the editable text component gets deeper/taller this automatically increases the minHeight property of it&#8217;s parent container.</p>
<p>So by explicitly setting the parent container&#8217;s minHeight and minWidth to 0:</p>
<blockquote><p>&lt;mx:VBox width=&#8221;50%&#8221; height=&#8221;100%&#8221; styleName=&#8221;whiteContainer&#8221;&gt;<br />
&lt;mx:Box direction=&#8221;vertical&#8221; width=&#8221;100%&#8221; height=&#8221;100%&#8221; minHeight=&#8221;0&#8243; minWidth=&#8221;0&#8243; styleName=&#8221;scrollableContentWithText&#8221; &gt;<br />
&lt;mx:HBox width=&#8221;100%&#8221; verticalAlign=&#8221;middle&#8221;&gt;<br />
&lt;mx:Image source=&#8221;assets/images/book74x42.png&#8221; width=&#8221;74&#8243; height=&#8221;42&#8243; /&gt;<br />
&lt;controls:AdvancedTextArea id=&#8221;title1&#8243; multiline=&#8221;false&#8221; textModify=&#8221;captialize&#8221; styleName=&#8221;whiteContainerHeader&#8221; condenseWhite=&#8221;true&#8221; width=&#8221;100%&#8221; prompt=&#8221;{resourceManager.getString(&#8216;resources&#8217;,'ENTER_TEXT_PROMPT&#8217;).toUpperCase()}&#8221; /&gt;<br />
&lt;/mx:HBox&gt;<br />
&lt;controls:AdvancedTextArea id=&#8221;body1&#8243; styleName=&#8221;blueOnWhiteText&#8221; condenseWhite=&#8221;true&#8221; width=&#8221;100%&#8221; prompt=&#8221;{resourceManager.getString(&#8216;resources&#8217;,'ENTER_TEXT_PROMPT&#8217;)}&#8221; /&gt;<br />
&lt;/mx:Box&gt;<br />
&lt;/mx:VBox&gt;</p></blockquote>
<p>&#8230; I ended up with the desired result:</p>
<p><a href="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-15.png"><img class="aligncenter size-full wp-image-155" title="picture-15" src="http://www.nickkuh.com/wp-content/uploads/2009/04/picture-15.png" alt="" width="500" height="204" /></a></p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;title=Unexpected+scroll+results+with+HBox%2FVBox%2FContainers+using+percent+height%2Fwidth" title="Bookmark this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;title=Unexpected+scroll+results+with+HBox%2FVBox%2FContainers+using+percent+height%2Fwidth&amp;bodytext=The+objective%3A%0D%0A%0D%0AThe+screen+grab+below+is+taken+from+a+Flex+application+I%27m+building.+This+page+of+the+app+comprises+of+2+VBoxes+inside+an+HBox.+The+2+VBoxes+need+to+size+to+100%25+of+the+height+of+the+HBox+container.+The+user+can+edit+any+of+the+text+fields.+When+the+user+edits+the+body+text+of+the+left+column%2C+if+they" title="Digg this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;t=Unexpected+scroll+results+with+HBox%2FVBox%2FContainers+using+percent+height%2Fwidth" title="Recommend this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;title=Unexpected+scroll+results+with+HBox%2FVBox%2FContainers+using+percent+height%2Fwidth" title="Share this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F&amp;title=Unexpected+scroll+results+with+HBox%2FVBox%2FContainers+using+percent+height%2Fwidth" title="Share this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Funexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth%2F2009%2F04%2F" title="Tweet this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/unexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth/2009/04/feed" title="Follow this post : Unexpected scroll results with HBox/VBox/Containers using percent height/width comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/unexpected-scroll-results-with-hboxvboxcontainers-using-percent-heightwidth/2009/04/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>How to make a custom Flash Preloader for a Flex Application</title>
		<link>http://www.nickkuh.com/flash-flex-air/how-to-make-a-custom-flash-preloader-for-a-flex-application/2009/03/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/how-to-make-a-custom-flash-preloader-for-a-flex-application/2009/03/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 11:32:30 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Adobe Flash, Flex and Air]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Preloader]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=137</guid>
		<description><![CDATA[There are a number of useful Flex techniques I use in the Flex Apps I develop all the time and I thought that some of these might be useful for others. So here&#8217;s the first&#8230; How to replace that nasty default Flex preloader with your own Flash animated version. Here&#8217;s the result (I just downloaded [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>There are a number of useful Flex techniques I use in the Flex Apps I develop all the time and I thought that some of these might be useful for others. So here&#8217;s the first&#8230; How to replace that nasty default Flex preloader with your own Flash animated version. Here&#8217;s the result (I just downloaded a free preloader animation from the web and applied it to this tutorial:</p>
<p><a href="http://www.nickkuh.com/demos/custom_preloader/">http://www.nickkuh.com/demos/custom_preloader/</a></p>
<p>Flex source files can be downloaded from here:</p>
<p><a href="http://www.nickkuh.com/demos/custom_preloader/srcview/CustomPreloader.zip">http://www.nickkuh.com/demos/custom_preloader/srcview/CustomPreloader.zip</a></p>
<p>How it works:</p>
<p>Inside the main application MXML you can specify a custom preloader class for your application to use:</p>
<blockquote><p>&lt;mx:Application xmlns:mx=&#8221;http://www.adobe.com/2006/mxml&#8221;<br />
layout=&#8221;vertical&#8221;<br />
backgroundColor=&#8221;#000000&#8243;<br />
backgroundGradientAlphas=&#8221;[0.0,0.0]&#8220;<br />
paddingTop=&#8221;30&#8243;<br />
applicationComplete=&#8221;init()&#8221;<br />
preloader=&#8221;com.nickkuh.preload.Preloader&#8221;  viewSourceURL=&#8221;srcview/index.html&#8221;&gt;</p></blockquote>
<p>So you&#8217;ll see I&#8217;m pointing the preloader to my com.nickkuh.preload.Preloader class. This class extends the default Flex DownloadProgressBar class: mx.preloaders.DownloadProgressBar. The Flex Framework passes the application it&#8217;s loading to preloader setter method which I&#8217;m overriding:</p>
<blockquote><p>override public function set preloader(value:Sprite):void{<br />
value.addEventListener(ProgressEvent.PROGRESS, progressEventHandler, false, 0, true);<br />
value.addEventListener(Event.COMPLETE, completeEventHandler, false, 0, true);<br />
value.addEventListener(FlexEvent.INIT_PROGRESS, initProgressEventHandler, false, 0, true);<br />
value.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteEventHandler, false, 0, true);<br />
}</p></blockquote>
<p>So my custom Preloader class is now able to listen to the application preloading events &#8211; halfway there&#8230;</p>
<p>In the constructor for the Preloader class I&#8217;m creating an instance of another custom class which deals with displaying the Flash loading animation and adding this instance to the stage:</p>
<blockquote><p>progressBar = new ProgressBar;<br />
this.addChild(progressBar);</p></blockquote>
<p>The Preloader class listens to the instance of the com.nickkuh.preload.ProgressBar class for the custom event ProgressBar.FADE_OUT_COMPLETE. Only when that event is fired will the Preloader class in turn fire an Event.COMPLETE event which the Flex app listens for before it displays the loaded application and fires the applicationComplete event. So this set-up enables the custom ProgressBar to control when the Flex app changes the view from preloader to application.</p>
<p>The custom ProgressBar class extends Flex&#8217;s Loader class and loads in the flash loading animation. I&#8217;ve set this up so that the ProgressBar checks for the path to the preloader.swf via FlashVars:</p>
<blockquote><p>var url:String;<br />
if (this.stage.loaderInfo.parameters.hasOwnProperty(&#8220;preloaderURL&#8221;))<br />
{<br />
url = this.stage.loaderInfo.parameters.preloaderURL;<br />
}<br />
else<br />
{<br />
url = &#8220;preloader.swf&#8221;;<br />
}<br />
var urlRequest:URLRequest = new URLRequest(url)<br />
this.load(urlRequest);</p></blockquote>
<p>You&#8217;ll find the fla for the preloader in the source files in a folder called &#8216;design&#8217;. The fla actually includes a couple of methods on frame one:</p>
<blockquote><p>stop();</p>
<p>function setProgress(n:Number)<br />
{</p>
<p>}</p>
<p>function set ready(b:Boolean)<br />
{<br />
if (b) gotoAndPlay(2);<br />
}</p></blockquote>
<p>The custom ProgressBar class calls these methods with progress updates and sets the ready setter to true when the Flex App has finished loading. If you&#8217;re loading animation is a progress bar or needs to give percentage feedback then you can customise the setProgress(n:Number) function &#8211; n will be between 0 and 1 &#8211; 1 for fully loaded.</p>
<p>In my fla once the preload completes it then plays a few more frames before fading out. This animation could be changed to you requirements.</p>
<p>Once the internal fade out complete the fla fires off an &#8220;animationComplete&#8221; event which the ProgressBar is listening out for. At this point the closeScreen method of ProgressBar handles the event and ProgressBar fades itself out. Once complete it in turn fires the FADE_OUT_COMPLETE event which causes the main Flex app to close the preloader and display your Flex App.</p>
<p>Yes, it&#8217;s a bit time consuming to make a simple preloader but I now use this set-up over and over again. Feel free to do the same!</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;title=How+to+make+a+custom+Flash+Preloader+for+a+Flex+Application" title="Bookmark this post : How to make a custom Flash Preloader for a Flex Application on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;title=How+to+make+a+custom+Flash+Preloader+for+a+Flex+Application&amp;bodytext=There+are+a+number+of+useful+Flex+techniques+I+use+in+the+Flex+Apps+I+develop+all+the+time+and+I+thought+that+some+of+these+might+be+useful+for+others.+So+here%27s+the+first...+How+to+replace+that+nasty+default+Flex+preloader+with+your+own+Flash+animated+version.+Here%27s+the+result+%28I+just+downloaded+a+free+preloader+anim" title="Digg this post : How to make a custom Flash Preloader for a Flex Application"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;t=How+to+make+a+custom+Flash+Preloader+for+a+Flex+Application" title="Recommend this post : How to make a custom Flash Preloader for a Flex Application on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;title=How+to+make+a+custom+Flash+Preloader+for+a+Flex+Application" title="Share this post : How to make a custom Flash Preloader for a Flex Application on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F&amp;title=How+to+make+a+custom+Flash+Preloader+for+a+Flex+Application" title="Share this post : How to make a custom Flash Preloader for a Flex Application with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fhow-to-make-a-custom-flash-preloader-for-a-flex-application%2F2009%2F03%2F" title="Tweet this post : How to make a custom Flash Preloader for a Flex Application on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/how-to-make-a-custom-flash-preloader-for-a-flex-application/2009/03/feed" title="Follow this post : How to make a custom Flash Preloader for a Flex Application comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/how-to-make-a-custom-flash-preloader-for-a-flex-application/2009/03/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CluedUp: Flex Crossword application built for the Daily Telegraph</title>
		<link>http://www.nickkuh.com/flash-flex-air/cluedup-flex-crossword-application-built-for-the-daily-telegraph/2008/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/cluedup-flex-crossword-application-built-for-the-daily-telegraph/2008/10/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 10:20:44 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Adobe Flash, Flex and Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=99</guid>
		<description><![CDATA[CluedUp is a popular subscription-based site for the Telegraph Newspaper. A skinned Flex 3 application that implements AMF remote data services, advanced skinning and modules. I developed the client-side using the Pure MVC Multicore ActionScript Framework.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-102" title="cluedup_logo" src="http://www.nickkuh.com/wp-content/uploads/2008/10/cluedup_logo.gif" alt="" width="231" height="53" />The <a href="http://www.telegraph.co.uk">Daily Telegraph</a> have just launched a new Crosswords and Sudoko site called <a href="http://www.clueduppuzzles.telegraph.co.uk">CluedUp</a> &#8211; I built the Flex Crosswords Application. Behind the scenes it&#8217;s one of my best structured projects to date and uses the following technologies/approaches:</p>
<ul>
<li><a href="http://www.adobe.com/products/flex/">Adobe Flex 3</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,161/">PureMVC MutliCore (Pipes)</a></li>
<li><a href="http://www.amfphp.org">AMFPHP Remoting</a> (for loading, saving and submitting user crossword data)</li>
</ul>
<p>This is just phase 1 of the project. Future releases will include Sudoko, Codewords, possibly the ability to download an Adobe AIR desktop version of the system, Multiplayer &#8211; how cool would it be to be able to complete a crossword puzzle with your friend via a multiplayer version of the game?!</p>
<p>I think you have to register a trial account to play the game so here are a few screengrabs&#8230;</p>
<div id="attachment_104" class="wp-caption aligncenter" style="width: 421px"><a href="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-5.png"><img class="size-full wp-image-104" title="When the user initially selects a crossword the board/clues are blurred until they begin" src="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-5.png" alt="When the user initially selects a crossword the board/clues are blurred until they begin" width="411" height="392" /></a>
<p class="wp-caption-text">When the user initially selects a crossword the board/clues are blurred until they begin</p>
</div>
<div id="attachment_105" class="wp-caption aligncenter" style="width: 430px"><a href="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-6.png"><img class="size-full wp-image-105" title="The custom crossword board component subclasses the Flex DataGrid component" src="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-6.png" alt="The custom crossword board component subclasses the Flex DataGrid component" width="420" height="398" /></a>
<p class="wp-caption-text">The custom crossword board component subclasses the Flex DataGrid component</p>
</div>
<div id="attachment_106" class="wp-caption aligncenter" style="width: 430px"><a href="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-7.png"><img class="size-full wp-image-106" title="When you exit a crossword the application checks whether you have unsaved changes" src="http://www.nickkuh.com/wp-content/uploads/2008/10/picture-7.png" alt="When you exit a crossword the application checks whether you've got unsaved changes" width="420" height="400" /></a>
<p class="wp-caption-text">When you exit a crossword the application checks whether you have unsaved changes</p>
</div>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;title=CluedUp%3A+Flex+Crossword+application+built+for+the+Daily+Telegraph" title="Bookmark this post : CluedUp: Flex Crossword application built for the Daily Telegraph on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;title=CluedUp%3A+Flex+Crossword+application+built+for+the+Daily+Telegraph&amp;bodytext=The+Daily+Telegraph+have+just+launched+a+new+Crosswords+and+Sudoko+site+called+CluedUp+-+I+built+the+Flex+Crosswords+Application.+Behind+the+scenes+it%27s+one+of+my+best+structured+projects+to+date+and+uses+the+following+technologies%2Fapproaches%3A%0D%0A%0D%0A%09Adobe+Flex+3%0D%0A%09PureMVC+MutliCore+%28Pipes%29%0D%0A%09AMFPHP+Remoting+%28for+loading%2C" title="Digg this post : CluedUp: Flex Crossword application built for the Daily Telegraph"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;t=CluedUp%3A+Flex+Crossword+application+built+for+the+Daily+Telegraph" title="Recommend this post : CluedUp: Flex Crossword application built for the Daily Telegraph on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;title=CluedUp%3A+Flex+Crossword+application+built+for+the+Daily+Telegraph" title="Share this post : CluedUp: Flex Crossword application built for the Daily Telegraph on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F&amp;title=CluedUp%3A+Flex+Crossword+application+built+for+the+Daily+Telegraph" title="Share this post : CluedUp: Flex Crossword application built for the Daily Telegraph with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fcluedup-flex-crossword-application-built-for-the-daily-telegraph%2F2008%2F10%2F" title="Tweet this post : CluedUp: Flex Crossword application built for the Daily Telegraph on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/cluedup-flex-crossword-application-built-for-the-daily-telegraph/2008/10/feed" title="Follow this post : CluedUp: Flex Crossword application built for the Daily Telegraph comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/cluedup-flex-crossword-application-built-for-the-daily-telegraph/2008/10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nokia Headphone Designer site goes live</title>
		<link>http://www.nickkuh.com/flash-flex-air/nokia-headphone-designer-site-goes-live/2008/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/nokia-headphone-designer-site-goes-live/2008/10/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 12:18:33 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Adobe Flash, Flex and Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=33</guid>
		<description><![CDATA[I can&#8217;t claim much involvement in this project apart from a bit of AMFPHP remoting consultancy and optimization but it&#8217;s a cool site work taking a look at, Flex side developed by my 2 co-senior Flex Devs &#8211; Paddy Keane and Martin McBrearty from my agency &#8211; World Archipelago Internet http://www.nokia.com/headsetdesign More info on Paddy&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I can&#8217;t claim much involvement in this project apart from a bit of AMFPHP remoting consultancy and optimization but it&#8217;s a cool site work taking a look at, Flex side developed by my 2 co-senior Flex Devs &#8211; <a href="http://www.darklump.co.uk/blog/">Paddy Keane</a> and Martin McBrearty from my agency &#8211; <a href="http://www.wai.co.uk">World Archipelago Internet</a></p>
<p><a href="http://www.nokia.com/headsetdesign">http://www.nokia.com/headsetdesign</a></p>
<p>More info on <a href="http://www.darklump.co.uk/blog/">Paddy&#8217;s Blog</a></p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;title=Nokia+Headphone+Designer+site+goes+live" title="Bookmark this post : Nokia Headphone Designer site goes live on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;title=Nokia+Headphone+Designer+site+goes+live&amp;bodytext=I+can%27t+claim+much+involvement+in+this+project+apart+from+a+bit+of+AMFPHP+remoting+consultancy+and+optimization+but+it%27s+a+cool+site+work+taking+a+look+at%2C+Flex+side+developed+by+my+2+co-senior+Flex+Devs+-+Paddy+Keane+and+Martin+McBrearty+from+my+agency+-+World+Archipelago+Internet%0D%0A%0D%0Ahttp%3A%2F%2Fwww.nokia.com%2Fheadsetdesign" title="Digg this post : Nokia Headphone Designer site goes live"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;t=Nokia+Headphone+Designer+site+goes+live" title="Recommend this post : Nokia Headphone Designer site goes live on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;title=Nokia+Headphone+Designer+site+goes+live" title="Share this post : Nokia Headphone Designer site goes live on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F&amp;title=Nokia+Headphone+Designer+site+goes+live" title="Share this post : Nokia Headphone Designer site goes live with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fnokia-headphone-designer-site-goes-live%2F2008%2F10%2F" title="Tweet this post : Nokia Headphone Designer site goes live on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/nokia-headphone-designer-site-goes-live/2008/10/feed" title="Follow this post : Nokia Headphone Designer site goes live comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/nokia-headphone-designer-site-goes-live/2008/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Corner Radius Doesn&#8217;t work on HBox/VBox</title>
		<link>http://www.nickkuh.com/flash-flex-air/flex/corner-radius-doesnt-work-on-hboxvbox/2008/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/flex/corner-radius-doesnt-work-on-hboxvbox/2008/10/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 13:33:44 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Bugs and issues]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=30</guid>
		<description><![CDATA[I haven&#8217;t been responsible for the skinning on most of our Flex projects but today that&#8217;s exactly what I&#8217;ve been doing all day. I just discovered that setting the cornerRadius style of a HBox or VBox has no effect when used on it&#8217;s own in css or MXML. The style &#8216;borderStyle&#8217; also needs to be [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I haven&#8217;t been responsible for the skinning on most of our Flex projects but today that&#8217;s exactly what I&#8217;ve been doing all day. I just discovered that setting the cornerRadius style of a HBox or VBox has no effect when used on it&#8217;s own in css or MXML. The style &#8216;borderStyle&#8217; also needs to be set to &#8216;solid&#8217; for the cornerRadius you&#8217;ve set to display! Weird&#8230;</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;title=Corner+Radius+Doesn%26%238217%3Bt+work+on+HBox%2FVBox" title="Bookmark this post : Corner Radius Doesn&#8217;t work on HBox/VBox on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;title=Corner+Radius+Doesn%26%238217%3Bt+work+on+HBox%2FVBox&amp;bodytext=I+haven%27t+been+responsible+for+the+skinning+on+most+of+our+Flex+projects+but+today+that%27s+exactly+what+I%27ve+been+doing+all+day.+I+just+discovered+that+setting+the+cornerRadius+style+of+a+HBox+or+VBox+has+no+effect+when+used+on+it%27s+own+in+css+or+MXML.+The+style+%27borderStyle%27+also+needs+to+be+set+to+%27solid%27+for+the+corn" title="Digg this post : Corner Radius Doesn&#8217;t work on HBox/VBox"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;t=Corner+Radius+Doesn%26%238217%3Bt+work+on+HBox%2FVBox" title="Recommend this post : Corner Radius Doesn&#8217;t work on HBox/VBox on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;title=Corner+Radius+Doesn%26%238217%3Bt+work+on+HBox%2FVBox" title="Share this post : Corner Radius Doesn&#8217;t work on HBox/VBox on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F&amp;title=Corner+Radius+Doesn%26%238217%3Bt+work+on+HBox%2FVBox" title="Share this post : Corner Radius Doesn&#8217;t work on HBox/VBox with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fcorner-radius-doesnt-work-on-hboxvbox%2F2008%2F10%2F" title="Tweet this post : Corner Radius Doesn&#8217;t work on HBox/VBox on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/flex/corner-radius-doesnt-work-on-hboxvbox/2008/10/feed" title="Follow this post : Corner Radius Doesn&#8217;t work on HBox/VBox comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/flex/corner-radius-doesnt-work-on-hboxvbox/2008/10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flex CSS to SWF skinning &#8211; why the middleman?</title>
		<link>http://www.nickkuh.com/flash-flex-air/flex/flex-css-to-swf-skinning-why-the-middleman/2008/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/flex/flex-css-to-swf-skinning-why-the-middleman/2008/10/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 17:34:23 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=28</guid>
		<description><![CDATA[When I first decided to move over to Flex Development version 2 had just launched. I glanced through the feature list initially as I was trying to decide which tool to build for a cool new project that leant itself well to Flex. The project was for a Printing Company who wanted to enable users [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>When I first decided to move over to Flex Development version 2 had just launched. I glanced through the feature list initially as I was trying to decide which tool to build for a cool new project that leant itself well to Flex. The project was for a Printing Company who wanted to enable users to design their own business cards, stationary etc and output to a 300 dpi pdf, oh and be able to save their files and re-edit of course! A really nice project.</p>
<p>The application would enable the in-house designers at the print company to create design templates too which the users could use as starting blocks.</p>
<p>One of the reasons I chose Flex for the development on this project was because I thought it was able to load fonts and css at runtime to make re-skinning an application quick and simple.  This turned out not to be the case. You had to (and unfortunately still do with Flex 4) go through a middleman process of using one of the built in Flex tools to convert your css file into a style swf that was then compatible with Flex apps and could be loaded in at runtime. I really don&#8217;t know why this middle stage is required. Yes, I know that it enables you to embed swf symbols, graphics, sounds and even fonts into the style swf but isn&#8217;t the Flash Player capable of loading all these file types in at runtime (not sure about fonts &#8211; ie TTF files)? So why can&#8217;t the StyleManager class load in the css file directly at runtime, process it working out any required media files and load them in too before dispatching the style changed event? If it had been done this way then I actually think Designers could be introduced to writing Flex css files directly &#8211; they&#8217;d be able to edit the style css and keep refreshing the Flex application swf without ever having to recompile anything. To me that would be a great improvement on the Flex Design and Development workflow.</p>
<p>I did go to Mark Anders presentation at FOTB where he demoed the new software tool Thermo which is aimed specifically at Flex Skin Designers &#8211; certainly a cool edition and it&#8217;s nice to see that Adobe have reallised that Flex skinning needs improvement but we still got the middleman &#8211; not a style swf anymore, now a new XML style Flex design output with the file extension &#8216;fxg&#8217;. Anyway, I think I&#8217;ll blog about that in a separate post&#8230;</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;title=Flex+CSS+to+SWF+skinning+%26%238211%3B+why+the+middleman%3F" title="Bookmark this post : Flex CSS to SWF skinning &#8211; why the middleman? on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;title=Flex+CSS+to+SWF+skinning+%26%238211%3B+why+the+middleman%3F&amp;bodytext=When+I+first+decided+to+move+over+to+Flex+Development+version+2+had+just+launched.+I+glanced+through+the+feature+list+initially+as+I+was+trying+to+decide+which+tool+to+build+for+a+cool+new+project+that+leant+itself+well+to+Flex.+The+project+was+for+a+Printing+Company+who+wanted+to+enable+users+to+design+their+own+busin" title="Digg this post : Flex CSS to SWF skinning &#8211; why the middleman?"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;t=Flex+CSS+to+SWF+skinning+%26%238211%3B+why+the+middleman%3F" title="Recommend this post : Flex CSS to SWF skinning &#8211; why the middleman? on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;title=Flex+CSS+to+SWF+skinning+%26%238211%3B+why+the+middleman%3F" title="Share this post : Flex CSS to SWF skinning &#8211; why the middleman? on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F&amp;title=Flex+CSS+to+SWF+skinning+%26%238211%3B+why+the+middleman%3F" title="Share this post : Flex CSS to SWF skinning &#8211; why the middleman? with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-css-to-swf-skinning-why-the-middleman%2F2008%2F10%2F" title="Tweet this post : Flex CSS to SWF skinning &#8211; why the middleman? on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/flex/flex-css-to-swf-skinning-why-the-middleman/2008/10/feed" title="Follow this post : Flex CSS to SWF skinning &#8211; why the middleman? comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/flex/flex-css-to-swf-skinning-why-the-middleman/2008/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Builder 3 Development + Flash Player 10 Beta = Grief</title>
		<link>http://www.nickkuh.com/flash-flex-air/flex/flex-builder-3-development-flash-player-10-beta-grief/2008/10/</link>
		<comments>http://www.nickkuh.com/flash-flex-air/flex/flex-builder-3-development-flash-player-10-beta-grief/2008/10/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 14:42:32 +0000</pubDate>
		<dc:creator>Nick Kuh</dc:creator>
				<category><![CDATA[Bugs and issues]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.nickkuh.com/?p=25</guid>
		<description><![CDATA[I installed Flash Player 10 Beta the other day which unfortunately led to about 1 hours wasted Flex Development time this morning when I started work this morning. I tried run a Flex application I&#8217;ve been working on in debug mode. Last time I ran it on Friday it worked fine but this time I [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;source=nickkuh&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I installed Flash Player 10 Beta the other day which unfortunately led to about 1 hours wasted Flex Development time this morning when I started work this morning. I tried run a Flex application I&#8217;ve been working on in debug mode. Last time I ran it on Friday it worked fine but this time I got an Eclipse alert the moment I tried to run the debug with the following message:</p>
<blockquote><p>/Library/Internet Plug-Ins/Flash Player.plugin</p>
<p>Flex Builder cannot locate the required debugger version of Flash Player. You might need to install the debugger version of Flash Player 9 or reinstall Flex Builder.</p>
<p>Do you want to try to debug with the current version?</p></blockquote>
<p>Click yes and the app runs but no debug traces back in Flex Builder.</p>
<p>The problem turned out to be that when I installed Flash 10 Beta Player it overwrote my default Flash 9 Debug Player. I found a reference to this bug in the <a href="http://bugs.adobe.com/jira/browse/FB-13474">Adobe Bugs DB</a>. Looks like as OS X specific bug.</p>
<p>Anyway, the solution is to <a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14157&amp;sliceId=2">uninstall Flash Player</a> and then <a href="http://www.adobe.com/support/flashplayer/downloads.html">reinstall Flash 9 Debug version</a> which isn&#8217;t ideal as I&#8217;d like to keep Flash 10 Beta running.</p>
<p>If anyones knows how to run the 2 simultaneously please let me know <img src='http://www.nickkuh.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;title=Flex+Builder+3+Development+%2B+Flash+Player+10+Beta+%3D+Grief" title="Bookmark this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;title=Flex+Builder+3+Development+%2B+Flash+Player+10+Beta+%3D+Grief&amp;bodytext=I+installed+Flash+Player+10+Beta+the+other+day+which+unfortunately+led+to+about+1+hours+wasted+Flex+Development+time+this+morning+when+I+started+work+this+morning.+I+tried+run+a+Flex+application+I%27ve+been+working+on+in+debug+mode.+Last+time+I+ran+it+on+Friday+it+worked+fine+but+this+time+I+got+an+Eclipse+alert+the+mome" title="Digg this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;t=Flex+Builder+3+Development+%2B+Flash+Player+10+Beta+%3D+Grief" title="Recommend this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;title=Flex+Builder+3+Development+%2B+Flash+Player+10+Beta+%3D+Grief" title="Share this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F&amp;title=Flex+Builder+3+Development+%2B+Flash+Player+10+Beta+%3D+Grief" title="Share this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.nickkuh.com%2Fflash-flex-air%2Fflex%2Fflex-builder-3-development-flash-player-10-beta-grief%2F2008%2F10%2F" title="Tweet this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.nickkuh.com/flash-flex-air/flex/flex-builder-3-development-flash-player-10-beta-grief/2008/10/feed" title="Follow this post : Flex Builder 3 Development + Flash Player 10 Beta = Grief comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nickkuh.com/flash-flex-air/flex/flex-builder-3-development-flash-player-10-beta-grief/2008/10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

