<?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>Chuck Freedman &#187; Flex</title>
	<atom:link href="http://www.chuckstar.com/blog/category/technology/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chuckstar.com/blog</link>
	<description>excerpts from the mind of a platform evangelist</description>
	<lastBuildDate>Fri, 03 Sep 2010 21:00:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex Example: Populating Value Objects with web service XML</title>
		<link>http://www.chuckstar.com/blog/technology/flex-sample-populating-value-objects-with-web-service-xml/</link>
		<comments>http://www.chuckstar.com/blog/technology/flex-sample-populating-value-objects-with-web-service-xml/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 03:44:18 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=617</guid>
		<description><![CDATA[I am working on a little AIR application that stores data both locally (SQLlite) and on a web service (PHP/MySQL) that I&#8217;m building in parallel. When the app starts, it requests initial data to populate a pair of DataGrids in the AIR app. I&#8217;m sending a URLRequest against a URLLoader with simple params and getting [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fflex-sample-populating-value-objects-with-web-service-xml%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fflex-sample-populating-value-objects-with-web-service-xml%2F" height="61" width="51" /></a></div><p>I am working on a little AIR application that stores data both locally (SQLlite) and on a web service (PHP/MySQL) that I&#8217;m building in parallel. When the app starts, it requests initial data to populate a pair of DataGrids in the AIR app. I&#8217;m sending a URLRequest against a URLLoader with simple params and getting back XML. I am then looping through the items in the returned XML and adding them to an ArrayColletion that acts as the data provider for each DataGrid in the UI.</p>
<p>To bridge the data, I&#8217;m storing each item in a value object, so it is easier to reference the item&#8217;s properties when viewing and modifying data chosen (and moved around) in the DataGrid. I&#8217;m using a nifty trick which seems to be working great for mapping the XML child&#8217;s value right to the value object property. Take a look and see if this works for you:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> resultHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> resultXML<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">XML</span> = <span style="color: #004993;">XML</span><span style="color: #000000;">&#40;</span>e.<span style="color: #004993;">target</span>.<span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #6699cc; font-weight: bold;">var</span> items<span style="color: #000000; font-weight: bold;">:</span>ArrayCollection = <span style="color: #0033ff; font-weight: bold;">new</span> ArrayCollection<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #6699cc; font-weight: bold;">var</span> item<span style="color: #000000; font-weight: bold;">:</span>itemVO;
	<span style="color: #009900;">// Convert XML to ArrayCollection</span>
	<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">each</span><span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> itemXML<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">XML</span> <span style="color: #0033ff; font-weight: bold;">in</span> resultXML.item<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
		item = <span style="color: #0033ff; font-weight: bold;">new</span> itemsVO<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
		<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">each</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> itemProp<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">XML</span> <span style="color: #0033ff; font-weight: bold;">in</span> itemXML.<span style="color: #004993;">children</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
			<span style="color: #009900;">//Use XML node name to reference matching property in value object				</span>
			item<span style="color: #000000;">&#91;</span>itemProp.<span style="color: #004993;">name</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span> = itemProp;
		<span style="color: #000000;">&#125;</span>
		items.addItem<span style="color: #000000;">&#40;</span>item<span style="color: #000000;">&#41;</span>;
	<span style="color: #000000;">&#125;</span>		
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Of course, this only works if you create properties in your value object that match the xml nodes you are returned (or that are being returned) from the web service&#8217;s XML.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/flex-sample-populating-value-objects-with-web-service-xml/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Visualizing Stereo preview with Flash</title>
		<link>http://www.chuckstar.com/blog/technology/visualizing-voice-preview-with-flash-stereo/</link>
		<comments>http://www.chuckstar.com/blog/technology/visualizing-voice-preview-with-flash-stereo/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 18:19:51 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=431</guid>
		<description><![CDATA[I&#8217;m working on my demo code and presentations for several events this fall. Here is a little preview:

]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fvisualizing-voice-preview-with-flash-stereo%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fvisualizing-voice-preview-with-flash-stereo%2F" height="61" width="51" /></a></div><p>I&#8217;m working on my demo code and presentations for several events this fall. Here is a little preview:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/zHLveXR_TP0&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zHLveXR_TP0&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/visualizing-voice-preview-with-flash-stereo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe growth and success signs are everywhere</title>
		<link>http://www.chuckstar.com/blog/technology/adobe-growth-and-success-signs-are-everywhere/</link>
		<comments>http://www.chuckstar.com/blog/technology/adobe-growth-and-success-signs-are-everywhere/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 20:46:24 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=362</guid>
		<description><![CDATA[This past weekend while driving around, I was reminded that you can&#8217;t easily escape work. Over a 24 hour period, I encountered the following two Adobe/Flash scenes from behind the wheel &#8211; both indication that Adobe and Flash Platform are on the up and up:

Apparently, someone has done very well for themselves designing intro animations [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fadobe-growth-and-success-signs-are-everywhere%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fadobe-growth-and-success-signs-are-everywhere%2F" height="61" width="51" /></a></div><p>This past weekend while driving around, I was reminded that you can&#8217;t easily escape work. Over a 24 hour period, I encountered the following two Adobe/Flash scenes from behind the wheel &#8211; both indication that Adobe and Flash Platform are on the up and up:</p>
<p><img src="http://www.chuckstar.com/blog/wp-content/uploads/2009/07/flash4_plate-300x219.jpg" alt="Flash 4 License Plate" title="Flash 4 License Plate" width="300" height="219" class="alignnone size-medium wp-image-361" /></p>
<p>Apparently, someone has done very well for themselves designing intro animations and coding ActionScript 1.0. <strong>Congrats to this 500 series driver, f8-ing their way to the ultimate driving machine.</strong></p>
<p><img src="http://www.chuckstar.com/blog/wp-content/uploads/2009/07/adobe_coming_soon-300x222.jpg" alt="Adobe Coming Soon" title="Adobe Coming Soon" width="300" height="222" class="alignnone size-medium wp-image-360" /></p>
<p>And while I had heard of a new, mega Adobe office in Waltham, MA, seeing this giant building was a complete surprise. The parking structure seems bigger than the office, but <strong>&#8220;The Future Home of Adobe&#8221; just outside of a Boston is a great sign of growth for the company</strong> set to tap on the huge innovation of Boston students. Ironically, this building sits across highway 128/95 from where Microsoft &#8216;used to be&#8217;.</p>
<p>* Author&#8217;s note: I&#8217;ve been writing pretty intensely on my blog of late, so I wanted to lighten things up a bit today. I&#8217;m not usually one to snap photos of work-related stuff from the road. This was fun and I&#8217;m going to try and do it more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/adobe-growth-and-success-signs-are-everywhere/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex, what have you done to me?</title>
		<link>http://www.chuckstar.com/blog/personal/flex-what-have-you-done-to-me/</link>
		<comments>http://www.chuckstar.com/blog/personal/flex-what-have-you-done-to-me/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 17:38:10 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=322</guid>
		<description><![CDATA[
I woke up in Flash Professional today and realized that developing with Flex so much the past few years has finally changed the way I code Flash Platform apps. For better or worse, working with the RIA framework known as Flex has changed my approach, practice and sense of virtual space as I develop applications.
I&#8217;d [...]]]></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.chuckstar.com%2Fblog%2Fpersonal%2Fflex-what-have-you-done-to-me%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Fpersonal%2Fflex-what-have-you-done-to-me%2F" height="61" width="51" /></a></div><p><img src="http://www.chuckstar.com/blog/wp-content/uploads/2009/07/tom_hanks_big_flex-300x258.jpg" alt="Flex made Big changes" /></p>
<p>I woke up in Flash Professional today and realized that developing with Flex so much the past few years has finally changed the way I code Flash Platform apps. For better or worse, working with the RIA framework known as Flex has changed my approach, practice and sense of virtual space as I develop applications.</p>
<p>I&#8217;d say that over my 10+ year career coding Flash Platform apps, experiences, intros and animations, I&#8217;ve still spent more aggregate time in the Flash IDE environment. On stage, presenting at conferences, I have proclaimed that I am a Flash Platform switch hitter, comfortable in building apps from both sides of the Flash Platform plate. Yet the phase of my career where I&#8217;ve really grown as a developer, mostly when I was migrating from AS to AS2, and subsequently from AS2 to AS3, has been spent working with Flex.</p>
<p>As recently as 4 years ago (I know, that&#8217;s like 14 in technology years), I was approaching applications much differently. I&#8217;d start with layout, color, interaction, transitions, sound and all the other &#8220;cool&#8221; and &#8220;flashy&#8221; elements that made rich internet applications rich &#8212; before they were actually rich. Code came last, if at all. And there was a time where many of the projects I worked on had minimal code because working with timelines and stage-created symbols came so naturally to me.</p>
<p>Now, I&#8217;m completely reversed. Flipped around. A new kind of developer. My approach starts with framework, structure and logic. I think about what classes I&#8217;ll need, what approach I&#8217;ll take (MVC? Frameworks?), and what 3rd party libraries or components I need to include. And when the app is finally coded, I look at the skeleton of an interface my UI control/component-dependent approach has given me and pray there&#8217;s a good designer waiting (or even a simple, snap-in theme waiting for me on <a href="http://www.scalenine.com/">scalenine.com</a>).</p>
<p>So now, back in Flash Pro for a bit, I am totally ignoring the stage. I&#8217;m avoiding doing much in the software all together, other than dragging some staple UI controls from the components panel to my Library. I jump into FlashDevelop or FlashBuilder (which I still call FlexBuilder) and write ActionScript there. When I&#8217;m ready to see my work, I say a prayer and compile, confident it will work well, but hoping it will look decent enough. </p>
<p>Back in the day, I would have known quite well what my app would look like before I coded it. That&#8217;s far from reality now. So is this the way I really want to be building apps? Has it made me a more seasoned and valuable developer? Probably, but it really depends on the project at hand. Has this improved performance, size, efficiency, scalability of my apps? Again, it really depends on the project at hand.</p>
<p>So, in conclusion, this doesn&#8217;t really matter in the grand scheme. As technology, the industry and demands have evolved, so have I. And don&#8217;t get me wrong. If you&#8217;re still perfectly comfortable and successful working in Flash Pro, that&#8217;s just as good. Developers like me need you now more than ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/personal/flex-what-have-you-done-to-me/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Wish I was going to 360Flex next week</title>
		<link>http://www.chuckstar.com/blog/technology/flex/wish-i-was-going-to-360flex-next-week/</link>
		<comments>http://www.chuckstar.com/blog/technology/flex/wish-i-was-going-to-360flex-next-week/#comments</comments>
		<pubDate>Mon, 11 May 2009 19:26:16 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=274</guid>
		<description><![CDATA[
At one point I was going. At one point I was speaking. Unfortunately, for me, I&#8217;m unable to do either this year. For the first time since the original 360Flex, I won&#8217;t be attending the event next week in Indy. And it just sucks for me.
This event is the best, in my opinion, for all [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fflex%2Fwish-i-was-going-to-360flex-next-week%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fflex%2Fwish-i-was-going-to-360flex-next-week%2F" height="61" width="51" /></a></div><p><img src="http://s3.amazonaws.com/twitter_production/profile_images/191600862/image_bigger.jpg" alt="360 Flex" /></p>
<p>At one point I was going. At one point I was speaking. Unfortunately, for me, I&#8217;m unable to do either this year. For the first time since the original 360Flex, I won&#8217;t be attending the event next week in Indy. And it just sucks for me.</p>
<p>This event is the best, in my opinion, for all levels of Flex developers. You simply don&#8217;t have direct and personal access to so many talented presenters and session as you do with <a href="http://www.360flex.com">360Flex</a>. It&#8217;s the lowest cost event, by far, and the organizers, Tom and John, work very hard to keep it humble and simple.</p>
<p>They&#8217;ve done a great job profiling the speakers and sessions this year. Here&#8217;s <a href="http://www.360flex.com/downloads/schedule.pdf">a link to the schedule</a>, and you&#8217;ll see some amazing names and topics being featured.</p>
<p>My boy Wes Leonardo, from Ribbit, will be presenting some cool AIR stuff. Also, if I were going, I would not miss <a href="http://www.merhl.com">Joe Johnston</a>&#8217;s FLEXperience session, all about UX in Flex!</p>
<p>I&#8217;ll miss hanging with everyone, but I&#8217;m sure it&#8217;ll be an awesome event.<br />
And if you&#8217;re not going, and CAN go, you owe it to me to go to <a href="http://360flex.eventbrite.com/">http://360flex.eventbrite.com/</a> NOW and register. </p>
<p>Have a great time and good luck with what I&#8217;m sure will be another incredible event for the community!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/flex/wish-i-was-going-to-360flex-next-week/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex Example: E4X Binding Repeater inside Tile</title>
		<link>http://www.chuckstar.com/blog/technology/flex-example-e4x-binding-mxrepeater-inside-mxtile/</link>
		<comments>http://www.chuckstar.com/blog/technology/flex-example-e4x-binding-mxrepeater-inside-mxtile/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 02:18:32 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=261</guid>
		<description><![CDATA[I&#8217;m working on a Ribbit Directory demo app and started exploring data binding with E4X. Basically, I created a php service, anchored with a simple MySQL database, that serves up XML to the Flex app. I feel a little late to the game with E4X, but who cares. It rocks! I&#8217;ve meddled so much with [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fflex-example-e4x-binding-mxrepeater-inside-mxtile%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fflex-example-e4x-binding-mxrepeater-inside-mxtile%2F" height="61" width="51" /></a></div><p>I&#8217;m working on a Ribbit Directory demo app and started exploring data binding with E4X. Basically, I created a php service, anchored with a simple MySQL database, that serves up XML to the Flex app. I feel a little late to the game with E4X, but who cares. It rocks! I&#8217;ve meddled so much with looping through XML, loading it into a Bindable Array and mapping that Array as a dataProvider &#8212; I figured it was time to explore a more optimal way.</p>
<p>I&#8217;ll be releasing the entire app over on <a href="http://labs.ribbit.com">http://labs.ribbit.com</a> when it&#8217;s done, but here&#8217;s some basic code snippets to help you explore this amazing feature of Flex.</p>
<p>Loading the XML from the php service is pretty standard. I&#8217;m passing a variable in the URLRequest to support some simple search/filtering&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> loadDirectoryXML<span style="color: #000000;">&#40;</span><span style="color: #004993;">search</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Boolean</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">loader</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLLoader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLLoader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
	<span style="color: #6699cc; font-weight: bold;">var</span> request<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLRequest</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLRequest</span><span style="color: #000000;">&#40;</span>directoryDataURL<span style="color: #000000;">&#41;</span>;
	<span style="color: #004993;">loader</span>.<span style="color: #004993;">dataFormat</span> = <span style="color: #004993;">URLLoaderDataFormat</span>.<span style="color: #004993;">TEXT</span>;
	<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #004993;">search</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		request.<span style="color: #004993;">method</span> = <span style="color: #004993;">URLRequestMethod</span>.<span style="color: #004993;">GET</span>;
		<span style="color: #6699cc; font-weight: bold;">var</span> variables<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLVariables</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLVariables</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
		variables.entryClass = entryClassSearch.selectedLabel;
		request.<span style="color: #004993;">data</span> = variables;
	<span style="color: #000000;">&#125;</span>				
	<span style="color: #004993;">loader</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">Event</span>.<span style="color: #004993;">COMPLETE</span>, handleComplete <span style="color: #000000;">&#41;</span>;
	<span style="color: #004993;">loader</span>.<span style="color: #004993;">load</span><span style="color: #000000;">&#40;</span>request<span style="color: #000000;">&#41;</span>;				
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> handleComplete<span style="color: #000000;">&#40;</span> event<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">try</span> <span style="color: #000000;">&#123;</span>
		directoryXML = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">XML</span> <span style="color: #000000;">&#40;</span> event.<span style="color: #004993;">target</span>.<span style="color: #004993;">data</span> <span style="color: #000000;">&#41;</span>;
	<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">catch</span> <span style="color: #000000;">&#40;</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">TypeError</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		<span style="color: #009900;">//</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>That directoryXML is a Bindable XML object. Setting that as the dataProvider for a Repeater (inside a Tile layout container) will do the magic.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Tile</span> x=<span style="color: #ff0000;">&quot;10&quot;</span> y=<span style="color: #ff0000;">&quot;30&quot;</span> width=<span style="color: #ff0000;">&quot;95%&quot;</span> height=<span style="color: #ff0000;">&quot;90%&quot;</span> id=<span style="color: #ff0000;">&quot;directoryDisplay&quot;</span> <span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Repeater</span> id=<span style="color: #ff0000;">&quot;myRepeater&quot;</span> dataProvider=<span style="color: #ff0000;">&quot;{directoryXML..entry}&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Canvas</span> width=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Image</span> height=<span style="color: #ff0000;">&quot;150&quot;</span> width=<span style="color: #ff0000;">&quot;150&quot;</span> scaleContent=<span style="color: #ff0000;">&quot;true&quot;</span> source=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.photo}&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Text</span> width=<span style="color: #ff0000;">&quot;150&quot;</span> text=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.entryName}, {myRepeater.currentItem.entryClass}&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>	
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:HBox</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span> horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span><span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;Call&quot;</span> click=<span style="color: #ff0000;">&quot;ribbitDial(event)&quot;</span> data=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.dialNumber}&quot;</span> </span>
<span style="color: #000000;">						visible=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.dialNumber.toString().length &gt;</span></span>= 10}&quot; enabled=&quot;{loggedIn}&quot; /&gt;										
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;SMS&quot;</span> click=<span style="color: #ff0000;">&quot;ribbitSMS(event)&quot;</span> data=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.smsNumber}&quot;</span> </span>
<span style="color: #000000;">						visible=<span style="color: #ff0000;">&quot;{myRepeater.currentItem.smsNumber.toString().length &gt;</span></span>= 10}&quot; enabled=&quot;{loggedIn}&quot; /&gt;						
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:HBox</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span>			
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Canvas</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Repeater</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Tile</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>You can see there is some wacky stuff I needed to do with the buttons. A bit of trial and error here to get the right solution. Basically, I had trouble broadcasting any of the E4X data from the click handler. So, I use the data property to attach that &#8220;dialNumber&#8221; string and then pull it inside the click method handler off the event.target property. Also, I didn&#8217;t want the buttons to show up unless the directory listing had a dialNumber populated, so you&#8217;ll can see an inline conditional there.</p>
<p>Like most projects, I&#8217;m benefiting from good references to help me establish some basic syntax. At my side are the ActionScript 3 and Flex 3 cookbooks from O&#8217;Reilly. Love those books and the authors are swell too.</p>
<p>So keep an eye out for the full code sample coming soon in the <a href="http://labs.ribbit.com"><strong>Ribbit Labs</strong></a>.</p>
<p>Lastly, if you&#8217;re wondering why my code excerpts show the actionscript lines numbered higher than my mxml lines, it&#8217;s because I like to code with my MXML ON TOP!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/flex-example-e4x-binding-mxrepeater-inside-mxtile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>getMicrophone() and the OPEN MIC initiative</title>
		<link>http://www.chuckstar.com/blog/technology/getmicrophone-and-the-open-mic-initiative/</link>
		<comments>http://www.chuckstar.com/blog/technology/getmicrophone-and-the-open-mic-initiative/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 16:13:55 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=256</guid>
		<description><![CDATA[&#160;&#160;

It was a sunny winter day in Mountain View, CA. The season actually felt like early autumn to my New England-conditioned senses. Lee Brimelow showed up at the Ribbit offices, via an open invitation lingering almost 8 months, to do a video interview with us on Ribbit&#8217;s API for Flash and Flex. Lee ran some [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fgetmicrophone-and-the-open-mic-initiative%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fgetmicrophone-and-the-open-mic-initiative%2F" height="61" width="51" /></a></div><p><a href="http://www.getmicrophone.com/" onclick=""><img src="http://www.getmicrophone.com/images/getMicrophone_gotmic.gif" title="Got Mic?" class="alignnone" width="200" height="80" /></a>&nbsp;<a href="http://www.getmicrophone.com/" onclick=""><img src="http://www.getmicrophone.com/images/getMicrophone_holla.gif" title="Holla" class="alignnone" width="200" height="80" /></a>&nbsp;<a href="http://www.getmicrophone.com/" onclick=""><img src="http://www.getmicrophone.com/images/getMicrophone_openhappy.gif" title="Open Mic, Happy Mic" class="alignnone" width="200" height="80" /></a><br />
<br />
It was a sunny winter day in Mountain View, CA. The season actually felt like early autumn to my New England-conditioned senses. <a href="http://www.theflashblog.com">Lee Brimelow</a> showed up at the Ribbit offices, via an open invitation lingering almost 8 months, to do a video interview with us on Ribbit&#8217;s API for Flash and Flex. Lee ran some b-roll of the office, of me shooting my Nerf rocket launcher and others working. Lee interviewed me, through his massive fish eye lens, and what was recorded ended up being the very first interview for his now acclaimed, mind-blowingly good, yet currently stagnant video magazine &#8220;<a href="http://www.flashmag.com">FlasherMag</a>&#8220;.</p>
<p>At the end of the interview I asked Lee a question about tapping into the Flash microphone object for some demos and upcoming conference presentations I was planning. I casually expected the usual WINK it&#8217;s not published, but you can actually do this&#8230; /WINK response I&#8217;ve grown accustom to from Adobe higher ups and similar prestigious talents in the industry.</p>
<p>Lee&#8217;s response shocked me. &#8220;It can&#8217;t be done. Flash doesn&#8217;t allow it.&#8221; OK. Why? What? How do I get it done? Lee suggested going the route of one <a href="http://blog.andre-michelle.com/">Mr. Andre Michelle</a>, who after engaging the community with &#8220;<a href="http://blog.andre-michelle.com/2008/adobe-make-some-noise/">makesomenoise</a>&#8220;, not only got his wish, but further propelled Flash Player 10 to a new stratosphere of imagination and creativity.</p>
<p>It took me about 3 months to act on Lee&#8217;s advice. Somewhere between SXSW and MIX, I found the time, with the help of yeoman Brendan Lee, to launch <strong><a href="http://www.getmicrophone.com">getMicrophone.com</a></strong>. The site is dedicated to coding with the microphone and all its interactive-inducing glory, in Flash Player. The site has a blog where we&#8217;ve been profiling some cool examples of developers using microphone access for what I call &#8220;Advanced Microphone Interactivity&#8221;. We&#8217;ve also linked to several major Microphone coding resources, like LiveDocs and other bloggers&#8217; fantastic work and research.</p>
<p>The key post thus far has been our opening of <a href="http://bugs.adobe.com/jira/browse/FP-1766">Adobe Flash Player Bug #1766</a>, requesting that the Microphone object in Flash be opened. </p>
<p>I love irony, and so I relish in the fact that the site launched during day 1 of Microsoft MIX 2009 &#8212; the very same day Scott Guthrie (or as the .net developer contingent chant, &#8220;the Gu&#8221;) announced that the #1 requested feature of Silverlight, Microphone/Webcam access, would not be available until at least Silverlight 4.</p>
<p>Join us in exploiting one of the great, unique features that Flash Player&#8217;s been giving to us since Player 6.<br />
<strong><a href="http://www.getMicrophone.com">getMicrophone.com</a></strong> today!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/getmicrophone-and-the-open-mic-initiative/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Going under Flash and Flex, Ribbit to release RESTful API</title>
		<link>http://www.chuckstar.com/blog/technology/going-under-flash-and-flex-ribbit-to-release-restful-api/</link>
		<comments>http://www.chuckstar.com/blog/technology/going-under-flash-and-flex-ribbit-to-release-restful-api/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 19:15:18 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=254</guid>
		<description><![CDATA[
Internally, much of the company has been chanting &#8220;we are going beyond Flash and Flex&#8221;, but I don&#8217;t think the word &#8216;beyond&#8217; is right to say. Maybe &#8216;to the side&#8217;. Definitely not &#8216;over&#8217;. Probably not &#8216;in a tangent&#8217;. However I can get myself to say it, Ribbit is about to offer the global developer community [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fgoing-under-flash-and-flex-ribbit-to-release-restful-api%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fgoing-under-flash-and-flex-ribbit-to-release-restful-api%2F" height="61" width="51" /></a></div><p><img src="http://www.chuckstar.com/blog/images/chuck_mask1.jpg" alt="" /></p>
<p>Internally, much of the company has been chanting &#8220;we are going beyond Flash and Flex&#8221;, but I don&#8217;t think the word &#8216;beyond&#8217; is right to say. Maybe &#8216;to the side&#8217;. Definitely not &#8216;over&#8217;. Probably not &#8216;in a tangent&#8217;. However I can get myself to say it, Ribbit is about to offer the global developer community the ability to code our communications platform into their applications in more ways than just Flash and Flex. And this is a very good thing&#8230;</p>
<p>Since launching the initial SWC (now called our Flex SDK) back in August of 2007, the platform has enjoyed an incredible run as the leading provider of telephony, voice, messaging and user management services to developers. Our community of over 11,000 developers has built some amazing apps, many of which are hot contenders for our <a href="http://developer.ribbit.com">$100K Killer App Challenge</a>, which culminates this week!</p>
<p>The RESTful API release is really an evolution for the platform as a whole. Unlike Flash Platform, developers will now be able to code machine to machine, schedule calls, perform advanced user management, create user tokens and so much more. The real gem presented in the RESTful API approach is that deploying this as a core platform API gives us the means to tightly wrap almost any other programming language (in demand) around it. </p>
<p><img src="http://www.chuckstar.com/blog/images/chuck_mask2.jpg" alt="" /></p>
<p>Essentially, you are going to see Ribbit offered to developers in languages like PHP, Javascript, Obj C, .Net, AS2 (for Flash lite development), Java, and pretty much whatever the community wants. The true potential for reaching the global community is unlimited and the wide array of language offerings means Ribbit apps can be built on almost any platform out there. And the RESTful API is going to go literally right under our <a href="http://developer.ribbit.com">Flash and Flex</a> offerings, since those APIs can now leverage a much tighter data delivery protocol. </p>
<p>So, what does this mean for a lead evangelist (me, me) who wakes up and goes to bed dreaming of Flash Platform Apps? Well&#8230; if the Ribbit Platform was a chest of toys, I certainly have a much wider variety of things to learn, play with and show off to others! It also means I have access to another side of a web technology I still (sincerely) regard as the most innovative I&#8217;ve ever seen, touched or heard!</p>
<p><img src="http://www.chuckstar.com/blog/images/chuck_mask3.jpg" alt="" /></p>
<p>This news will officially come out from Ribbit while we&#8217;re at SxSw. There will be a special site launched (url to be announced soon) where developers can even go &#8216;vote&#8217; on which language they want to see Ribbit release the most! And as for evangelism, I make my first non-Flash conference appearance in a week. It&#8217;ll be in <a href="http://2009.visitmix.com/">Las Vegas</a>. Sounds like MAX, &#8216;cept not spelled the same way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/going-under-flash-and-flex-ribbit-to-release-restful-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex and Flash developer community challenge</title>
		<link>http://www.chuckstar.com/blog/technology/flex-and-flash-developer-community-challenge/</link>
		<comments>http://www.chuckstar.com/blog/technology/flex-and-flash-developer-community-challenge/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 04:35:31 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=248</guid>
		<description><![CDATA[So earlier today I posted a community challenge on the Ribbit blog. The idea was to throw some interesting use cases at the community and see what everyone can come up with. Ribbit is such a simple yet interactive service, there are a lot of different ways to apply various fundamentals of Flash Platform development.
Basically, [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fflex-and-flash-developer-community-challenge%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fflex-and-flash-developer-community-challenge%2F" height="61" width="51" /></a></div><p>So earlier today I posted a <a href="http://developer.ribbit.com/blog/?p=167">community challenge on the Ribbit blog</a>. The idea was to throw some interesting use cases at the community and see what everyone can come up with. Ribbit is such a simple yet interactive service, there are a lot of different ways to apply various fundamentals of Flash Platform development.</p>
<p>Basically, on Thursdays (not sure if it&#8217;ll be weekly or every few weeks), I&#8217;ll come up with a challenge that involves some ActionScript, Flash or Flex skills and combines them with some simple Ribbit API skills. </p>
<p>The first community challenge <a href="http://developer.ribbit.com/blog/?p=167">posted today</a> is called &#8220;How you gonna call?&#8221; and asks for a solution to address microphone and general audio issues we&#8217;ve experienced with Flash Player on Macbooks. Basically, if you can figure out how to detect the operating system and audio &#8216;capabilities&#8217; of Flash Player, you could easily win this community challenge.</p>
<p>I think it&#8217;s pretty fun&#8230; and while the prize package isn&#8217;t exactly of the magnitude of, say, our <a href="http://killerappchallenge.ribbit.com">$100,000 Killer App Challenge</a>, it&#8217;s pretty good considering you may only need about 10 minutes to win this challenge.</p>
<p>So <a href="http://developer.ribbit.com/blog/?p=167"><strong>check it out</strong></a> and I hope it&#8217;s fun for you!</p>
<p><a href="http://developer.ribbit.com/blog/?p=167">http://developer.ribbit.com/blog/?p=167</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/flex-and-flash-developer-community-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Example: simple slide out menu using effects</title>
		<link>http://www.chuckstar.com/blog/technology/flex-example-simple-slide-out-menu-using-effects/</link>
		<comments>http://www.chuckstar.com/blog/technology/flex-example-simple-slide-out-menu-using-effects/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 16:17:17 +0000</pubDate>
		<dc:creator>chuckstar22</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chuckstar.com/blog/?p=247</guid>
		<description><![CDATA[A lot of Flex developers resort to Flex &#8217;states&#8217; when adding interactivity and transitions to their applications. I built the sample below to show a colleague that using Flex &#8216;effects&#8217; are some times easier and involve less code than &#8217;states&#8217;. This simple example (very beginner) shows how you could build a slide out menu bar [...]]]></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.chuckstar.com%2Fblog%2Ftechnology%2Fflex-example-simple-slide-out-menu-using-effects%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.chuckstar.com%2Fblog%2Ftechnology%2Fflex-example-simple-slide-out-menu-using-effects%2F" height="61" width="51" /></a></div><p>A lot of Flex developers resort to Flex &#8217;states&#8217; when adding interactivity and transitions to their applications. I built the sample below to show a colleague that using Flex &#8216;effects&#8217; are some times easier and involve less code than &#8217;states&#8217;. This simple example (very beginner) shows how you could build a slide out menu bar without the use of states, which I consider a bit difficult to maintain and skin. The code is available for you just below the working sample.</p>
<p>Click the button on the yellow panel to see it slide out like a shelf.</p>
<p><embed src="http://www.chuckstar.com/blog/flash/slideOut_01.swf" quality="high" bgcolor="#000000" width="550" height="400" name="slideOut" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></p>
<p>You can cut and paste this code into your FlexBuilder project and test it out. Feel free to use this in any project or app you are working on.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> creationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">		&lt;![CDATA[</span>
&nbsp;
<span style="color: #339933;">			[Bindable]</span>
<span style="color: #339933;">			private var bPanelStartX:Number = 0;</span>
<span style="color: #339933;">			private var bPanelEndX:Number = 0;</span>
&nbsp;
<span style="color: #339933;">			//set position values for back panel</span>
<span style="color: #339933;">			private function init():void</span>
<span style="color: #339933;">			{</span>
<span style="color: #339933;">				bPanelStartX = frontPanel.x - 25;</span>
<span style="color: #339933;">				bPanelEndX = frontPanel.x - 100;				</span>
<span style="color: #339933;">			}</span>
&nbsp;
<span style="color: #339933;">			public function movePanel():void</span>
<span style="color: #339933;">			{</span>
<span style="color: #339933;">				//set target of move transition</span>
<span style="color: #339933;">				panelMover.target = backPanel;				</span>
<span style="color: #339933;">				//determine direction of panel based on position</span>
<span style="color: #339933;">				if (backPanel.x == bPanelStartX) {</span>
<span style="color: #339933;">					panelMover.xFrom = bPanelStartX;</span>
<span style="color: #339933;">					panelMover.xTo = bPanelEndX;</span>
<span style="color: #339933;">				} else {</span>
<span style="color: #339933;">					panelMover.xFrom = bPanelEndX;</span>
<span style="color: #339933;">					panelMover.xTo = bPanelStartX;					</span>
<span style="color: #339933;">				}</span>
<span style="color: #339933;">				//play transition</span>
<span style="color: #339933;">				panelMover.play();				</span>
<span style="color: #339933;">			}</span>
&nbsp;
<span style="color: #339933;">		]]&gt;</span>
<span style="color: #339933;">	&lt;/mx:Script&gt;</span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Canvas</span> id=<span style="color: #ff0000;">&quot;backPanel&quot;</span> width=<span style="color: #ff0000;">&quot;250&quot;</span> height=<span style="color: #ff0000;">&quot;250&quot;</span> x=<span style="color: #ff0000;">&quot;{bPanelStartX}&quot;</span> verticalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> backgroundColor=<span style="color: #ff0000;">&quot;#FFFF00&quot;</span> backgroundAlpha=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> click=<span style="color: #ff0000;">&quot;movePanel()&quot;</span> x=<span style="color: #ff0000;">&quot;0&quot;</span> verticalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> width=<span style="color: #ff0000;">&quot;25&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Canvas</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Canvas</span> id=<span style="color: #ff0000;">&quot;frontPanel&quot;</span> width=<span style="color: #ff0000;">&quot;250&quot;</span> height=<span style="color: #ff0000;">&quot;250&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> verticalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> backgroundColor=<span style="color: #ff0000;">&quot;#FF0000&quot;</span> backgroundAlpha=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Canvas</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Move</span> id=<span style="color: #ff0000;">&quot;panelMover&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>	
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>If you know or a more simple way to do this, please feel free to post it on your blog and comment the URL here. If you&#8217;ve got other examples of using transitions without states, feel free to post those as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chuckstar.com/blog/technology/flex-example-simple-slide-out-menu-using-effects/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
