<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.1" -->
<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/"
	>

<channel>
	<title>James Echmalian</title>
	<link>http://ech.net/blog</link>
	<description>Flexophilia</description>
	<pubDate>Mon, 12 May 2008 19:22:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.1</generator>
	<language>en</language>
			<item>
		<title>Dave Coletta on Automated Testing in Flex</title>
		<link>http://ech.net/blog/2008/05/12/dave-coletta-on-automated-testing-in-flex/</link>
		<comments>http://ech.net/blog/2008/05/12/dave-coletta-on-automated-testing-in-flex/#comments</comments>
		<pubDate>Mon, 12 May 2008 19:22:17 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/05/12/dave-coletta-on-automated-testing-in-flex/</guid>
		<description><![CDATA[Flex developers in the Boston area: don&#8217;t miss Dave Coletta&#8217;s talk tomorrow night (5/13) about the automated test framework built into Buzzword.  (If you&#8217;re new to the Flex world, you might not know that Buzzword is an on-line word processor written in Flex, and that Adobe liked it so much they bought it last [...]]]></description>
			<content:encoded><![CDATA[<p>Flex developers in the Boston area: don&#8217;t miss Dave Coletta&#8217;s talk tomorrow night (5/13) about the automated test framework built into Buzzword.  (If you&#8217;re new to the Flex world, you might not know that Buzzword is an on-line word processor written in Flex, and that Adobe liked it so much they bought it last year!)  Dave will be presenting at the Boston Flex User Group meeting on the Adobe campus in Newton, MA.  I heard an earlier version of Dave&#8217;s talk at 360|Flex Seattle last year, and learned a lot from his take on Flex development, and on software engineering in general.<br />
For more about the meeting and the Boston Flex User Group, see <a target="_blank" title="Boston Flex User Group" href="http://bostonfug.org">http://bostonfug.org</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/05/12/dave-coletta-on-automated-testing-in-flex/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Another Flex Sample: Using Local SharedObjects</title>
		<link>http://ech.net/blog/2008/05/01/another-flex-sample-using-local-sharedobjects/</link>
		<comments>http://ech.net/blog/2008/05/01/another-flex-sample-using-local-sharedobjects/#comments</comments>
		<pubDate>Thu, 01 May 2008 18:36:59 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/05/01/another-flex-sample-using-local-sharedobjects/</guid>
		<description><![CDATA[Here is a Flex mini-application that illustrates the use of a local SharedObject to maintain application state on the client.  This app also illustrates what I consider to be good division between MXML code and ActionScript code, leveraging the power of MXML for setup, configuration and event wiring, while encapsulating the sticky bits in [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a Flex mini-application that illustrates the use of a local SharedObject to maintain application state on the client.  This app also illustrates what I consider to be good division between MXML code and ActionScript code, leveraging the power of MXML for setup, configuration and event wiring, while encapsulating the sticky bits in ActionScript components.  Source code is included.<a id="more-28"></a></p>
<p><a title="Local SharedObject sample" href="http://ech.net/flexsamples/so.swf">http://ech.net/flexsamples/so.swf</a></p>
<p>(This Flex samples directory is starting to cry out for an index page.)</p>
<p>The local SharedObject feature of the Flash player is becoming more widely used.  <a target="_blank" title="Pandora" href="http://www.pandora.com">Pandora </a>is one example of a site that uses it to persist application state.  It accomplishes what cookies were originally intended to do, but does not involve the web server, and thus avoids many of the security concerns of cookies.  But there are valid criticisms of this feature.  The browsers do not ask the user for permission to write this potentially personal data to the disk, nor do they offer the user a straightforward way to purge this data from the system.  Dig around in your personal documents area for a directory called #SharedObjects, then look inside to see what sites have written information to your disk.  For more information, see the <a target="_blank" title="Local Shared Objects" href="http://en.wikipedia.org/wiki/Local_Shared_Object">Wikipedia page on the subject.</a></p>
<p>Although insidious, this feature sure is handy for the Flex developer.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/05/01/another-flex-sample-using-local-sharedobjects/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Reversable Rollover Effects</title>
		<link>http://ech.net/blog/2008/04/17/reversable-rollover-effects/</link>
		<comments>http://ech.net/blog/2008/04/17/reversable-rollover-effects/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 20:50:48 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/04/17/reversable-rollover-effects/</guid>
		<description><![CDATA[Flex developers and authors might be familiar with a UIComponent&#8217;s rollOverEffect and rollOutEffect effects.  These provide a means of causing an Effect to be played when the mouse cursor enters and/or leaves the region of the UIComponent.  GlowEffect and ZoomEffect in particular make good rollover effects, straight out of the box.  This [...]]]></description>
			<content:encoded><![CDATA[<p>Flex developers and authors might be familiar with a UIComponent&#8217;s rollOverEffect and rollOutEffect effects.  These provide a means of causing an Effect to be played when the mouse cursor enters and/or leaves the region of the UIComponent.  GlowEffect and ZoomEffect in particular make good rollover effects, straight out of the box.  This feature is very easy to use, but there are some problems in getting the Effects to behave correctly, and so I did a bit of digging.  <a id="more-27"></a>The problems lie in the area of handling interrupted Effects.  If the mouse moves into the affected region, then out again before the rollover Effect finishes playing, the desired behavior is to rewind the Effect back to the beginning.  This exact behavior is devilishly tricky to achieve using rollOverEffect/rollOutEffect.  Half of the problem is picking up where the interrupted Effect left off.  Some types of Effect allow you to omit the starting state, and by default, pick up wherever the component is currently.  But others, including GlowEffect, don&#8217;t.  The other half of the problem is duration.  If the interrupted Effect plays for 0.24 seconds before being interrupted, then the follow-on Effect should play for the same duration.  But without a lot of fiddling, the follow-on Effect plays for its full duration.  These little hitches are ultimately solvable, but not without exiting the realm of &#8220;easy to use&#8221; and entering the hardcore Flex zone.   And so I looked for alternatives.</p>
<p>Effects may be reversed.  By calling Effect.reverse() (or EffectInstance.reverse()), an Effect can be made to reverse direction on the spot and play all the way back to the beginning.  You can reverse an Effect playing in reverse to make it go forward again.  You can even start an Effect from the end and play it in reverse.  This is exactly what I was looking for.  Unfortunately, there is no way to specify in MXML that you wish the rollOutEffect of a UIComponent to be the reverse of its rollOverEffect.  And there were some knots to untangle in getting this approach to work nicely.   The results, for general consumption, are at the URL below.  Source code is included.</p>
<p><a title="Reversable Rollover Sample" href="http://ech.net/flexsamples/rollo.swf">http://ech.net/flexsamples/rollo.swf</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/04/17/reversable-rollover-effects/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>&#8220;Bitmaps&#8221; Presentation Materials Posted</title>
		<link>http://ech.net/blog/2008/02/26/bitmaps-presentation-materials-posted/</link>
		<comments>http://ech.net/blog/2008/02/26/bitmaps-presentation-materials-posted/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 02:51:35 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/02/26/bitmaps-presentation-materials-posted/</guid>
		<description><![CDATA[Thank you to all who listened to my talk today at 360&#124;Flex: &#8220;Working With Bitmaps in Flex&#8221;. The feedback was tremendously positive; it makes me want to do it all over again! The presentation materials are available for download at:
http://ech.net/360flex2008/

]]></description>
			<content:encoded><![CDATA[<p>Thank you to all who listened to my talk today at 360|Flex: &#8220;Working With Bitmaps in Flex&#8221;. The feedback was tremendously positive; it makes me want to do it all over again! The presentation materials are available for download at:</p>
<p><a title="Working With Bitmaps In Flex" href="http://ech.net/360flex2008">http://ech.net/360flex2008/</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/02/26/bitmaps-presentation-materials-posted/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>360&#124;Flex Atlanta - Day One Impressions</title>
		<link>http://ech.net/blog/2008/02/26/360flex-atlanta-day-one-impressions/</link>
		<comments>http://ech.net/blog/2008/02/26/360flex-atlanta-day-one-impressions/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 19:03:37 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/02/26/360flex-atlanta-day-one-impressions/</guid>
		<description><![CDATA[First, about the venue. The CNN Center in downtown Atlanta is an enormous indoor plaza enclosed by towers, steel girders and glass. The Omni Hotel occupies some of those towers. The conference is held in the Atrium, a courtyard that lies between the Omni towers. It occurs to me that I could observe the keynote [...]]]></description>
			<content:encoded><![CDATA[<p>First, about the venue. The CNN Center in downtown Atlanta is an enormous indoor plaza enclosed by towers, steel girders and glass. The Omni Hotel occupies some of those towers. The conference is held in the Atrium, a courtyard that lies between the Omni towers. It occurs to me that I could observe the keynote proceedings from the balcony of my hotel room on the 11th floor of the South Tower. This calls a David Bowie lyric to mind: &#8220;I&#8217;m up on the 11st floor and I&#8217;m watching the cruisers below.&#8221; But I join the rest of the conference-goers downstairs instead.<a id="more-24"></a></p>
<p>Matt Chotin, Product Manager at Adobe delivers the keynote. &#8220;Adobe AIR is out the door!&#8221; &#8220;Flex 3 is out the door!&#8221; Despite abundant forewarning of this moment, the official launch announcement is exciting.</p>
<p>Matt and his Adobe colleagues keep the interest level high, presenting a succession of new and upcoming features. Test framework integration with support for Borland, HP and IBM test frameworks! Open source Blaze/DS! Thermo! Gumbo (Flex 4)! Vellum! Hydra! I cheer loudly at the announcement of Astro, an upcoming 3D perspective effects package (a poor man&#8217;s papervision); I am among only about 10 people doing so. I cheer again loudly at the announcement of the type-safe Vector collection type; I am among only about 5 people this time. Where have all the nerds gone?</p>
<p>Hey, the Allurent Desktop Connection is getting another demo! This was shown at last year&#8217;s Max, but here it is again. I&#8217;m sure that Allurent marketing will be happy to hear about this. The guy to my right, in response to the &#8220;Search by Color&#8221; feature: &#8220;Oh, wow!&#8221; Matt apologizes to Joe B. in advance of possible screw-ups as he starts the demo. I wonder how this is possible, because I know that Joe is probably going through Logan Airport security at this moment. I ask Matt about this afterward, and he claims to have sighted Joe in the crowd. Later I spot a Joe B. doppelganger among the conference attendees. Who is this man?</p>
<p>Matt finishes with a very, very silly slide/audio/video show about working at Adobe. It is worth the entire price of the conference to see. Footnote: as a presenter I am attending the conference for free, so this is rather weak praise. But it is a funny show.</p>
<p>The conference sessions are divided into three concurrent tracks. I set off on the Custom Components track, planning to stick with it, and enjoy some great talks about custom component building. In a discussion with Joe B. of my presentation a few days earlier, he mentioned that he had seen in previous conferences a lack of discussion of the practical points of custom component buiding, in particular the Flex component lifecycle functions. As if in rebuttal, the first speaker in the Custom Components track, Axel Jensen, came right out swinging and hit all the major points. The second speaker, Ben Clinkenbeard, co-author of flexmdi, echoed some of Axel&#8217;s points and dove deeper. And so on through the day.</p>
<p>Overall, I&#8217;m impressed by the increased technical depth of the presentations in this conference, as compared to last year in Seattle. A lot more code is shown and discussed. I take away some interesting code samples: one from Axel on extending class Panel to add custom children to its header, another from Doug Knudsen on the practical use of Event.preventDefault() for filtering text input, and more.</p>
<p>Another, more subtle step in a positive direction is a growing awareness that there are many ways to get things done, but only a few that may be considered &#8220;best practices.&#8221; Ben C. hits this chord most often. He mentions the lack of a recommended coding pattern for adding default styles to a custom component. And then he says something that really resonates with my Allurent developer soul, to the effect that frameworks, such as Cairngorm, are just conventions - consistent approaches to some problem, not necessarily ideal solutions to all.</p>
<p>Two more days to look forward to&#8230;.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/02/26/360flex-atlanta-day-one-impressions/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Bitmaps in Flex</title>
		<link>http://ech.net/blog/2008/02/18/bitmaps-in-flex/</link>
		<comments>http://ech.net/blog/2008/02/18/bitmaps-in-flex/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 19:50:36 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/02/18/bitmaps-in-flex/</guid>
		<description><![CDATA[&#8220;Bitmaps In Flex&#8221; is the presentation I&#8217;ll be delivering at the 360&#124;Flex conference in Atlanta next week.
&#8220;Bitmaps In Flex&#8221; is about using some advanced ActionScript APIs to achieve visual effects in a Flex application that are both useful and cool. It assumes the audience is familiar with the the basic use of the Flex Image [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Bitmaps In Flex&#8221; is the presentation I&#8217;ll be delivering at the <a title="360|Flex" target="_blank" href="http://www.360flex.com">360|Flex conference</a> in Atlanta next week.</p>
<p>&#8220;Bitmaps In Flex&#8221; is about using some advanced ActionScript APIs to achieve visual effects in a Flex application that are both useful and cool. It assumes the audience is familiar with the the basic use of the Flex Image component and the use of bitmaps in styling, and goes a step beyond, by exploring the ActionScript Bitmap API and its application in Flex. The material to be presented is essential to developing an application that is about imagery: illustration, data visualization, medical imagery, scientific imagery, and so forth. The material also points the way to enhancing the visual impact of any application, by accessing effects that don&#8217;t come right out of the Flex box.</p>
<p>This talk dives deep into the Bitmap API, showing what can be accomplished and how. It swoops over best practices for creating custom Flex components, as related to bitmaps. It stops briefly at several sample mini-applications along the way. If you&#8217;re a &#8220;show me the code&#8221; type, you&#8217;ll be happy to know that the composition of the presentation is 60% code review, 40% slides.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/02/18/bitmaps-in-flex/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Property Patterns Updated</title>
		<link>http://ech.net/blog/2008/02/18/property-patterns-updated/</link>
		<comments>http://ech.net/blog/2008/02/18/property-patterns-updated/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 18:17:06 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/02/18/property-patterns-updated/</guid>
		<description><![CDATA[I&#8217;ve expanded the Property Patterns Flex sample located here to include two more code templates. Both new templates demonstrate ways to define a bindable Flex property whose value is derived from that of another property of the same class. I&#8217;m finding this copy-paste-edit template approach to Flex best practices useful as I prepare for next [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve expanded the Property Patterns Flex sample located <a title="Property Patterns" href="http://ech.net/flexsamples/prop.swf">here </a>to include two more code templates. Both new templates demonstrate ways to define a bindable Flex property whose value is derived from that of another property of the same class. I&#8217;m finding this copy-paste-edit template approach to Flex best practices useful as I prepare for next week&#8217;s <a title="360|Flex" target="_blank" href="http://www.360flex.com">360|Flex conference</a>.  Take a look at the source code (by right-clicking on the app) to see what I&#8217;m talking about.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/02/18/property-patterns-updated/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Recipes for Defining Bindable Properties in Flex 2.0</title>
		<link>http://ech.net/blog/2008/01/23/recipes-for-defining-bindable-properties-in-flex-20/</link>
		<comments>http://ech.net/blog/2008/01/23/recipes-for-defining-bindable-properties-in-flex-20/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 20:00:47 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/2008/01/23/recipes-for-defining-bindable-properties-in-flex-20/</guid>
		<description><![CDATA[You&#8217;re a Flex 2.0 programmer and wish to define an instance property of some class. You wish this property to be bindable, because it&#8217;s displayed. You also wish it to be read-only, for encapsulation. The property is variable, but the application code is not permitted to modify it directly. (Presumably, there are functions of the [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re a Flex 2.0 programmer and wish to define an instance property of some class. You wish this property to be bindable, because it&#8217;s displayed. You also wish it to be read-only, for encapsulation. The property is variable, but the application code is not permitted to modify it directly. (Presumably, there are functions of the class that modify the value internally.) This is a recurring question, and the answer is not straightforward. I have been asked about this more than once by colleagues here at <a title="Allurent" target="_blank" href="http://www.allurent.com">Allurent</a>.  A cookbook solution is called for.  Here it is. <a id="more-21"></a></p>
<p>Neither of the &#8220;obvious&#8221; approaches works, due to limitations of the Flex 2.0 MXMLC compiler.  These approaches are:</p>
<ol>
<li>Define the property with a set function and a get function. Declare the get function public, but keep the set function private. Add [Bindable] metadata.</li>
<li>Define the property with a get function but no set function.  Add [Bindable] metadata to the get function.</li>
</ol>
<p>Approach #1 does not work because declaring a get/set function pair with different levels of permission results in a compiler error. The compiler just can&#8217;t handle it.</p>
<p>Approach #2 also fails due to compiler limitation. If the metadata reads simply [Bindable], then for some reason the compiler assumes that the property is constant and does not attempt to handle change events for that property. Therefore, bindings involving the property simply don&#8217;t work. The compiler does issue a warning to this effect, but the compilation succeeds.<br />
The workaround is simple.  Take approach #2, but list the name of the change event for the property in the metadata, lke this:</p>
<p>[Bindable(&#8221;somethingChanged&#8221;)]</p>
<p>or this:</p>
<p>[Bindable(name=&#8221;somethingChanged&#8221;)]</p>
<p>I&#8217;ve written a little test application that illustrates this approach. The source module &#8220;PropertyPatterns.as&#8221; is usable as a template for defining bindable properties.<br />
<a title="Test Application" href="/flexsamples/prop.swf">Click here to see the test application</a></p>
<p>To get the source code, right-click on the test application to bring up a menu, and select one of the &#8220;Show source&#8221; items from the menu.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/01/23/recipes-for-defining-bindable-properties-in-flex-20/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>360&#124;Flex 2008: Deal Me In</title>
		<link>http://ech.net/blog/2008/01/09/360flex-2008-deal-me-in/</link>
		<comments>http://ech.net/blog/2008/01/09/360flex-2008-deal-me-in/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 22:12:01 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/index.php/2008/01/09/360flex-2008-deal-me-in/</guid>
		<description><![CDATA[Though 360&#124;Flex 2007 Seattle seems like only a few months ago (it was), 360&#124;Flex 2008 is right around the corner, in February. I&#8217;m planning to be there again. For details about the conference, see: http://www.360conferences.com/360flex/  If you&#8217;re a Flex developer or interested in becoming one, you should seriously consider attending this show.
This year, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Though 360|Flex 2007 Seattle seems like only a few months ago (it was), 360|Flex 2008 is right around the corner, in February. I&#8217;m planning to be there again. For details about the conference, see: <a target="_blank" title="http://www.360conferences.com/360flex/" href="http://www.360conferences.com/360flex/">http://www.360conferences.com/360flex/</a>  If you&#8217;re a Flex developer or interested in becoming one, you should seriously consider attending this show.<a id="more-19"></a></p>
<p>This year, I&#8217;m planning to present on &#8220;Bitmaps in Flex&#8221;. This talk is about using some of the best features of the Flash Player in combination with the power of Flex to create animated, visually striking graphical presentations. It goes beyond what can be achieved using simply Flex Effects and styles. Some of the topics I&#8217;m planning to cover include:</p>
<ul>
<li>What a bitmap-enhanced display can do for the user</li>
<li>Comparison with Flash timeline: pros and cons</li>
<li>Bitmap, BitmapData, Loader, Image APIs</li>
<li>Embedding bitmaps</li>
<li>Scaling and skewing</li>
<li>Merging and dissolving</li>
<li>Creating custom components using bitmaps</li>
<li>Animation tactics</li>
<li>A little about Papervision 3D</li>
</ul>
<p>I&#8217;m hoping to make this a fun, interesting talk with wide appeal. If you&#8217;re coming from the Flash world, it will show you how to &#8220;do it the Flex way&#8221; using ActionScript and MXML. If you&#8217;re coming from the non-Flash world, it may open your eyes to the possibilities of the powerful graphics engine that underlies Flex.</p>
<p>What about Practical Patterns? If you&#8217;re looking for a follow-up to my presentation of last year, please hold that thought.  <a title="Joe Berkovitz" target="_blank" href="http://joeberkovitz.com">Joe </a>and I decided to put this topic aside for now. It has been only a few months since its last run at MAX 2007, and we feel it could benefit from some more time spent in practice. The next time one of us returns to Patterns, it will be from the point of view of additional experience. If you have thoughts about what should go into the next run of this talk, I&#8217;d love to hear them.</p>
<p>See you at the show.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2008/01/09/360flex-2008-deal-me-in/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Updated &#8220;Practical Patterns&#8221; Materials On-Line</title>
		<link>http://ech.net/blog/2007/10/26/updated-practical-patterns-materials-on-line/</link>
		<comments>http://ech.net/blog/2007/10/26/updated-practical-patterns-materials-on-line/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 18:01:50 +0000</pubDate>
		<dc:creator>ech</dc:creator>
		
	<category>software</category>
		<guid isPermaLink="false">http://ech.net/blog/index.php/2007/10/26/updated-practical-patterns-materials-on-line/</guid>
		<description><![CDATA[Since 360&#124;Flex 2007, the &#8220;Practical Patterns in Flex&#8221; talk has received creative attention from none other than Joe Berkovitz, who sharpened many of the key points and built out the sample application. He presented the improved talk at MAX 2007 in Barcelona, to a mob of eager application architecture mavens! You can download the materials [...]]]></description>
			<content:encoded><![CDATA[<p>Since 360|Flex 2007, the &#8220;Practical Patterns in Flex&#8221; talk has received creative attention from none other than <a target="_blank" href="http://joeberkovitz.com">Joe Berkovitz</a>, who sharpened many of the key points and built out the sample application. He presented the improved talk at MAX 2007 in Barcelona, to a mob of eager application architecture mavens! You can download the materials from <a target="_blank" href="http://joeberkovitz.com/blog/2007/10/18/max-2007-in-barcelona-talk-materials-online/">Joe&#8217;s blog post here</a>.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://ech.net/blog/2007/10/26/updated-practical-patterns-materials-on-line/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
