<?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>Pathfinder Development &#187; Flex</title>
	<atom:link href="http://www.pathf.com/blogs/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pathf.com/blogs</link>
	<description>Running commentary about agile development, user experience design and Ajax.</description>
	<lastBuildDate>Fri, 12 Mar 2010 17:26:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>What does Google Chrome do for Mac based Flex Developers?</title>
		<link>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/</link>
		<comments>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 17:30:13 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4532</guid>
		<description><![CDATA[Do you know every detail in the Flex framework by heart? Do you also know all the other libraries that you use by heart? Well I don't and I often have to reference some online resource while developing.
For instance, I always have Action Script Language Reference, Wikipedia, some library API site(s), Gmail and a dozen other ones [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/">What does Google Chrome do for Mac based Flex Developers?</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/07/why-chrome-os-is-the-future-of-netbooks/' rel='bookmark' title='Permanent Link: Why Chrome OS is the Future of Netbooks'>Why Chrome OS is the Future of Netbooks</a></li><li><a href='http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/' rel='bookmark' title='Permanent Link: How much Excel can we get in Flex?'>How much Excel can we get in Flex?</a></li><li><a href='http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/' rel='bookmark' title='Permanent Link: Using Adobe Flex Builder 3 on a Mac'>Using Adobe Flex Builder 3 on a Mac</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Do you know every detail in the Flex framework by heart? Do you also know all the other libraries that you use by heart? Well I don't and I often have to reference some online resource <em>while </em>developing.</p>
<p>For instance, I always have Action Script Language Reference, Wikipedia, some library API site(s), Gmail and a dozen other ones open + the debug version of the app at hand.</p>
<p>So what used to happen when you but a breakpoint in Flex Builder with all these tabs? They would be unavailable and any process happening inside of them could not be relied on. Since not all code runs well on first attempt, if the app crashed while testing ( think 3D, data intensive apps, etc.) the browser and all the tabs went down with it.</p>
<p>My solution so far was to use Firefox as a development browser and Safari ( since I'm Mac based ) as a browser for references and everything else. For crashing resolution, Firefox has a nice "Restore" option but it's not fun waiting for 15 tabs to reload.</p>
<p>So Google Chrome recently came out for Mac. It didn't impress me on Vista so I didn't care much. I guess I was in between of curious and bored so I decided to give it a spin.</p>
<p>What a pleasant surprise to see every tab running in a different process. My workflow feels so much better now that I'm not afraid that a bad line of code is going to take down my whole browser.</p>
<p>I've heard that IE8 also runs tabs as different processes but I'm not crazy about returning to development on Windows. I did try out Chrome on Windows 7 as a result of the Mac test and all the issues I've seen the first time around have been addressed. Kudos to Chrome development team.</p>
<p>Let's not forget to mention all the features that are missing on Google Chrome for Mac, primarily the lack of Bookmark Management, but Google Bookmarks or any online bookmarking service will do for now.</p>
<p>I can not wait to see more development being done on Google Chrome for Mac and it getting out of beta. I will not uninstall Firefox anytime soon but as a Flex developer I give Google Chrome for Mac high scores for beta.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/">What does Google Chrome do for Mac based Flex Developers?</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/07/why-chrome-os-is-the-future-of-netbooks/' rel='bookmark' title='Permanent Link: Why Chrome OS is the Future of Netbooks'>Why Chrome OS is the Future of Netbooks</a></li><li><a href='http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/' rel='bookmark' title='Permanent Link: How much Excel can we get in Flex?'>How much Excel can we get in Flex?</a></li><li><a href='http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/' rel='bookmark' title='Permanent Link: Using Adobe Flex Builder 3 on a Mac'>Using Adobe Flex Builder 3 on a Mac</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Widget for Graphing Elections and Debt</title>
		<link>http://www.pathf.com/blogs/2009/10/flex-widget-graphing-elections-debt/</link>
		<comments>http://www.pathf.com/blogs/2009/10/flex-widget-graphing-elections-debt/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 21:49:35 +0000</pubDate>
		<dc:creator>Bernhard Kappe</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Pathfinder News]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[blog widgets]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[elections]]></category>
		<category><![CDATA[flex widgets]]></category>
		<category><![CDATA[graphing]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4203</guid>
		<description><![CDATA[











We've been building a lot of mapping/GIS data visualization applications over the last few months, mostly using flex with various back end services (ArcGIS, google and yahoo maps, open source mapping frameworks.)  One of the more fun little projects was putting together this flex widget for displaying maps and graphical data together on a [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/flex-widget-graphing-elections-debt/">Flex Widget for Graphing Elections and Debt</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/' rel='bookmark' title='Permanent Link: Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA'>Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>
<object width="500" height="475">
<param name="movie" value="http://www.pathf.com/sites/pfd/flash/zeitlupe/Zeitlupe.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<param name="flashvars" value=" dataLocation=http://www.pathf.com/sites/pfd/flash/zeitlupe/"></param>
<embed type="application/x-shockwave-flash" width="500" height="475" src="http://www.pathf.com/sites/pfd/flash/zeitlupe/Zeitlupe.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" flashvars=" dataLocation=http://www.pathf.com/sites/pfd/flash/zeitlupe/" ></embed>
</object>
<br />
<br></p>
<p>We've been building a lot of <a href="http://www.pathf.com/blogs/tag/mapping/">mapping/GIS</a> data visualization applications over the last few months, mostly using flex with various back end services (ArcGIS, google and yahoo maps, open source mapping frameworks.)  One of the more fun little projects was putting together this flex widget for displaying maps and graphical data together on a timeline.  It's meant to be distributable so that anyone with a blog can display it.  We put it together using presidential election data and national debt, not because we thought the correlation was particularly significant, but because the data was available going back a long time.   The widget is pretty flexible; it can go against a local data source or a web service, and we can easily modify it to show different kinds of data.  We'll be coming out with a few more of these over the next few months, hopefully with some more <a href="http://www.pathf.com/blogs/tag/papervision3d/">3D maps</a>, drill down on geographic level, as well as more charting and other visualizations. If you'd like to use this one, or have ideas for other data sets and visualizations you'd like to see, let us know. </p>
<p><br></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/flex-widget-graphing-elections-debt/">Flex Widget for Graphing Elections and Debt</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/' rel='bookmark' title='Permanent Link: Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA'>Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/10/flex-widget-graphing-elections-debt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Accessing the Icon for a Button Programmatically in Flex 3</title>
		<link>http://www.pathf.com/blogs/2009/09/accessing_the_icon_for_a_button_programmatically_in_flex_3/</link>
		<comments>http://www.pathf.com/blogs/2009/09/accessing_the_icon_for_a_button_programmatically_in_flex_3/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 17:01:12 +0000</pubDate>
		<dc:creator>Anthony Caliendo</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[flex 3]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4024</guid>
		<description><![CDATA[


The other day, I was trying to get the icon for a button in flex programmatically for a FlexUnit test.   The code I was testing set the icon of a button using setStyle('icon', ICON).  I attempted the obvious button.getStyle('icon') in the test, but was surprised that this always returned null.
A little bit [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/09/accessing_the_icon_for_a_button_programmatically_in_flex_3/">Accessing the Icon for a Button Programmatically in Flex 3</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="right">
<img src="http://www.pathf.com/blogs/wp-content/uploads/2009/09/flex_logo.png" alt="flex_logo" title="flex_logo" width="128" height="121" class="alignnone size-full wp-image-4026" />
</div>
<p>The other day, I was trying to get the icon for a button in flex programmatically for a FlexUnit test.   The code I was testing set the icon of a button using <code>setStyle('icon', ICON)</code>.  I attempted the obvious <code>button.getStyle('icon')</code> in the test, but was surprised that this always returned <code>null</code>.</p>
<p>A little bit of digging revealed that the I needed to go through the style declaration for the button.  When changing my test to assert on <strong><code>button.styleDeclaration.getStyle('icon')</code></strong>, I was able to successfully access the icon.</p>
<p>I found this a bit non-intuitive, but fortunately it only involved some investigation and minimal code changes.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/09/accessing_the_icon_for_a_button_programmatically_in_flex_3/">Accessing the Icon for a Button Programmatically in Flex 3</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/09/accessing_the_icon_for_a_button_programmatically_in_flex_3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A First Impression of Flash Catalyst</title>
		<link>http://www.pathf.com/blogs/2009/07/a-first-impression-of-flash-catalyst/</link>
		<comments>http://www.pathf.com/blogs/2009/07/a-first-impression-of-flash-catalyst/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 21:29:45 +0000</pubDate>
		<dc:creator>Sholom Sandalow</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[User Experience Design]]></category>
		<category><![CDATA[uxd]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Rich Interactions]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=3352</guid>
		<description><![CDATA[Spent some time playing around with Flash Catalyst, which was released by Adobe as a public Beta yesterday.  I downloaded it today and got started on some of the tutorials Adobe labs has put up.
My impressions:
It's pretty neat stuff.  I could see myself prototyping with it, although Keynote and Acrobat are my tools [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/07/a-first-impression-of-flash-catalyst/">A First Impression of Flash Catalyst</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/' rel='bookmark' title='Permanent Link: Performance Optimization for Flash Player'>Performance Optimization for Flash Player</a></li><li><a href='http://www.pathf.com/blogs/2008/12/pathfinder-releases-version-1-of-the-its-flash-platform-microsite-codename-mica/' rel='bookmark' title='Permanent Link: Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)'>Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://tbn1.google.com/images?q=tbn:7UehK8c2MIS63M:http://flexibleair.files.wordpress.com/2009/06/flash_catalyst.png%3Fw%3D299%26h%3D300" alt="Flash Catalyst" align="right" />Spent some time playing around with <a href="http://labs.adobe.com/technologies/flashcatalyst/" rel="nofollow" >Flash Catalyst</a>, which was released by Adobe as a public Beta yesterday.  I downloaded it today and got started on some of the tutorials Adobe labs has put up.<br />
My impressions:<br />
It's pretty neat stuff.  I could see myself prototyping with it, although Keynote and Acrobat are my tools of choice at the moment.<br />
From my limited time working with it, Catalyst's main function is to make it very easy to take Photoshop or Illustrator compositions and turn them into fully (front end) functional interfaces, complete with animations, transitions, fades, buttons states etc.  One of the tutorials had me import artwork of a scrollbar, in 4 layers.  Creating an actual scrollbar and hooking it up to a canvas was as easy as selecting the individual layers and telling catalyst which part of the scroll bar it was (up button, down button, track and thumb).  It;s also super easy to connect user actions to specific screens (or states, as Catalyst calls them).<br />
<span id="more-3352"></span><br />
Although I'm not a Flex developer, It looks like it also works seamlessly with Flash builder (Formerly Flex builder).  The workflow that Adobe is promoting is clearly Create designs in Photoshop or Illustrator, wire the interactions in Catalyst, then hand the file over to developers using Flash Builder to connect front and back end into a fully functional application.</p>
<p>I'm skeptical that the tools assume a rigid and defined workflow between design and development, which would make them useless for building applications in an agile iterative manner.  Perhaps the format necessitated it, but each of the online tutorials I went through assumed that the front end interface would be completely finished graphically before any coding started.  This is just not the case in any projects I have worked on.  In reality, design iterates along with development.  It evolves as new requirements are uncovered.  Catalyst does maintain a dynamic link to its source PSD or IA files, and therefore conceivably designers could iterate on those files as developers are working on application logic.  But I get the sense that Catalyst wasn't created with that workflow in mind, and using it for iterative design/development would lead to major inefficiencies. </p>
<p>I hope to use it more as I have time, and hopefully get it involved soon as a prototyping tool on an upcoming project.  Then I'll learn some more about its strengths and weaknesses.  I've only spent about an hour total on it as of this writing, so I'm not expert, but these were just my first impressions.  Feel free to let me know what you think.   </p>
<p>Related Services:  <a href="http://www.pathf.com/services/technology-expertise/flex-and-rich-internet-applications/" rel="nofollow" >Flex, Flash and Air</a>, <a href="http://www.pathf.com/services" rel="nofollow" >Custom Software Development</a></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/07/a-first-impression-of-flash-catalyst/">A First Impression of Flash Catalyst</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/' rel='bookmark' title='Permanent Link: Performance Optimization for Flash Player'>Performance Optimization for Flash Player</a></li><li><a href='http://www.pathf.com/blogs/2008/12/pathfinder-releases-version-1-of-the-its-flash-platform-microsite-codename-mica/' rel='bookmark' title='Permanent Link: Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)'>Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/07/a-first-impression-of-flash-catalyst/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hedge Fund Analytics in Flex</title>
		<link>http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/</link>
		<comments>http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 15:37:17 +0000</pubDate>
		<dc:creator>Bernhard Kappe</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Pathfinder General]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[rich internet applications]]></category>
		<category><![CDATA[visual analytics]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2562</guid>
		<description><![CDATA[
Please install Flash to see this video player!

var so = new SWFObject('/sites/pfd/flash/player.swf','mpl','470','320','9');
so.addParam('allowscriptaccess','always');
so.addParam('allowfullscreen','true');
so.addParam('flashvars','&#038;file=http://media1.www.pathfinder-development.com/assets/Spectrum/Spectrum.mov&#038;image=http://www.pathf.com/sites/pfd/img/cases/hedgefundvideo.png');
so.write('player');
so.write('player');

We just published a case study on a Hedge Fund Analytics application developed in Flex.   It's an extensible Flex based platform for real time analysis of hedge fund performance data, with dynamically updating charts, graphs and sophisticated filters for cumulative performance, return [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/">Hedge Fund Analytics in Flex</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/' rel='bookmark' title='Permanent Link: Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA'>Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></li><li><a href='http://www.pathf.com/blogs/2008/12/google-analytics-tracking-component-for-flash-platform/' rel='bookmark' title='Permanent Link: Google Analytics Tracking Component for Flash Platform'>Google Analytics Tracking Component for Flash Platform</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="/sites/pfd/js/swfobject.js"></script></p>
<div id="player">Please install Flash to see this video player!</div>
<p><script type="text/javascript">
var so = new SWFObject('/sites/pfd/flash/player.swf','mpl','470','320','9');
so.addParam('allowscriptaccess','always');
so.addParam('allowfullscreen','true');
so.addParam('flashvars','&file=http://media1.www.pathfinder-development.com/assets/Spectrum/Spectrum.mov&image=http://www.pathf.com/sites/pfd/img/cases/hedgefundvideo.png');
so.write('player');
so.write('player');
</script></p>
<p>We just published a case study on a Hedge Fund Analytics application developed in Flex.   It's an extensible Flex based platform for real time analysis of hedge fund performance data, with dynamically updating charts, graphs and sophisticated filters for cumulative performance, return distribution, alpha, beta and correlations, commissions and fees, credit and sector exposure.</p>
<p>The system is designed as a modular platform which can consume data services from multiple sources, and can integrate multiple custom components. Custom components were designed to conform to a standard API. Components expose standard flex component properties and events so that properties and method references could be passed. This allowed individual dashboard applications to be built, fed data and customized at run time. Take a look at a <a href="http://media1.www.pathfinder-development.com/assets/Spectrum/Spectrum.mov" rel="nofollow" >video demo</a> or read the longer <a href="http://www.pathf.com/showcase/success-stories/hedge-fund-analytics/" rel="nofollow" >case study</a> on the <a href="http://www.pathf.com/" rel="nofollow" >Pathfinder site</a>.</p>
<p><a href="http://media1.www.pathfinder-development.com/assets/Spectrum/Spectrum.mov" rel="nofollow" >Hedge Fund Analytics</a></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/">Hedge Fund Analytics in Flex</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/' rel='bookmark' title='Permanent Link: Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA'>Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></li><li><a href='http://www.pathf.com/blogs/2008/12/google-analytics-tracking-component-for-flash-platform/' rel='bookmark' title='Permanent Link: Google Analytics Tracking Component for Flash Platform'>Google Analytics Tracking Component for Flash Platform</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media1.www.pathfinder-development.com/assets/Spectrum/Spectrum.mov" length="40258403" type="video/quicktime" />
		</item>
		<item>
		<title>Flare vs. Axiis</title>
		<link>http://www.pathf.com/blogs/2009/05/flare-vs-axiis/</link>
		<comments>http://www.pathf.com/blogs/2009/05/flare-vs-axiis/#comments</comments>
		<pubDate>Thu, 28 May 2009 16:37:53 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[axiis]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[Flare]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2524</guid>
		<description><![CDATA[After a long time of searching for the right data visualization framework for Flash Platform, some time ago I've put my money on Flare which is based on a Java framework called Prefuse. I have been very happy with it and haven't looked back until a new framework of same purpose crossed my way - [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/flare-vs-axiis/">Flare vs. Axiis</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/' rel='bookmark' title='Permanent Link: Data visualization and the art of conveying information'>Data visualization and the art of conveying information</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-2525" title="flare-vs-axiss" src="http://www.pathf.com/blogs/wp-content/uploads/2009/05/flare-vs-axiss.png" alt="flare-vs-axiss" width="100%" />After a long time of searching for the right data visualization framework for Flash Platform, some time ago I've put my money on <a href="http://flare.prefuse.org/" rel="nofollow"  target="_blank">Flare</a> which is based on a Java framework called <a href="http://www.prefuse.org/" rel="nofollow"  target="_blank">Prefuse</a>. I have been very happy with it and haven't looked back until a new framework of same purpose crossed my way - <a href="http://www.axiis.org/" rel="nofollow"  target="_blank">Axiis</a>.</p>
<p>Before anything else said, Axiis is a brand new framework so I have to give it some credit if all the bells and whistles are not there. What intrigued me about it in the first place is that Axiis is heavily relying on <a href="http://www.degrafa.org/" rel="nofollow"  target="_blank">Degrafa</a>, a well proven declarative graphics framework that I have a lot of good experience with.</p>
<p>After looking at Axiis examples, here are my first impressions of how it stands against Flare.</p>
<p><span id="more-2524"></span></p>
<p>Firstly, they are both open source. Needless to say, this goes a long way.</p>
<p>Axiis, unlike Flare, is solely Flex based because of its reliance on Degrafa. Not that I'm crazy about doing data visualization projects in Flash, but it is a good feeling to have options.</p>
<p>Axiis code looks better structured and organized - at a first glance. While it is a little bit tricky to organize Flare code, I have made it a standard to use it in conjuction with <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a>, (my favorite MVC framework) and that setup makes it much easier to deal with Flare code. Code in Flare examples looked scary at best when I saw it the first time. Axiis code in the examples they provided is mostly neat MXML, but there is only so much of MXML per component that I'm willing to look at. My guess is that combining it with an MVC framework and AS3 would be a nice thing for me to try and see how that workflow looks like.</p>
<p>Flare was not quick to jump into in my experience, but well worth the trouble. Jumping into Axiis with previous knowledge of Degrafa took a really short time. Although there is example code for Flare, I didn't learn a lot from it because of the very different coding style from what I generally do. I learned most about it from forums, fidgeting with classes and somewhat reading through the source code. Axiis example code is clear as day and a ready source for your first Axiis project.</p>
<p>What rocked my world about Flare to begin with were the layout transitions and how well they performed with larger data sets. I haven't seen that in Axiis examples. I'm not sure if I should care about transitions that much but I think that it is not to ignore when it comes to interactive data visualizations. Performance testing is the first thing I'm going to pay attention to when it comes to Axiis.</p>
<p>So at the end I will do a prototype in Axiis to see how is it to work with and how well it performs. It definitely seems very promising but I'm not going to drop Flare anytime soon.</p>
<p>What will be hard to top about Flare is that I keep finding new ways to do things with it and new wonderful expressions made possible with its endless flexibility.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/flare-vs-axiis/">Flare vs. Axiis</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/' rel='bookmark' title='Permanent Link: Data visualization and the art of conveying information'>Data visualization and the art of conveying information</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/05/flare-vs-axiis/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Summer Software Development Internship</title>
		<link>http://www.pathf.com/blogs/2009/05/summer-software-development/</link>
		<comments>http://www.pathf.com/blogs/2009/05/summer-software-development/#comments</comments>
		<pubDate>Tue, 12 May 2009 18:36:07 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pathfinder News]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Internship]]></category>
		<category><![CDATA[Pathfinder Development]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2409</guid>
		<description><![CDATA[
 photo credit: Paul L. Nettles
We're starting a software development summer internship in our Chicago office this year. If you're a college junior, senior or recent graduate who want to learn the agile/OO development ropes while developing really cool products and services and earning $20/hr per hour (you should pay for the privilege, right?), give [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/summer-software-development/">Summer Software Development Internship</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/09/ruby-rails-internship/' rel='bookmark' title='Permanent Link: Ruby on Rails Internship'>Ruby on Rails Internship</a></li><li><a href='http://www.pathf.com/blogs/2008/02/google-summer-o/' rel='bookmark' title='Permanent Link: Google Summer of Code 2008'>Google Summer of Code 2008</a></li><li><a href='http://www.pathf.com/blogs/2009/08/software-development-wasted-motion/' rel='bookmark' title='Permanent Link: Software Development and Wasted Motion'>Software Development and Wasted Motion</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><a href="http://www.flickr.com/photos/28451803@N00/3270262773/" rel="nofollow" title="747"  target="_blank"><img src="http://farm4.static.flickr.com/3342/3270262773_f3f3f96052_m.jpg" border="0" alt="747" /></a><br />
<small><a href="http://creativecommons.org/licenses/by-nd/2.0/" rel="nofollow" title="Attribution-NoDerivs License"  target="_blank"><img src="http://www.pathf.com/blogs/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" rel="nofollow"  target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/28451803@N00/3270262773/" rel="nofollow" title="Paul L. Nettles"  target="_blank">Paul L. Nettles</a></small></div>
<p>We're starting a software development summer internship in our Chicago office this year. If you're a college junior, senior or recent graduate who want to learn the agile/OO development ropes while developing really cool products and services and earning $20/hr per hour (you should pay for the privilege, right?), give the internship posting a look <a href="http://careers.pathf.com/index.php?m=careers&amp;p=showJob&amp;ID=39" rel="nofollow" >here</a>.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/summer-software-development/">Summer Software Development Internship</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/09/ruby-rails-internship/' rel='bookmark' title='Permanent Link: Ruby on Rails Internship'>Ruby on Rails Internship</a></li><li><a href='http://www.pathf.com/blogs/2008/02/google-summer-o/' rel='bookmark' title='Permanent Link: Google Summer of Code 2008'>Google Summer of Code 2008</a></li><li><a href='http://www.pathf.com/blogs/2009/08/software-development-wasted-motion/' rel='bookmark' title='Permanent Link: Software Development and Wasted Motion'>Software Development and Wasted Motion</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/05/summer-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</title>
		<link>http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/</link>
		<comments>http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/#comments</comments>
		<pubDate>Mon, 04 May 2009 12:51:23 +0000</pubDate>
		<dc:creator>Bernhard Kappe</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Pathfinder General]]></category>
		<category><![CDATA[Pathfinder News]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[rich internet applicaiton]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1224</guid>
		<description><![CDATA[We just launched a new rich internet application for Destinationbeer.com, called Beer Hunter.  It was written in Flex and Ruby on Rails and features mapping and 150 beers from around the world.  We think it's pretty cool, so check it out, and let us know what you think.  One of the things I really like [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/">Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/12/pathfinder-releases-version-1-of-the-its-flash-platform-microsite-codename-mica/' rel='bookmark' title='Permanent Link: Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)'>Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)</a></li><li><a href='http://www.pathf.com/blogs/2008/11/rails-amf-and-flex/' rel='bookmark' title='Permanent Link: Rails, AMF and Flex'>Rails, AMF and Flex</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pathf.com/blogs/wp-content/uploads/2008/10/casestudiesbeerhunterimage.jpg"><img class="alignnone size-thumbnail wp-image-1225" style="float:right;padding:10px" title="Beer Hunter Case Study" src="http://www.pathf.com/blogs/wp-content/uploads/2008/10/casestudiesbeerhunterimage.jpg" alt="Beer Hunter Flex RIA" width="148" height="150" /></a>We just launched a new rich internet application for <a href="http://www.destinationbeer.com" rel="nofollow" title="Destinationbeer.com"  target="_blank">Destinationbeer.com</a>, called <a href="http://destinationbeer.com/beer_hunter/" rel="nofollow" title="Beer Hunter"  target="_blank">Beer Hunter</a>.  It was written in Flex and Ruby on Rails and features mapping and 150 beers from around the world.  We think it's pretty cool, so check it out, and let us know what you think.  One of the things I really like about it is that the design pattern can be applied anywhere you're filtering products geographically and on attributes.  Coffee? Wine? Jewelry? Chocolate? Travel Books? I particularly like the way the beer list visually sorts when you change a filter and the zoom interactions on the map.</p>
<p>There's more information in the <a href="http://www.pathf.com/showcase/success-stories/beer-hunter-flex-ruby/" rel="nofollow" title="case study"  target="_self">case study</a> on the Pathfinder web site, <a href="http://www.pathf.com/blogs/author/sasha-dzeletovic/"title="Sasha"  target="_self">Sasha</a> has written a related post on <a href="http://www.pathf.com/blogs/2008/09/simphony-of-ruby-on-rails-and-flex-through-rubyamf/"title="RubyAMF and Flex"  target="_self">RubyAMF and Flex</a> from the Flex perspective , and <a href="http://www.pathf.com/blogs/author/jficke/"title="Justin"  target="_self">Justin</a> has written one on <a href="http://www.pathf.com/blogs/2008/11/rails-amf-and-flex/"title="Rails, AMF and Flex"  target="_self">Rails, AMF and Flex</a> from the Rails perspective.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/">Pathfinder Launches Beer Hunter,  A New Flex + Ruby RIA</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/12/pathfinder-releases-version-1-of-the-its-flash-platform-microsite-codename-mica/' rel='bookmark' title='Permanent Link: Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)'>Pathfinder releases version 1 of its Flash Platform microsite (codename Mica)</a></li><li><a href='http://www.pathf.com/blogs/2008/11/rails-amf-and-flex/' rel='bookmark' title='Permanent Link: Rails, AMF and Flex'>Rails, AMF and Flex</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/05/pathfinder-launches-beer-hunter-a-new-flex-ruby-ria/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remove/Cancel Bubbling for an Event in Flex3</title>
		<link>http://www.pathf.com/blogs/2009/04/remove-bubbling-for-an-event-in-flex3/</link>
		<comments>http://www.pathf.com/blogs/2009/04/remove-bubbling-for-an-event-in-flex3/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 20:18:15 +0000</pubDate>
		<dc:creator>Anthony Caliendo</dc:creator>
				<category><![CDATA[Business Rules Engines]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[uxd]]></category>
		<category><![CDATA[Flex3]]></category>
		<category><![CDATA[flexunit]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2243</guid>
		<description><![CDATA[


I recently had an issue in flex where I needed the click event for a component in an ItemRenderer to not bubble up to the parent list.  Since the click event was being dispatched by Flex SDK code, I could not directly do this by passing false into the event's constructor.  I had [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/remove-bubbling-for-an-event-in-flex3/">Remove/Cancel Bubbling for an Event in Flex3</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/' rel='bookmark' title='Permanent Link: Notification Testing with PureMVC and FlexUnit'>Notification Testing with PureMVC and FlexUnit</a></li><li><a href='http://www.pathf.com/blogs/2009/06/grails-custom-parent-child-aware-tags/' rel='bookmark' title='Permanent Link: Grails: Custom Parent/Child Aware Tags'>Grails: Custom Parent/Child Aware Tags</a></li><li><a href='http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/' rel='bookmark' title='Permanent Link: Mouse wheel (scroll) Event in Flash Player running on a Mac'>Mouse wheel (scroll) Event in Flash Player running on a Mac</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="right">
<img src="http://www.pathf.com/blogs/wp-content/uploads/2009/04/fx_icon_special_100x100.jpg" alt="fx_icon_special_100x100" width="100" height="100" class="alignnone size-full wp-image-2245" />
</div>
<p>I recently had an issue in flex where I needed the click event for a component in an ItemRenderer to not bubble up to the parent list.  Since the click event was being dispatched by Flex SDK code, I could not directly do this by passing <code>false</code> into the event's constructor.  I had hoped to find a property I could set on the object, something like "clickBubbles", which I could set which would accomplish this.</p>
<p>Either that property doesn't exist or I could not find it.  My solution was to basically hijack the event and send an impersonator in its place.</p>
<p><span id="more-2243"></span></p>
<p>What I ended up doing was writing an event listener function which would stop propagation on the event.  It would then dispatch another event with the same properties as the original, except it would set <code>bubbles</code> to <code>false</code>.  This will prevent the event from bubbling up to parent components, but still allow event listeners to be added to the component itself.</p>
<p>The following is the function I wrote:</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> removeMouseEventBubble<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">// if the event already does not bubble, we don't</span>
	<span style="color: #808080; font-style: italic;">// need to do anything.</span>
	<span style="color: #808080; font-style: italic;">// also, this will prevent any infinite loops from occurring</span>
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">bubbles</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// stop the event from being handled by other code</span>
		event.<span style="color: #006600;">stopImmediatePropagation</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #808080; font-style: italic;">// dispatch a new event which does not bubble</span>
		event.<span style="color: #0066CC;">target</span>.<span style="color: #006600;">dispatchEvent</span><span style="color: #66cc66;">&#40;</span>
			<span style="color: #000000; font-weight: bold;">new</span> MouseEvent<span style="color: #66cc66;">&#40;</span>
				event.<span style="color: #0066CC;">type</span>, <span style="color: #000000; font-weight: bold;">false</span>, event.<span style="color: #006600;">cancelable</span>,
				event.<span style="color: #006600;">localX</span>, event.<span style="color: #006600;">localY</span>,
				event.<span style="color: #006600;">relatedObject</span>,
				event.<span style="color: #006600;">ctrlKey</span>, event.<span style="color: #006600;">altKey</span>,
				event.<span style="color: #006600;">shiftKey</span>, event.<span style="color: #006600;">buttonDown</span>,
				event.<span style="color: #006600;">delta</span>
			<span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Now, all you need to do is set the click handler on the component:</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;components:Foo</span> <span style="color: #000066;">click</span>=<span style="color: #ff0000;">&quot;removeMouseEventBubble(event)&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;</pre>
<p>In order to make sure that this code prevented the original event from propagating and to ensure that it dispatched a similar event which does not bubble, I wrote the following <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" rel="nofollow" >FlexUnit</a> test. <em>N.B. This code is adapted from an actual test, I wouldn't recommend having the code under test defined in the test case itself, nor do I like the fact that the </em><code>removeMouseEventBubble</code><em> function is being added in the test</em>.</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> testShouldRemoveBubbleOnClickButAllowEventListenersToStillFire<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> component:UIComponent = <span style="color: #000000; font-weight: bold;">new</span> UIComponent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	component.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>
		MouseEvent.<span style="color: #006600;">CLICK</span>, removeMouseEventBubble
	<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// if we cannot add other event listeners, then the</span>
	<span style="color: #808080; font-style: italic;">// async function will not get fired and the test will fail.</span>
	component.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, addAsync<span style="color: #66cc66;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
			assertFalse<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">bubbles</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// assert that the event was translated properly</span>
			assertEquals<span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, event.<span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#41;</span>;
			assertTrue<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">cancelable</span><span style="color: #66cc66;">&#41;</span>;
			assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8</span>, event.<span style="color: #006600;">localX</span><span style="color: #66cc66;">&#41;</span>;
			assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">9</span>, event.<span style="color: #006600;">localY</span><span style="color: #66cc66;">&#41;</span>;
			assertEquals<span style="color: #66cc66;">&#40;</span>renderer, event.<span style="color: #006600;">relatedObject</span><span style="color: #66cc66;">&#41;</span>;
			assertTrue<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">ctrlKey</span><span style="color: #66cc66;">&#41;</span>;
			assertTrue<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">altKey</span><span style="color: #66cc66;">&#41;</span>;
			assertTrue<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">shiftKey</span><span style="color: #66cc66;">&#41;</span>;
			assertTrue<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">buttonDown</span><span style="color: #66cc66;">&#41;</span>;
			assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">5</span>, event.<span style="color: #006600;">delta</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">1000</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	component.<span style="color: #006600;">dispatchEvent</span><span style="color: #66cc66;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">new</span> MouseEvent<span style="color: #66cc66;">&#40;</span>
			MouseEvent.<span style="color: #006600;">CLICK</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #cc66cc;">8</span>,
			<span style="color: #cc66cc;">9</span>, renderer, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #cc66cc;">5</span>
		<span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>I then wrote a test to verify that the event did not bubble up to the parent:</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> testShouldNotBubbleClickEventToParent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> parent:UIComponent = <span style="color: #000000; font-weight: bold;">new</span> UIComponent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	parent.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>,
		<span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// this won't cause the test to fail per say,</span>
			<span style="color: #808080; font-style: italic;">// but it will cause an exception to be thrown</span>
			<span style="color: #808080; font-style: italic;">// and this will show up when executing the</span>
			<span style="color: #808080; font-style: italic;">// test.  This will fail the build, especially</span>
			<span style="color: #808080; font-style: italic;">// if run on a CI server like hudson or cruise.</span>
			fail<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'did not expect event to bubble'</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> child:UIComponent = <span style="color: #000000; font-weight: bold;">new</span> UIComponent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	child.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>
		MouseEvent.<span style="color: #006600;">CLICK</span>, removeMouseEventBubble
	<span style="color: #66cc66;">&#41;</span>;
	parent.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>child<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	child.<span style="color: #006600;">dispatchEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> MouseEvent<span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>This solution works, but I was hoping there was something more elegant and less hacky which accomplished the same thing.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/remove-bubbling-for-an-event-in-flex3/">Remove/Cancel Bubbling for an Event in Flex3</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/' rel='bookmark' title='Permanent Link: Notification Testing with PureMVC and FlexUnit'>Notification Testing with PureMVC and FlexUnit</a></li><li><a href='http://www.pathf.com/blogs/2009/06/grails-custom-parent-child-aware-tags/' rel='bookmark' title='Permanent Link: Grails: Custom Parent/Child Aware Tags'>Grails: Custom Parent/Child Aware Tags</a></li><li><a href='http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/' rel='bookmark' title='Permanent Link: Mouse wheel (scroll) Event in Flash Player running on a Mac'>Mouse wheel (scroll) Event in Flash Player running on a Mac</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/04/remove-bubbling-for-an-event-in-flex3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Touch Screen Kiosk in Adobe Air</title>
		<link>http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/</link>
		<comments>http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 21:09:31 +0000</pubDate>
		<dc:creator>Bernhard Kappe</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Pathfinder General]]></category>
		<category><![CDATA[Pathfinder News]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[User Experience Design]]></category>
		<category><![CDATA[uxd]]></category>
		<category><![CDATA[adobe flex]]></category>
		<category><![CDATA[Flash and Air]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[touch screen]]></category>
		<category><![CDATA[touch screen kiosk]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=2133</guid>
		<description><![CDATA[
We recently launched a new Touch Screen Kiosk deployed in both Adobe Air and Flex.  Touch Screen Kiosks pose some interesting usability challenges, some of which overlap with those for the iPhone.  Take a look at a video demo or read the longer case study on the Pathfinder site.
Touch Screen Kiosk Demo

Pathfinder Development [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/">Touch Screen Kiosk in Adobe Air</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/05/adobe-open-scre/' rel='bookmark' title='Permanent Link: Adobe &#8220;Open Screen&#8221; is not &#8220;Open Source&#8221;'>Adobe &#8220;Open Screen&#8221; is not &#8220;Open Source&#8221;</a></li><li><a href='http://www.pathf.com/blogs/2007/01/the_iphone_and_/' rel='bookmark' title='Permanent Link: the iPhone and Touch screen technology'>the iPhone and Touch screen technology</a></li><li><a href='http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/' rel='bookmark' title='Permanent Link: Hedge Fund Analytics in Flex'>Hedge Fund Analytics in Flex</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://media1.www.pathfinder-development.com/assets/Rotary/Rotaryclip.mov" rel="nofollow"  target="_blank"><img src="http://www.pathf.com/blogs/wp-content/uploads/2009/04/kioskscreensmall1.png" alt="kioskscreensmall1" title="kioskscreensmall1" width="400" height="227" class="alignright size-full wp-image-2137" /></a></p>
<p>We recently launched a new Touch Screen Kiosk deployed in both Adobe Air and Flex.  Touch Screen Kiosks pose some interesting usability challenges, some of which overlap with those for the iPhone.  Take a look at a <a href="http://media1.www.pathfinder-development.com/assets/Rotary/Rotaryclip.mov" rel="nofollow" >video demo</a> or read the longer <a href="http://www.pathf.com/showcase/success-stories/Touch-Screen-Kiosk/" rel="nofollow" >case study</a> on the <a href="http://www.pathf.com/" rel="nofollow" >Pathfinder site</a>.</p>
<p><a href='http://media1.www.pathfinder-development.com/assets/Rotary/Rotaryclip.mov' >Touch Screen Kiosk Demo</a></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/">Touch Screen Kiosk in Adobe Air</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/05/adobe-open-scre/' rel='bookmark' title='Permanent Link: Adobe &#8220;Open Screen&#8221; is not &#8220;Open Source&#8221;'>Adobe &#8220;Open Screen&#8221; is not &#8220;Open Source&#8221;</a></li><li><a href='http://www.pathf.com/blogs/2007/01/the_iphone_and_/' rel='bookmark' title='Permanent Link: the iPhone and Touch screen technology'>the iPhone and Touch screen technology</a></li><li><a href='http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/' rel='bookmark' title='Permanent Link: Hedge Fund Analytics in Flex'>Hedge Fund Analytics in Flex</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media1.www.pathfinder-development.com/assets/Rotary/Rotaryclip.mov" length="5620456" type="video/quicktime" />
		</item>
		<item>
		<title>Can your Selenium do that? Testing flash/flex and silverlight in web apps with iMacros</title>
		<link>http://www.pathf.com/blogs/2009/04/can-your-selenium-do-that-testing-flashflex-and-silverlight-in-web-apps-with-imacros/</link>
		<comments>http://www.pathf.com/blogs/2009/04/can-your-selenium-do-that-testing-flashflex-and-silverlight-in-web-apps-with-imacros/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 10:00:03 +0000</pubDate>
		<dc:creator>John McCaffrey</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[cruise]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[imacros]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[SeleniumIDE]]></category>
		<category><![CDATA[soapUI]]></category>
		<category><![CDATA[Tellurium]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[watij]]></category>
		<category><![CDATA[watir]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[WebTest]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1873</guid>
		<description><![CDATA[
Having learned a long time ago the value of automated testing tools like Selenium, jMeter, and soapUI, I'm always on the lookout for new improvements in these tools. While I love Selenium and other frameworks like it, it has the limitation of not being able to test Flash/Flex/Silverlight or Java Applets. But if you need [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/can-your-selenium-do-that-testing-flashflex-and-silverlight-in-web-apps-with-imacros/">Can your Selenium do that? Testing flash/flex and silverlight in web apps with iMacros</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/04/ajax-testing-do/' rel='bookmark' title='Permanent Link: Ajax Testing: Doubling Down with Selenium and JMeter'>Ajax Testing: Doubling Down with Selenium and JMeter</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li><li><a href='http://www.pathf.com/blogs/2008/09/flash-flex-physics-engines-and-examples/' rel='bookmark' title='Permanent Link: Flash/Flex physics engines and examples'>Flash/Flex physics engines and examples</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="right"><img class="alignright size-full wp-image-1880" src="http://www.pathf.com/blogs/wp-content/uploads/2009/04/imacros-logo.gif" alt="imacros-logo" width="132" height="125" /></div>
<p>Having learned a long time ago the value of automated testing tools like <a href="http://seleniumhq.org/" rel="nofollow"  target="_blank">Selenium</a>, jMeter, and soapUI, I'm always on the lookout for new improvements in these tools. While I love Selenium and other frameworks like it, it has the limitation of not being able to test Flash/Flex/Silverlight or Java Applets. But if you need to test flash and silverlight components of your web app, in an automated way, the  <a href="http://www.iopus.com/" rel="nofollow"  target="_blank">iMacros </a> testing tool might be worth checking out.</p>
<p><strong>No Free Ride</strong></p>
<p>While the free version of the iMacros plugins for InternetExplorer and Firefox allow powerful web scripting similar to Selenium, to be able to do the flash/flex and silverlight, you have to get the paid version or the 30-day trial. I downloaded the trial version to see how it compares to Selenium and what kind of damage I could to.</p>
<p>Going through some of the online <a href="http://forum.iopus.com/_uploads/ImageRecognition.htm" rel="nofollow"  target="_blank">demos</a>,<span id="more-1873"></span> I saw you can actually do an image comparison to assert that something is visible in flash, and even have the test click on that part of the app.  The process involved taking a screen shot of the app, grabbing the section you want to use as the target, and then specifiying if you want the script to just assert that section is contained with in the app, or if you want it to also click on it.</p>
<p>I  followed the example to create a test that opened up a flash swf file and navigated through the app, asserting that certain image sections, like buttons and instructional messages appeared in the flash app. While the process wasn't that hard, I could see how it would be brittle as the tests would break whenever slight changes to the graphics happened.</p>
<p>One possible way to defend against brittle tests is to share the image assets that make up a flash app and its assertions between the flash designer and the tester. If the testing person has the access to the source code and images that make up the app, the script could refer to 'start_button.png' from the source tree, and even if the designer updates that file, the test will still pass.</p>
<p>You don't have to use the image detection to drive the script, you can just have it click on things according to their position, but the image detection was more interesting to me,  and I noticed that if you resized your window, the positional detection would be incorrect.</p>
<p><strong>Feeding the script with User Data</strong></p>
<p>One of the stand out features is having the script prompt the user for input, which I think could be extremely powerful when using the test as a data generator.  One of the ways that I've found to encourage Selenium adoption on a new project is to set up the tests so that they automate the most common tasks, and help developers and the BA/QA team generate test data to aide their manual testing.  With Selenium that required that we put some extra components into the iframe, to let the user select values that would be used within the script. I've also used selenium in the past as a way to automate certain personal tasks like filling out online surveys, or reconfiguring my <a href="https://forums.vonage.com/showthread.php?t=222" rel="nofollow"  target="_blank">stupid motorola router</a> after a power failure, and I could see the prompting feature of iMacros making those scripts easier to create.</p>
<p>iMacros also lets you feed a script with a .csv file, and have it loop over and repeat for each row, which can be a good way to seed some test data in an app, while putting it under a bit of load. (Not sure how to best have two iMacros scripts going against one server like I used to with Selenium, but I bet its possible)</p>
<p>Iopus, the company that makes iMacros, is actively encouraging a community to share common scripts, and includes several good examples of their own, one which fires off searches against multiple sites, after prompting you for a search term.  (which I plan to create my own to blast searches against my favorite online classified sites like craigslist, oodle,  googlebase, kijiji,  listpic, and ebay)</p>
<p><strong>Overall, I would say compared to Selenium, iMacros is:</strong></p>
<ul>
<li>Slightly less intuitive to me in terms of syntax, assertions, and scripting capabilities</li>
<li>Capable of working in Firefox and InternetExplorer</li>
<li>Loaded with great examples, documentation and video tutorials</li>
<li>Similar to the <a href="http://seleniumhq.org/projects/ide/" rel="nofollow"  target="_blank">Selenium IDE</a> interface for recording, editing, and  rerunning tests</li>
<li>Designed with user interaction in mind (easy to record, prompting for user input, csv import)</li>
<li>Taking web scripting to the next level with powerful  data extraction capabilities</li>
</ul>
<p><strong>Stuff I didn't look into yet</strong></p>
<ul>
<li>Integrating the tests into the Continuous Integration build with either <a href="http://cruisecontrol.sourceforge.net/" rel="nofollow"  target="_blank">Cruise</a> or <a href="https://hudson.dev.java.net/" rel="nofollow"  target="_blank">Hudson</a></li>
<li>How to use the Data extraction capabilities</li>
<li>Invoking Javascript from the test</li>
<li>Having the script take  a screenshot on failure</li>
<li>Invoking the test script from  <a href="http://wiki.imacros.net/Sample_Code" rel="nofollow"  target="_blank">Java  or Ruby</a></li>
<li>Drag &amp; Drop Ajax</li>
<li>Stepping through the debugger</li>
<li>Firing off multiple sessions</li>
</ul>
<p>No matter which tool you choose, having some level of automated functional and UI tests is critical. It saves everyone on the team time on menial and repetitive tasks, can be a great way for new people to learn the app, provides a suite of smoke tests you can run throughout the development cycle, and it can help you free up your QA resources to focus on higher value goals.</p>
<p><strong>And what about you?</strong></p>
<ol>
<li>How do you test flash/flex/siverlight/java Applets in your apps?</li>
<li>Is there anything that Selenium can't do for you? (Other than Flash/Flex, Selenium has always been able to do what I need)</li>
<li>What parts of your UI testing have you been able to automate? (And what's your next goal?)</li>
</ol>
<p>What do you think you could do with iMacros? Could you use it to <a href="http://www.pathf.com/blogs/2009/04/adopt-a-non-techie-help-your-business-team-move-faster" target="_blank">help your Business team be more efficient</a>? (Post a challenge, we'll see if we can tackle it with iMacros or Selenium)</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/04/can-your-selenium-do-that-testing-flashflex-and-silverlight-in-web-apps-with-imacros/">Can your Selenium do that? Testing flash/flex and silverlight in web apps with iMacros</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/04/ajax-testing-do/' rel='bookmark' title='Permanent Link: Ajax Testing: Doubling Down with Selenium and JMeter'>Ajax Testing: Doubling Down with Selenium and JMeter</a></li><li><a href='http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/' rel='bookmark' title='Permanent Link: Skinning Flex with Illustrator CS3'>Skinning Flex with Illustrator CS3</a></li><li><a href='http://www.pathf.com/blogs/2008/09/flash-flex-physics-engines-and-examples/' rel='bookmark' title='Permanent Link: Flash/Flex physics engines and examples'>Flash/Flex physics engines and examples</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/04/can-your-selenium-do-that-testing-flashflex-and-silverlight-in-web-apps-with-imacros/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Notification Testing with PureMVC and FlexUnit</title>
		<link>http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/</link>
		<comments>http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 10:00:04 +0000</pubDate>
		<dc:creator>Anthony Caliendo</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1527</guid>
		<description><![CDATA[
One of the nice extensions available for FlexUnit is the ability to easily unit test event behavior using EventfulTestCase.
This library has support for testing Cairngorm, but unfortunately support is lacking for PureMVC.  I searched for existing solutions which added PureMVC notification support, but was not satisfied with their APIs.  Luckily, it was not [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/">Notification Testing with PureMVC and FlexUnit</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/' rel='bookmark' title='Permanent Link: Learning PureMVC the Hard Way (is there any other way?)'>Learning PureMVC the Hard Way (is there any other way?)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="right"><img src="http://www.pathf.com/blogs/wp-content/uploads/2009/03/flex-puremvc.png" alt="flex-puremvc" width="114" height="81" class="alignnone size-full wp-image-1532" /></div>
<p>One of the nice extensions available for <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" rel="nofollow" >FlexUnit</a> is the ability to easily unit test event behavior using <a href="http://blogs.adobe.com/tomsugden/2008/01/post.html" rel="nofollow" >EventfulTestCase</a>.</p>
<p>This library has support for testing <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" rel="nofollow" >Cairngorm</a>, but unfortunately support is lacking for <a href="http://puremvc.org/component/option,com_wrapper/Itemid,144/" rel="nofollow" >PureMVC</a>.  I searched for existing solutions which added PureMVC notification support, but was not satisfied with their APIs.  Luckily, it was not difficult to write some code to support PureMVC which mirrored the API of <code>EventfulTestCase</code>.</p>
<p><span id="more-1527"></span></p>
<p>The code at the end of this post is a start at duplicating the <code>EventfulTestCase</code> behavior.  It doesn't have all the functionality, but it is enough for simple tests.</p>
<p>Here are the methods which are made available:</p>
<ul>
<li><strong>expectNotification(notificationName:String)</strong> Sets up the expectation that a notification is sent with the passed name.  Can be called multiple times to set the expectation for multiple notifications.</li>
<li><strong>assertExpectedNotificationsOccurred(userMessage='')</strong> Asserts that all expected notifications were sent.  The <code>userMessage</code> parameter indicates an optional message to be prepended for a failure message.</li>
<li><strong>lastActualNotification</strong> Property which represents the last notification which was sent (the last actual notification).</li>
</ul>
<p>The following is an example of the kind of test you can write:</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ChuckProxyTest <span style="color: #0066CC;">extends</span> PureMvcTestCase
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> chuck:ChuckProxy = <span style="color: #000000; font-weight: bold;">new</span> ChuckProxy<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> testShouldSendFlashNotificationWhenSeeingTerrorist<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
    <span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">var</span> terrorist:Terrorist = <span style="color: #000000; font-weight: bold;">new</span> Terrorist<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        expectNotification<span style="color: #66cc66;">&#40;</span>ApplicationFacade.<span style="color: #006600;">FLASHED</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        chuck.<span style="color: #006600;">lookAt</span><span style="color: #66cc66;">&#40;</span>terrorist<span style="color: #66cc66;">&#41;</span>;
&nbsp;
        <span style="color: #808080; font-style: italic;">// asserts FLASHED notification was sent</span>
        assertExpectedNotificationsOccurred<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #808080; font-style: italic;">// asserts notification body was the terrorist</span>
        assertEquals<span style="color: #66cc66;">&#40;</span>terrorist, lastActualNotification.<span style="color: #006600;">getBody</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Finally, here is the code.  Notice the package; you will need to add it to <em>test/org/puremvc/as3/test</em>.</p>
<pre class="actionscript">&nbsp;
package org.<span style="color: #006600;">puremvc</span>.<span style="color: #006600;">as3</span>.<span style="color: #006600;">test</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">import</span> flexunit.<span style="color: #006600;">framework</span>.<span style="color: #006600;">AssertionFailedError</span>;
    <span style="color: #0066CC;">import</span> flexunit.<span style="color: #006600;">framework</span>.<span style="color: #006600;">TestCase</span>;
&nbsp;
    <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">puremvc</span>.<span style="color: #006600;">as3</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">View</span>;
    <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">puremvc</span>.<span style="color: #006600;">as3</span>.<span style="color: #006600;">interfaces</span>.<span style="color: #006600;">INotification</span>;
    <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">puremvc</span>.<span style="color: #006600;">as3</span>.<span style="color: #006600;">patterns</span>.<span style="color: #006600;">observer</span>.<span style="color: #006600;">Observer</span>;
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> PureMvcTestCase <span style="color: #0066CC;">extends</span> TestCase
    <span style="color: #66cc66;">&#123;</span>
&nbsp;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> expectedNotificationNames:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> actualNotifications:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> PureMvcTestCase<span style="color: #66cc66;">&#40;</span>methodName:<span style="color: #0066CC;">String</span>=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>
        <span style="color: #66cc66;">&#123;</span>
            <span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span>methodName<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        protected <span style="color: #000000; font-weight: bold;">function</span> expectNotification<span style="color: #66cc66;">&#40;</span>notificationName:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
        <span style="color: #66cc66;">&#123;</span>
            assertNotNull<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'No instance exists for View.getInstance()'</span>, View.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
            expectedNotificationNames.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>notificationName<span style="color: #66cc66;">&#41;</span>;
&nbsp;
            View.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">registerObserver</span><span style="color: #66cc66;">&#40;</span>notificationName, <span style="color: #000000; font-weight: bold;">new</span> Observer<span style="color: #66cc66;">&#40;</span>
                <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>notification:INotification<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
                    actualNotifications.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>notification<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>,
                <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        protected <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> lastActualNotification<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:INotification
        <span style="color: #66cc66;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>actualNotifications.<span style="color: #0066CC;">length</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">null</span>;
            <span style="color: #66cc66;">&#125;</span>
            <span style="color: #b1b100;">return</span> actualNotifications<span style="color: #66cc66;">&#91;</span>actualNotifications.<span style="color: #0066CC;">length</span> - <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        protected <span style="color: #000000; font-weight: bold;">function</span> assertExpectedNotificationsOccurred<span style="color: #66cc66;">&#40;</span>userMessage=<span style="color: #ff0000;">'The expected notifications were not sent'</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
        <span style="color: #66cc66;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">var</span> actualNotificationNames:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
            <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> notificationIndex:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; notificationIndex &lt; actualNotifications.<span style="color: #0066CC;">length</span>; notificationIndex++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                actualNotificationNames.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>actualNotifications<span style="color: #66cc66;">&#91;</span>notificationIndex<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">getName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            assertArraysEqual<span style="color: #66cc66;">&#40;</span>expectedNotificationNames, actualNotificationNames, userMessage<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        protected <span style="color: #000000; font-weight: bold;">function</span> assertArraysEqual<span style="color: #66cc66;">&#40;</span>expected:<span style="color: #0066CC;">Array</span>, actual:<span style="color: #0066CC;">Array</span>, userMessage:<span style="color: #0066CC;">String</span> = <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
        <span style="color: #66cc66;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">var</span> equal:<span style="color: #0066CC;">Boolean</span> = <span style="color: #66cc66;">&#40;</span>expected.<span style="color: #0066CC;">length</span> == actual.<span style="color: #0066CC;">length</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
            <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>equal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i &lt; actualNotifications.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>expected<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> != actual<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                        equal = <span style="color: #000000; font-weight: bold;">false</span>;
                        <span style="color: #b1b100;">break</span>;
                    <span style="color: #66cc66;">&#125;</span>
                <span style="color: #66cc66;">&#125;</span>
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!equal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>userMessage &amp;amp;&amp;amp; userMessage.<span style="color: #0066CC;">length</span> &gt; <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                    userMessage += <span style="color: #ff0000;">' - '</span>;
                <span style="color: #66cc66;">&#125;</span>
&nbsp;
                <span style="color: #0066CC;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> AssertionFailedError<span style="color: #66cc66;">&#40;</span>userMessage + <span style="color: #ff0000;">'Expected: &lt;'</span> + expected + <span style="color: #ff0000;">'&gt; but was: &lt;'</span> + actual + <span style="color: #ff0000;">'&gt;'</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/">Notification Testing with PureMVC and FlexUnit</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/' rel='bookmark' title='Permanent Link: Learning PureMVC the Hard Way (is there any other way?)'>Learning PureMVC the Hard Way (is there any other way?)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance Optimization for Flash Player</title>
		<link>http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/</link>
		<comments>http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 13:48:55 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[Flash Player optimization]]></category>
		<category><![CDATA[Flex optimization]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1400</guid>
		<description><![CDATA[Time and again the same scenario arises. An app is being built and it's all going fine until the very end when performance issues start to appear.
Optimizing Flash performance is certainly the most boring part of Flash Platform development but it's a cornerstone without which you, the Flex developer, can not do without.
An app is [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/">Performance Optimization for Flash Player</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/10/flash-player-on-iphone-gossip/' rel='bookmark' title='Permanent Link: Flash Player on iPhone gossip'>Flash Player on iPhone gossip</a></li><li><a href='http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/' rel='bookmark' title='Permanent Link: Mouse wheel (scroll) Event in Flash Player running on a Mac'>Mouse wheel (scroll) Event in Flash Player running on a Mac</a></li><li><a href='http://www.pathf.com/blogs/2008/05/flash-technolog/' rel='bookmark' title='Permanent Link: Flash Technology vs. Flash Developer'>Flash Technology vs. Flash Developer</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Time and again the same scenario arises. An app is being built and it's all going fine until the very end when performance issues start to appear.</p>
<p>Optimizing Flash performance is certainly the most boring part of Flash Platform development but it's a cornerstone without which you, the Flex developer, can not do without.</p>
<p>An app is worth nothing unless you provide that effortless flow of interaction at all times.</p>
<p>There is not too much information on this topic as it is not the most interesting one but here are some simple guidelines that have helped me tremendously over the time, as well as a few great papers.</p>
<p><span id="more-1400"></span></p>
<p>Firstly, one simple rule: Don't try to do too much at the same time. As a RIA developer, figure our a way to engage the user usefully while you spread out the workload so the app doesn't choke. Remember, we are dealing with people. People don't need to have something done faster for 14 milliseconds, they need to know what's going on.</p>
<p>Second simple rule. I know we are all developing on flying fortresses of computers because we need a lot of juice in development. But start testing early on a crappy machine. Not that your end user will necessarily have a crappy machine but it will show tell-tell signs of where the app might need some improvement.</p>
<p>Than for Flex Builder users, do use the Profiler. The more you use it, the more it will make sense and after a while you will start seeing some really useful information that you might have not found out about otherwise.</p>
<p>Other than that, read these articles. They really helped me a lot to understand the way Flash Player works and plan accordingly in the shortest time.<br />
<br><br />
<a href="http://www.slideshare.net/dcoletta/optimizing-flex-applications" rel="nofollow"  target="_blank">Optimizing Flex Application</a> by David Coletta</p>
<p>David makes a great point: designating between improving actual performance vs. perceived performance. That point is worth gold. Also provides excellent examples/solutions for particular problems.<br />
<br><br />
<a href="http://blogs.adobe.com/aharui/2007/03/garbage_collection_and_memory.html" rel="nofollow"  target="_blank">Garbage Collection</a> from <a href="http://blogs.adobe.com/aharui/" rel="nofollow" accesskey="1" >Alex’s Flex Closet</a></p>
<p>Hardcore nuts and bolts of garbage collection. Look for the <a href="http://blogs.adobe.com/aharui/GarbageCollection/GCAtomic.ppt" rel="nofollow"  target="_blank">link to ppt</a>.<br />
<br><br />
<a href="http://www.google.com/bookmarks/url?url=http://weblogs.macromedia.com/mchotin/archives/fm_as3perf.pdf&amp;ei=S66USe7iB6Lc0ASXr8Az&amp;sig2=NpIE7mJp5s7k4t-zA_VxLg&amp;ct=b" rel="nofollow"  target="_blank">ActionScript 3 Performance Tuning</a> by <a href="http://weblogs.macromedia.com/mchotin/" rel="nofollow"  target="_blank">Matt Chotin</a></p>
<p>A great overview of what Flash Player does with your code.<br />
<br><br />
<a href="http://www.rozengain.com/blog/2007/05/01/some-actionscript-30-optimizations/" rel="nofollow"  target="_blank">Some Actionscript 3.0 Optimizations</a> by <a href="http://www.rozengain.com/blog/" rel="nofollow" title="”"  target="_blank">Dennis Ippel</a></p>
<p>Apart from some really nice examples, there is a list of references for Flash optimization at the bottom of the post.<br />
<br><br />
And at the end, seeing is beliveing. Try these suggestions and see for yourself what makes a difference.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/">Performance Optimization for Flash Player</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/10/flash-player-on-iphone-gossip/' rel='bookmark' title='Permanent Link: Flash Player on iPhone gossip'>Flash Player on iPhone gossip</a></li><li><a href='http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/' rel='bookmark' title='Permanent Link: Mouse wheel (scroll) Event in Flash Player running on a Mac'>Mouse wheel (scroll) Event in Flash Player running on a Mac</a></li><li><a href='http://www.pathf.com/blogs/2008/05/flash-technolog/' rel='bookmark' title='Permanent Link: Flash Technology vs. Flash Developer'>Flash Technology vs. Flash Developer</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZendAMF vs. AMFPHP</title>
		<link>http://www.pathf.com/blogs/2009/02/zendamf-vs-amfphp/</link>
		<comments>http://www.pathf.com/blogs/2009/02/zendamf-vs-amfphp/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 02:36:27 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Remoting]]></category>
		<category><![CDATA[ZendAMF]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1395</guid>
		<description><![CDATA[So far, of all the AMF frameworks I have been a proponent of AMFPHP and RailsAMF. I still don’t know RoR very well (working on it), but I’ve been using PHP for a long time and have grown to love it so AMFPHP was always my natural choice.
Now we have a new player in Flash [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/02/zendamf-vs-amfphp/">ZendAMF vs. AMFPHP</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/07/google-learns-to-crawl-flash/' rel='bookmark' title='Permanent Link: Google learns to crawl Flash'>Google learns to crawl Flash</a></li><li><a href='http://www.pathf.com/blogs/2008/05/flash-technolog/' rel='bookmark' title='Permanent Link: Flash Technology vs. Flash Developer'>Flash Technology vs. Flash Developer</a></li><li><a href='http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/' rel='bookmark' title='Permanent Link: Performance Optimization for Flash Player'>Performance Optimization for Flash Player</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>So far, of all the <a href="http://en.wikipedia.org/wiki/AMF" rel="nofollow"  target="_blank">AMF</a> frameworks I have been a proponent of <a href="http://www.amfphp.org/" rel="nofollow"  target="_blank">AMFPHP</a> and <a href="http://flexonrails.net/?p=67" rel="nofollow"  target="_blank">RailsAMF</a>. I still don’t know <a href="http://rubyonrails.org/" rel="nofollow"  target="_blank">RoR</a> very well (working on it), but I’ve been using <a href="http://www.php.net/" rel="nofollow"  target="_blank">PHP</a> for a long time and have grown to love it so <a href="http://www.amfphp.org/" rel="nofollow"  target="_blank">AMFPHP</a> was always my natural choice.</p>
<p>Now we have a new player in Flash Remoting arena - <a href="http://framework.zend.com/manual/en/zend.amf.html" rel="nofollow"  target="_blank">ZendAMF</a>. Why should anybody care when <a href="http://www.amfphp.org/" rel="nofollow"  target="_blank">AMFPHP</a> was just fine?</p>
<p>A few reasons.<br />
<span id="more-1395"></span></p>
<p><strong>1.</strong> First of all, both come from <a href="http://wadearnold.com/blog/" rel="nofollow"  target="_blank">Wade Arnold</a>, who has provided the Flash community with these custom tailored, top shelf, free, Flash Remoting systems.<br />
As far as I’ve noticed, <a href="http://wadearnold.com/blog/" rel="nofollow"  target="_blank">Wade</a> is putting his time now in <a href="http://framework.zend.com/manual/en/zend.amf.html" rel="nofollow"  target="_blank">ZendAMF</a> which is a tell-tell sign to begin with.</p>
<p><strong>2.</strong> I really like the custom class mapping in <a href="http://framework.zend.com/manual/en/zend.amf.html" rel="nofollow"  target="_blank">ZendAMF</a>. It offers quite some flexibility in comparison to <a href="http://www.amfphp.org/" rel="nofollow"  target="_blank">AMFPHP</a>. Options are explained (options - wow!) under "<a href="http://framework.zend.com/manual/en/zend.amf.server.html" rel="nofollow"  target="_blank"><strong>3.2.4. Typed Objects</strong></a><strong>".</strong></p>
<p>Of the three approaches, I personally prefer the <em>setClassMap</em> method in the bootstrap file because it provides me with a single point of reference.</p>
<p><strong>3.</strong> It's a part of a <a href="http://www.php.net/" rel="nofollow"  target="_blank">PHP</a> <a href="http://en.wikipedia.org/wiki/Model-view-controller" rel="nofollow"  target="_blank">MVC</a> framework called <a href="http://framework.zend.com/" rel="nofollow"  target="_blank">Zend</a>. Not that I have tried it out much so far, but it sounds appealing that there is a <a href="http://en.wikipedia.org/wiki/Model-view-controller" rel="nofollow"  target="_blank">MVC</a> framework that you can rely on behind this.</p>
<p><strong>4.</strong> Once you get through all the quirks, it is really easy to set up. The major issue that I had was making <a href="http://www.php.net/" rel="nofollow"  target="_blank">PHP</a> files always processed as <a href="http://www.php5.com/" rel="nofollow"  target="_blank">PHP5</a> which is necessary for the <a href="http://framework.zend.com/" rel="nofollow"  target="_blank">Zend Framework</a> to run.</p>
<p>I didn't know that at the time so I was cursing away but eventually I found this little line for <a href="http://en.wikipedia.org/wiki/Htaccess" rel="nofollow"  target="_blank">.htaccess</a> file that did just that<a href="http://www.php5.com/" rel="nofollow"  target="_blank"></a>:</p>
<p><em>AddType x-mapp-php5 .php</em></p>
<p>Otherwise, <a href="http://framework.zend.com/" rel="nofollow"  target="_blank">Zend</a> setup is easy as pie and you can read about it <a href="http://framework.zend.com/manual/en/introduction.installation.html" rel="nofollow"  target="_blank">here</a>.</p>
<p><strong>5.</strong> Lastly, Adobe supports it. Sure sounds good.</p>
<p>Here are also some video tutorials that might be useful to start with:</p>
<p><span class="tabText"><a href="http://www.screencast.com/users/wadearnold/folders/Default/media/a1188f2c-997f-436c-ac44-25285e96aec1" rel="nofollow"  target="_blank">Zend_Amf-classmapping</a></span></p>
<p><a href="http://vimeo.com/2112240?pg=embed&amp;sec=2112240" rel="nofollow"  target="_blank">Getting Started with Zend AMF (Zend_Amf) - Part One</a></p>
<p>I'm curious to hear opinions about ZendAMF as I'm about to adopt it as a standard in production.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/02/zendamf-vs-amfphp/">ZendAMF vs. AMFPHP</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/07/google-learns-to-crawl-flash/' rel='bookmark' title='Permanent Link: Google learns to crawl Flash'>Google learns to crawl Flash</a></li><li><a href='http://www.pathf.com/blogs/2008/05/flash-technolog/' rel='bookmark' title='Permanent Link: Flash Technology vs. Flash Developer'>Flash Technology vs. Flash Developer</a></li><li><a href='http://www.pathf.com/blogs/2009/02/performance-optimization-for-flash-player/' rel='bookmark' title='Permanent Link: Performance Optimization for Flash Player'>Performance Optimization for Flash Player</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/02/zendamf-vs-amfphp/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How much Excel can we get in Flex?</title>
		<link>http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/</link>
		<comments>http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 01:28:53 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[online spreadsheets]]></category>
		<category><![CDATA[Spreadsheets]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1387</guid>
		<description><![CDATA[...and why would we go around doing that when there are perfectly good solutions out there for online spreadsheets? For instance Google Docs in which I still haven't found a bug or a feature I'm missing.
Spreadsheets are necessary because people use them because they know how to use them. It is a straight forward interface [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/">How much Excel can we get in Flex?</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/05/making-a-wise-c/' rel='bookmark' title='Permanent Link: Making a good choice when using Flex components'>Making a good choice when using Flex components</a></li><li><a href='http://www.pathf.com/blogs/2008/08/flex-gauge-component-example-with-source/' rel='bookmark' title='Permanent Link: Flex Gauge Component Example with source'>Flex Gauge Component Example with source</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>...and why would we go around doing that when there are perfectly good solutions out there for online spreadsheets? For instance Google Docs in which I still haven't found a bug or a feature I'm missing.</p>
<p>Spreadsheets are necessary because people use them because they know how to use them. It is a straight forward interface that can yield good in high complexity situations.</p>
<p>Now most people want to use them online. And luckily there are plenty to go around.</p>
<p><span id="more-1387"></span></p>
<p><a href="http://www.editgrid.com/" rel="nofollow"  target="_blank">EditGrid</a> , <a href="http://www.expressocorp.com" rel="nofollow"  target="_blank">Expresso</a> , <a href="http://www.thinkfree.com" rel="nofollow"  target="_blank">ThinkFree</a> , <a href="http://www.zoho.com/" rel="nofollow"  target="_blank">Zoho</a> and <a href="http://docs.google.com" rel="nofollow"  target="_blank">Google Docs</a> to name a few. So why build another one in Flex?</p>
<p>Integration, for first. It would be much easier for Flex developers and cheaper for Flex shops to have a component or an API to handle this task easier and faster.</p>
<p>Further, interaction design is very important for user efficiency and you can do a lot there to improve on a vanilla spreadsheet. If the actual spreadsheet wasn't based on Flash Platform, how would you as a Flex Developer handle the interaction development, if possible at all?</p>
<p>So we need them and we need the in Flex too. There is something cooking in this area too.</p>
<p><a href="http://www.idubee.com/" rel="nofollow"  target="_blank">Idubee</a> has claims to be working on it, but there <a href="http://v2.idubee.com/IdubeeClient.html" rel="nofollow"  target="_blank">example link</a> was not working when I was checking them out. I will be back to see if that changes.</p>
<p><a href="http://www.rogue-development.com" rel="nofollow"  target="_blank">Rouge Development</a> does have a <a href="http://www.rogue-development.com/spreadsheet/" rel="nofollow"  target="_blank">working example</a>, albeit a not very complex one. But - it's working good and it's a step in the right direction.</p>
<p><a href="http://www.blist.com/" rel="nofollow"  target="_blank">blist</a> which is in beta suprised with their level of detail. It has a very nice amount of functions and plenty of examples and templates which is a victory in itself. I just opened an account and will be checking them out more.</p>
<p>If you know any Flash/Flex based spreadsheet component, library or anything similar, please leave a comment.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/">How much Excel can we get in Flex?</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/' rel='bookmark' title='Permanent Link: Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary'>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></li><li><a href='http://www.pathf.com/blogs/2008/05/making-a-wise-c/' rel='bookmark' title='Permanent Link: Making a good choice when using Flex components'>Making a good choice when using Flex components</a></li><li><a href='http://www.pathf.com/blogs/2008/08/flex-gauge-component-example-with-source/' rel='bookmark' title='Permanent Link: Flex Gauge Component Example with source'>Flex Gauge Component Example with source</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</title>
		<link>http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/</link>
		<comments>http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 20:43:27 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1383</guid>
		<description><![CDATA[
Here is some follow up information from the Flex Camp Chicago '09 Community Showcase presentation.

Beer Hunter
Technologies:

Adobe Flex
Ruby on Rails (RubyAMF)
Degrafa

Flight-Tracking
Source and other resources for this prototype can be found here.
Technologies:

Adobe Flex
Papervision3D
Yahoo Maps
Degrafa

Pathfinder-Development.com
Technologies:

Adobe Flex
TweenMax
Google Analytics
PureMVC
Degrafa


Pathfinder Development - creating innovative software that builds business value. 
Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary


Related posts:Using Flex Code Generator [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/">Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2008/05/upcoming-conference-fitc-chicago-2008/' rel='bookmark' title='Permanent Link: Upcoming Conference: FITC Chicago 2008, June 22-23'>Upcoming Conference: FITC Chicago 2008, June 22-23</a></li><li><a href='http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/' rel='bookmark' title='Permanent Link: Hedge Fund Analytics in Flex'>Hedge Fund Analytics in Flex</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-1384" title="flex-camp-chicago" src="http://www.pathf.com/blogs/wp-content/uploads/2009/01/flex-camp-chicago.jpg" alt="" width="300" height="188" /></p>
<p>Here is some follow up information from the <a href="http://www.flexcampchicago.com/" rel="nofollow"  target="_blank">Flex Camp Chicago '09</a> Community Showcase presentation.</p>
<p><span id="more-1383"></span></p>
<h2><a href="http://destinationbeer.com/beer_hunter/" rel="nofollow"  target="_blank"><strong>Beer Hunter</strong></a></h2>
<p>Technologies:</p>
<ul>
<li><a href="http://www.adobe.com/products/flex/" rel="nofollow"  target="_blank">Adobe Flex</a></li>
<li><a href="http://rubyonrails.org/" rel="nofollow"  target="_blank">Ruby on Rails</a> (<a href="http://code.google.com/p/rubyamf/" rel="nofollow"  target="_blank">RubyAMF</a>)</li>
<li><a href="http://www.degrafa.org/" rel="nofollow"  target="_blank">Degrafa</a></li>
</ul>
<h2><strong>Flight-Tracking</strong></h2>
<p>Source and other resources for this prototype can be found <a href="http://www.pathf.com/blogs/2008/08/papervision3d-20-great-white-in-flex-3-part-ii-iii-combined-with-source-code/" target="_blank">here</a>.</p>
<p>Technologies:</p>
<ul>
<li><a href="http://www.adobe.com/products/flex/" rel="nofollow"  target="_blank">Adobe Flex</a></li>
<li><a href="http://blog.papervision3d.org/" rel="nofollow"  target="_blank">Papervision3D</a></li>
<li><a href="http://developer.yahoo.com/maps/flash/flexGettingStarted.html" rel="nofollow"  target="_blank">Yahoo Maps</a></li>
<li><a href="http://www.degrafa.org/" rel="nofollow"  target="_blank">Degrafa</a></li>
</ul>
<h2><a href="http://www.pathfinder-development.com/#" rel="nofollow"  target="_blank"><strong>Pathfinder-Development.com</strong></a></h2>
<p>Technologies:</p>
<ul>
<li><a href="http://www.adobe.com/products/flex/" rel="nofollow"  target="_blank">Adobe Flex</a></li>
<li><a href="http://blog.greensock.com/tweenmaxas3/" rel="nofollow"  target="_blank">TweenMax</a></li>
<li><a href="http://code.google.com/apis/analytics/docs/flashTrackingSetupFlex.html" rel="nofollow"  target="_blank">Google Analytics</a></li>
<li><a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a></li>
<li><a href="http://www.degrafa.org/" rel="nofollow"  target="_blank">Degrafa</a></li>
</ul>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/">Flex Camp Chicago &#8216;09 Community Showcase Presentation Summary</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2008/05/upcoming-conference-fitc-chicago-2008/' rel='bookmark' title='Permanent Link: Upcoming Conference: FITC Chicago 2008, June 22-23'>Upcoming Conference: FITC Chicago 2008, June 22-23</a></li><li><a href='http://www.pathf.com/blogs/2009/06/hedge-fund-analytics-in-flex/' rel='bookmark' title='Permanent Link: Hedge Fund Analytics in Flex'>Hedge Fund Analytics in Flex</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/01/flex-camp-chicago-09-summary/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flare on PureMVC in Flex example</title>
		<link>http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/</link>
		<comments>http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 22:13:29 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[Flare]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1347</guid>
		<description><![CDATA[By this time, I am very happy and impressed with PureMVC. In combination with Flex Code Generator, plumbing downtime is minimal and the more you work on a project, the more you see the benefits.
Out of all visualization frameworks for Flash Platform that I came in contact with, Flare is looking like the most customizable. [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/">Flare on PureMVC in Flex example</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/05/flare-vs-axiis/' rel='bookmark' title='Permanent Link: Flare vs. Axiis'>Flare vs. Axiis</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>By this time, I am very happy and impressed with <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a>. In combination with <a href="http://www.dehats.com/drupal/?q=node/7" rel="nofollow"  target="_blank">Flex Code Generator</a>, plumbing downtime is minimal and the more you work on a project, the more you see the benefits.</p>
<p>Out of all visualization frameworks for Flash Platform that I came in contact with, <a href="http://flare.prefuse.org/" rel="nofollow"  target="_blank">Flare</a> is looking like the most customizable. I also like it's structure. At first I didn't, but now I love the fact that Visualizations are based on Sprites. I find that good for performance and transitions. You have to do a little extra work, but you will be happy with the result. All in all, I'm sold on it for now.</p>
<p><span id="more-1347"></span></p>
<p>I was happy to see that <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a> plays well with other kids (frameworks). In this example you can see among other things:</p>
<ul>
<li>How to run Flare on PureMVC</li>
<li>How to dynamically register Proxies and Mediators</li>
</ul>
<p>Now I'm not saying this is the best way, but a prototype that I'm working on is doing really well with this approach.</p>
<p>One important thing missing in this example is removing Proxies and Mediators when you delete an object. The principle is exactly the same as is for dynamically adding them, so I didn't go into it.</p>
<p>I would be very curious to hear any comments on this approach.</p>
<p>You can view/download the source<strong> <a href="http://www.pathf.com/sites/pfd/flash/blog/01082009/srcview" rel="nofollow"  target="_blank">here</a></strong>.</p>
<p><strong>Hold Control(Windows) or Command(Mac) and click on a node to add a child node.</strong></p>
<p><embed style="width:530px; height:400px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://www.pathf.com/sites/pfd/flash/blog/01082009/PureMVCandFlareExample.swf" flashvars=""> </embed></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/">Flare on PureMVC in Flex example</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/05/flare-vs-axiis/' rel='bookmark' title='Permanent Link: Flare vs. Axiis'>Flare vs. Axiis</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Category and UI changes on Pathfinder blogs</title>
		<link>http://www.pathf.com/blogs/2008/12/category-and-ui-changes-on-pathfinder-blogs/</link>
		<comments>http://www.pathf.com/blogs/2008/12/category-and-ui-changes-on-pathfinder-blogs/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 16:50:45 +0000</pubDate>
		<dc:creator>Brian Dillard</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Business Rules Engines]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Disruption]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Pathfinder General]]></category>
		<category><![CDATA[Pathfinder News]]></category>
		<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Social Applications]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[User Experience Design]]></category>
		<category><![CDATA[iPhone/Mobile]]></category>
		<category><![CDATA[uxd]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1338</guid>
		<description><![CDATA[If you read one or more of the Pathfinder blogs in our web interface, you may have noticed some tweaks to our navigation and top-level categories. Our goal in making these changes was to help different audiences drill down to the specific content that interests them. Instead of just a few top-level categories, we now [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/category-and-ui-changes-on-pathfinder-blogs/">Category and UI changes on Pathfinder blogs</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/05/the-blogs-have-moved/' rel='bookmark' title='Permanent Link: The Blogs Have Moved'>The Blogs Have Moved</a></li><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li><li><a href='http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/' rel='bookmark' title='Permanent Link: Touch Screen Kiosk in Adobe Air'>Touch Screen Kiosk in Adobe Air</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>If you read one or more of the Pathfinder blogs in our web interface, you may have noticed some tweaks to our navigation and top-level categories. Our goal in making these changes was to help different audiences drill down to the specific content that interests them. Instead of just a few top-level categories, we now boast around 20, though many posts appear in multiple categories. To subscribe via RSS to any specific category - or to our entire feed - just visit our <a href="http://www.pathf.com/blogs/feeds/">Feeds</a> page.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/category-and-ui-changes-on-pathfinder-blogs/">Category and UI changes on Pathfinder blogs</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/05/the-blogs-have-moved/' rel='bookmark' title='Permanent Link: The Blogs Have Moved'>The Blogs Have Moved</a></li><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li><li><a href='http://www.pathf.com/blogs/2009/04/touch-screen-kiosk-in-adobe-air/' rel='bookmark' title='Permanent Link: Touch Screen Kiosk in Adobe Air'>Touch Screen Kiosk in Adobe Air</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/12/category-and-ui-changes-on-pathfinder-blogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Flex Code Generator (FCG) with Flex &amp; PureMVC</title>
		<link>http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/</link>
		<comments>http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 17:43:36 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[uxd]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[code generator]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex code generator]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1332</guid>
		<description><![CDATA[Recently I've been working on a Flex prototype using the PureMVC framework. I will talk at length another time about just how much PureMVC successfully solves a lot of problems that we encounter in interface development and especially about how much this framework is important for all those complex interactions that we expect out of [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/">Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/' rel='bookmark' title='Permanent Link: Learning PureMVC the Hard Way (is there any other way?)'>Learning PureMVC the Hard Way (is there any other way?)</a></li><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Recently I've been working on a Flex prototype using the <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a> framework. I will talk at length another time about just how much PureMVC successfully solves a lot of problems that we encounter in interface development and especially about how much this framework is important for all those complex interactions that we expect out of our RIA interfaces.</p>
<p>Starting out with PureMVC is not a particularly easy task. It is a good thing that there are decent documentation and examples, at least for AS3. At first when I read the <a href="http://puremvc.org/content/view/98/189/" rel="nofollow"  target="_blank">documentation</a>, it made sense only on a high level, but translating that high level understanding to code right away was out of the question. I solved this initial sticking point by looking at a couple of <a href="http://trac.puremvc.org/PureMVC_AS3/" rel="nofollow"  target="_blank">AS3 examples</a> like <a href="http://trac.puremvc.org/Demo_AS3_Flex_CafeTownsend" rel="nofollow"  target="_blank">CafeTownsend</a> and <a href="http://trac.puremvc.org/Demo_AS3_Flex_EmployeeAdmin" rel="nofollow"  target="_blank">EmployeeAdmin</a>, where you can see how the framework works on the right size demo app, not too big and not too small.</p>
<p><span id="more-1332"></span> One of the things that you will first notice is a constant repetition of code when creating your Mediators and Proxies. Nothing bad about it, it's all for a good cause, but it's extra time.  <a href="http://www.dehats.com/drupal/?q=node/7" rel="nofollow"  target="_blank">Flex Code Generator (FCG)</a> by David Deraedt is an excellent tool that saves you time by automatically doing the obvious. And more.</p>
<ul>
<li>It creates Mediators and Proxies.</li>
<li>It can create AS3 Value Object out of PHP, Java or C#.</li>
<li>It can create AS3 Commands and Business Delegates out of your Remote Service files.</li>
<li>It can publish AS3 files you made directly to your development environment.</li>
</ul>
<p>The greatest thing about it is that it has an extremely easy to use interface.  Like any other code generator, it can not do all the work for you. That is your job. But for the part that it does -- and it's the laborious part too -- it does it well. I have read comments about bugs but I haven't experienced them myself yet.  The author of the project is not thinking of taking this any further than it is at the moment because Adobe seems to be picking this issue up. You can read about this more at the bottom of <a href="http://www.dehats.com/drupal/?q=node/7" rel="nofollow"  target="_blank">this page</a>.  Until they do, FCG is a great tool to use to bump up your Flex productivity with PureMVC.  Kudos to <a href="http://www.dehats.com/drupal/" rel="nofollow"  target="_blank">David</a> for making it available!</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/">Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li><li><a href='http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/' rel='bookmark' title='Permanent Link: Learning PureMVC the Hard Way (is there any other way?)'>Learning PureMVC the Hard Way (is there any other way?)</a></li><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Learning PureMVC the Hard Way (is there any other way?)</title>
		<link>http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/</link>
		<comments>http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 19:29:13 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1330</guid>
		<description><![CDATA[This ends week one of my investigations into PureMVC. So far I'm impressed with the framework itself in it's many versions and incarnations, but the documentation and tutorials for platforms other than Flex leave something to be desired. To all those folks that claim that Cairngorm is easier to learn than PureMVC, I can agree, [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/">Learning PureMVC the Hard Way (is there any other way?)</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>This ends week one of my investigations into <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a>. So far I'm impressed with the framework itself in it's many versions and incarnations, but the documentation and tutorials for platforms other than Flex leave something to be desired. To all those folks that claim that <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" rel="nofollow"  target="_blank">Cairngorm</a> is easier to learn than PureMVC, I can agree, but only because of this lack of good documentation.</p>
<p>So what should we Java/GWT developers do? Taking a cue from my colleague Noel Rappin, we should <a href="http://www.pathf.com/blogs/2008/12/read-the-source-luke-a-readers-guide-to-the-rails-source/" target="_blank">Read the Source, Luke</a>. This code reading is a triangulation excercise worthy of Bill Clinton, involving API docs, source in other languages and source in other versions and platforms.</p>
<p><span id="more-1330"></span></p>
<p><strong>ActionScript Code</strong></p>
<ul>
<li>All the best examples are in ActionScript. Most useful is this <a href="http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-framework/" rel="nofollow"  target="_blank">minimal example</a> showing how to wire up key presses to a controller and simple model.</li>
<li>A much more <a href="http://www.actionscriptdeveloper.co.uk/puremvc-tutorial-flex-puremvc-jabber-and-xiff-3-introduction/" rel="nofollow"  target="_blank">sophisticated, multipart tutorial</a>. The underlying application features an integration with Jabber.</li>
<li>A tutorial on <a href="http://hubflanger.com/building-a-flash-site-using-puremvc/" rel="nofollow"  target="_blank">how to build a Flash site with PureMVC</a>.</li>
</ul>
<p><strong>Java Code</strong></p>
<ul>
<li>The J2ME <a href="http://wiki.forum.nokia.com/index.php/Model-View-Controller_Architecture" rel="nofollow"  target="_blank">simple login example</a> is based on the singleton/standard version.</li>
<li>The puremvc2gwt project has the <a href="http://code.google.com/p/purevmc4gwt/source/browse/trunk/?r=55#trunk/loginsample/src/org/lbroussal/client" rel="nofollow"  target="_blank">simple login example</a> ported from the J2ME example above. GWT doesn't have reflection, and this is a singleton/standard version project, so you have to mentally factor out some of the resulting artifacts.</li>
</ul>
<p><strong>Other Sources</strong></p>
<ul>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,174/" rel="nofollow" >Best Practices doc</a> from the <a href="http://puremvc.org/component/option,com_wrapper/Itemid,174/" rel="nofollow"  target="_blank">PureMVC site</a>. This is probably the most critical doc in the whole PureMVC docuverse. Best practices and idioms.</li>
</ul>
<p>Since I'm looking to use PureMVC accross my firm in Flex, GWT, JavaScript, WinForms, Swing, etc., I'm going to have to come up with a reference app and some best practices. Lots of work, but ultimately worth it. I may borrow liberally from Cocoa. And of course I'll share my learnings here. Stay tuned.</p>
<p>P.S. For those looking for the next OpenSocial update, I'll have something next week.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/">Learning PureMVC the Hard Way (is there any other way?)</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/12/puremvc-spanning-the-platform-spectrum/' rel='bookmark' title='Permanent Link: PureMVC, Spanning the Platform Spectrum?'>PureMVC, Spanning the Platform Spectrum?</a></li><li><a href='http://www.pathf.com/blogs/2008/12/using-flex-code-generator-fcg-with-flex-puremvc/' rel='bookmark' title='Permanent Link: Using Flex Code Generator (FCG) with Flex &#038; PureMVC'>Using Flex Code Generator (FCG) with Flex &#038; PureMVC</a></li><li><a href='http://www.pathf.com/blogs/2009/01/flare-on-puremvc-in-flex-example/' rel='bookmark' title='Permanent Link: Flare on PureMVC in Flex example'>Flare on PureMVC in Flex example</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/12/learning-puremvc-the-hard-way-is-there-any-other-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 10.990 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-14 21:34:48 -->
