<?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>Mrinal Wadhwa &#187; Flex</title>
	<atom:link href="http://weblog.mrinalwadhwa.com/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.mrinalwadhwa.com</link>
	<description>en route to a richer Internet</description>
	<lastBuildDate>Sun, 28 Feb 2010 09:39:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>An Introduction to Rich Internet Applications</title>
		<link>http://weblog.mrinalwadhwa.com/2010/01/24/an-introduction-to-rich-internet-applications/</link>
		<comments>http://weblog.mrinalwadhwa.com/2010/01/24/an-introduction-to-rich-internet-applications/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 20:48:19 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[acm]]></category>
		<category><![CDATA[compute]]></category>
		<category><![CDATA[compute2010]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[rich internet applications]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1334</guid>
		<description><![CDATA[<p>I had the opportunity to present a 4.5 hr lecture on <strong>Building Rich Internet Applications</strong> at <a href="http://compute.acmbangalore.org/">ACM&#8217;s Compute 2010</a> today. We started out by defining <a href="http://weblog.mrinalwadhwa.com/2008/10/24/what-is-an-ria/">what an RIA is</a> and exploring the various RIA platforms available, we then further explored the Flash Platform in more detail, wrote some <a href="http://github.com/mrinalwadhwa/flash-player-internals">experimental code</a> to understand the internals of Flash Player, looked at Flex 4 and its various new features and also spent some time understanding the <a href="http://weblog.mrinalwadhwa.com/2009/12/01/custom-components-in-flex-4/">Flex Component Lifecycle</a> </p>
<p>Here&#8217;s the slide deck from beginning of the lecture which tries to define what an RIA is and explores the architecture a typical RIA platform &#8230;</p>
<div style="width:640px;text-align:left" id="__ss_2978421"><object style="margin:0px" width="640" height="535"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=anintroductiontorichinternetapllications-100123132503-phpapp01&#038;rel=0&#038;stripped_title=an-introduction-to-rich-internet-apllications" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=anintroductiontorichinternetapllications-100123132503-phpapp01&#038;rel=0&#038;stripped_title=an-introduction-to-rich-internet-apllications" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="535"></embed></object></div>
<p>&nbsp;</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2010/01/24/an-introduction-to-rich-internet-applications/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Going Commando in Flash Builder</title>
		<link>http://weblog.mrinalwadhwa.com/2009/12/03/going-commando-in-flash-builder/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/12/03/going-commando-in-flash-builder/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 01:49:35 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[cfeclipse]]></category>
		<category><![CDATA[commando]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[flexbuilder]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[sniptreeview]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1286</guid>
		<description><![CDATA[<p>Along with the <a href="http://weblog.mrinalwadhwa.com/2009/12/01/custom-components-in-flex-4/">Custom Components in Flex 4</a> presentation I shared yesterday, I also gave a 15 minute lightening talk at <a href="endtoend.in/apps/forms/adobe/DevSummitNovDec09/home.html">Adobe DevSummit</a> on <strong>Keyboard Productivity in Flash Builder</strong>, this was just a quick show and tell where I walked people through various ways of what <a href="http://www.codinghorror.com/">Jeff Atwood</a> calls <a href="http://www.codinghorror.com/blog/archives/000825.html">Going Commando</a> &#8230;<!--more--></p>
<p>
<h4>Shortcuts</h4>
<p>Here are some Flash Builder Keyboard shortcuts I use very frequently, if you have suggestions on others that are especially handy, please let me know &#8230;  </p>
<table border="0" width="100%">
<tr>
<td><strong>CMD + 3</strong></td>
<td>- <a href="http://en.wikipedia.org/wiki/Swiss_Army_knife">the swiss knife</a> of a commando, jump to anywhere inside eclipse</td>
</tr>
<tr>
<td><strong>CMD + SHIFT + T</strong> </td>
<td>- find type</td>
</tr>
<tr>
<td><strong>CMD + SHIFT + R</strong> </td>
<td>- find resource</td>
</tr>
<tr>
<td><strong>CMD + O</strong></td>
<td>- find/jump within class</td>
</tr>
<tr>
<td><strong>CMD + E</strong></td>
<td>- switch editors (CMD 3 also works for this)</td>
</tr>
<tr>
<td><strong>CMD + D</strong></td>
<td>- delete line which has cursor, without having to select</td>
</tr>
<tr>
<td><strong>ALT + Up/Down Arrows</strong></td>
<td>- Move Line/Selection Up/Down</td>
</tr>
<tr>
<td><strong>ALT + CMD + Up/Down Arrows</strong></td>
<td>- Copy Line/Selection Up/Down</td>
</tr>
<tr>
<td><strong>CMD + W</strong></td>
<td>- Close tab</td>
</tr>
</table>
<p><em>* CMD on OSX = CTRL on Windows</em></p>
<p>
<h4>Customize</h4>
<p>If you press CMD+3 and type &#8220;keys&#8221;, you&#8217;ll see the keyboard customization preferences panel for Flash Builder, I recommend spending some time customizing Builder for your own needs, for example I use CMD+1 and CMD+2 to switch between Develop/Debug perspectives. I barely use the NumPad on my keyboard so I&#8217;ve customized it to be all keyboard shortcuts, pressing CMD+0 inserts snippets </p>
<p>
<h4>Snippets</h4>
<p>Having a good snippets plugin can greatly improve a developer&#8217;s productivity, I love how Snippets work in <a href="http://macromates.com/">TextMate</a>, I&#8217;m still searching for a good solution for this in Flash Builder, till now I&#8217;ve been using <a href="http://www.andymcintosh.com/?p=116">CFEclipse&#8217;s SnipTreeView</a> but the problem is it only works with AS3 code and can&#8217;t handle MXML. I was so desperate one day that I figured out that it fails because  the CFEclipse <a href="http://trac.cfeclipse.org/browser/org.cfeclipse.cfml/trunk/src/org/cfeclipse/cfml/editors/actions/InsertSnippetAction.java">InsertSnippetAction class on Line No 71</a> assumes that the editor is an ITextEditor, while this is true for most Eclipse editors, the MXML editor is actually made of 2 editors a Design Editor and an ITextEditor, so the type cast on Line 71 fails &#8230; I never got to building CFEclipse on my own though. But, it looks like <a href="http://theflashblog.com/">Lee Brimelow</a> did, he has released <a href="http://theflashblog.com/?p=1494">a fix which makes SnipTreeView work</a> with MXML editor, unfortunately though Lee&#8217;s fix doesn&#8217;t work for me because of a Java version issue on OSX Leopard.        </p>
<p>Another handy Mac only tool is <a href="http://www.smileonmymac.com/TextExpander/">TextExpander</a>. It sometimes breaks your formatting in eclipse, but that has gotten better with Flash Builders new auto formatting improvements.
</p>
<p>
<h4>Multi Clipboard</h4>
<p>A multi-clipboard tool is another must have for all developers, I use <a href="http://jumpcut.sourceforge.net/">Jumpcut</a> on OSX and it is a big big productivity boost to not have switch between files and applications when copying and pasting. I don&#8217;t know any good equivalent for Windows, so if you know of one, please let me know. </p>
<p>Finally, I have to thank <a href="http://www.riageeks.com/">Chetan Sachdev</a> because he got me hooked to optimizing my workflow using the keyboard while we were working together on a project earlier this year.
</p>
<p>I would love to know if you have any other handy tips on Going Commando. </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/12/03/going-commando-in-flash-builder/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Custom Components in Flex 4</title>
		<link>http://weblog.mrinalwadhwa.com/2009/12/01/custom-components-in-flex-4/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/12/01/custom-components-in-flex-4/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 11:21:21 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[components]]></category>
		<category><![CDATA[custom components]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[halo]]></category>
		<category><![CDATA[spark]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1252</guid>
		<description><![CDATA[<p>I gave a presentation on <strong>Custom Components in Flex 4</strong> at <a href="http://endtoend.in/apps/forms/adobe/DevSummitNovDec09/home.html">Adobe Devsummit</a> last week in Chennai and today in Hyderabad, here&#8217;s the slidedeck where we create an <a href="http://en.wikipedia.org/wiki/Imperial_stormtrooper">Imperial StormTrooper</a> component</p>
<div style="width:640px;text-align:left" id="__ss_2622384"><object style="margin:0px" width="640" height="535"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=customcomponentsinflex4-091201050800-phpapp02&#038;stripped_title=custom-components-in-flex-4" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=customcomponentsinflex4-091201050800-phpapp02&#038;stripped_title=custom-components-in-flex-4" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="535"></embed></object></div>
<p></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/12/01/custom-components-in-flex-4/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Flex 4: Random Layout and Step Layout</title>
		<link>http://weblog.mrinalwadhwa.com/2009/08/22/flex-4-random-layout-and-step-layout/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/08/22/flex-4-random-layout-and-step-layout/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 14:01:00 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[spark]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1142</guid>
		<description><![CDATA[<p>Yesterday at the <a href="http://bangalorefx.org">Bangalore Flex User Group</a> Meeting after <a href="http://www.thepixelcode.com/development/data-services/model-driven-development-using-lcds-3">Khan&#8217;s excellent talk</a> on LCDS3, Fiber and the Modeler Plugin we had some time left to so I decided to show everyone how cool and easy <a href="http://opensource.adobe.com/wiki/display/flexsdk/Spark+Horizontal+and+Vertical+Layout">layouts in Flex 4</a> are .. </p>
<p>Here are two quick layouts we wrote during the meeting as I showed everyone how easy it is to write a custom layout &#8230;</p>
<h4>Random Layout</h4>
<p><object width="650" height="380"><param name="movie" value="http://experiments.mrinalwadhwa.com/Flex4Layouts/RandomLayoutExample.swf"><embed src="http://experiments.mrinalwadhwa.com/Flex4Layouts/RandomLayoutExample.swf" width="650" height="380"></embed></param></object></p>
<h4>Step Layout</h4>
<p><object width="650" height="380"><param name="movie" value="http://experiments.mrinalwadhwa.com/Flex4Layouts/StepLayoutExample.swf"><embed src="http://experiments.mrinalwadhwa.com/Flex4Layouts/StepLayoutExample.swf" width="650" height="380"></embed></param></object></p>
<p>These layouts are currently somewhat crude but the idea was to convey how easy it is to write your own layouts &#8230; here the code for RandomLayout &#8230; just one simple function &#8230;<!--more--></p>
<p><iframe src ="http://experiments.mrinalwadhwa.com/Flex4Layouts/srcview/source/com/mrinalwadhwa/layouts/RandomLayout.as.html" width="100%" height="300"><br />
</iframe></p>
<p>Of course, these layout algorithms can get more complex &#8230; here&#8217;s the StepLayout code &#8230; </p>
<p><iframe src ="http://experiments.mrinalwadhwa.com/Flex4Layouts/srcview/source/com/mrinalwadhwa/layouts/StepLayout.as.html" width="100%" height="300"><br />
</iframe></p>
<p>For more elaborate examples you may want to checkout the <a href="http://weblog.mrinalwadhwa.com/2009/08/16/flex-4-concentric-layout/">ConcentricLayout</a> example I posted last week or Ryan Campbell&#8217;s very<a href="http://www.bobjim.com/2009/06/16/heres-5-3d-layouts-for-flex-4/"> cool 3D Layouts</a>. Evtim, an engineer on the Flex SDK team also has some <a href="http://evtimmy.com/category/custom-layout/">detailed posts on how to write Layouts</a> on his blog.  </p>
<p>Flex 4 is awesome.</p>
<hr />
<p><strong>UPDATE:</strong> You can view the complete source of the above example <a href="http://experiments.mrinalwadhwa.com/Flex4Layouts/srcview/">here</a> or download it from <a href="http://experiments.mrinalwadhwa.com/Flex4Layouts/srcview/Flex4layouts.zip">here.</a> </p>
<hr />
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/08/22/flex-4-random-layout-and-step-layout/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Flex 4 Concentric Layout</title>
		<link>http://weblog.mrinalwadhwa.com/2009/08/16/flex-4-concentric-layout/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/08/16/flex-4-concentric-layout/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 16:16:49 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[concentric layout]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[layouts]]></category>
		<category><![CDATA[spark]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1121</guid>
		<description><![CDATA[<p><a href="http://opensource.adobe.com/wiki/display/flexsdk/Spark+Horizontal+and+Vertical+Layout">Layouts in Flex 4</a> are decoupled from containers and its quite simple to define your own layout. Yesterday I wrote ConcentricLayout. </p>
<p><strong>ConcentricLayout</strong> arranges layout elements in such a way that their centers are aligned and their size sequentially decreases. The width of each layout element is less than the previous element by a value specified using the <em>horizontalGap</em> property and the height of each layout element is less than the previous element by a value specified using the <em>verticalGap</em> property. If the element has an explicit width or an explicit height it still aligns its center but is not resized. You can tell the layout to force a resize of all elements and ignore their explicitly specified size using the <em>forceResize</em> flag</p>
<p>Here&#8217;s a quick example: </p>
<p><object width="550" height="400"><param name="movie" value="http://experiments.mrinalwadhwa.com/ConcentricLayout/ConcentricLayout.swf"><embed src="http://experiments.mrinalwadhwa.com/ConcentricLayout/ConcentricLayout.swf" width="650" height="380"></embed></param></object></p>
<h3><a href="http://experiments.mrinalwadhwa.com/ConcentricLayout/srcview/">View Source</a></h3>
<h3><a href="http://experiments.mrinalwadhwa.com/ConcentricLayout/srcview/ConcentricLayout.zip">Download Source</a></h3>
<p>&nbsp;</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/08/16/flex-4-concentric-layout/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Gradient fidelity and FXG generation tools</title>
		<link>http://weblog.mrinalwadhwa.com/2009/08/02/gradient-fidelity-and-fxg/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/08/02/gradient-fidelity-and-fxg/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 23:39:10 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[fxg]]></category>
		<category><![CDATA[generate]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1079</guid>
		<description><![CDATA[<p>Last week I got some <a href="http://www.adobe.com/products/illustrator/">Illustrator</a> files from the designer on our team, which I had to convert into Flex 4 skins. When we had planned this, we thought this would be easy &#8230; the designer makes the skins in Illustrator, we export FXG directly from Illustrator or we import them into <a href="http://labs.adobe.com/technologies/flashcatalyst/">Catalyst</a>, do some tweaking and then export to get FXG that we can use in SparkSkins .. unfortunately it wasn&#8217;t that simple, I&#8217;m documenting some of the gotchas and workarounds I learned for anyone else who may run into the same situation.</p>
<p>Most of the problems we had were related to gradients, here are some snapshots &#8230;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai.png" alt="Original Graphic created in Illustrator" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg.png" alt="FXG Exported from Illustrator" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-catalyst.png" alt="FXG Exported from Catalyst" />  </p>
<ol>
<li>The first strip is original graphic created in Illustrator</li>
<li>The second strip FXG Exported from Illustrator</li>
<li>The third strip is original Illustrator file imported into Catalyst and then FXG exported from Catalyst</li>
</ol>
<p>Clearly, all of them are different.<!--more--> While this difference may not feel significant when looked at in this isolated manner, if you have many gradients in your design it can significantly affect the fidelity of the design.</p>
<p>Here&#8217;s the code generated by Illustrator&#8217;s FXG export feature ..<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai-fxg-code.png" alt="Code of FXG exported from Illustrator" />  </p>
<p>Here&#8217;s the code generated by first importing the Illustrator file into Catalyst and then exporting FXG ..<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/catalyst-fxg-code.png" alt="Code of FXG exported from Catalyst" /> </p>
<p>Note that the colors exported by each are different.</p>
<p><em><strong>Suggestion:</strong> Illustrator&#8217;s FXG export should have a way to add namespace prefixes while exporting, would be helpful</em>  </p>
<p>At this point, I asked about this problem on an Adobe forum and one of the team members replied and suggested I should &#8230; In Illustrator, convert colors to SRGB and turn off color management. So I did that.<br />
Here&#8217;s the original followed by what it looks like with the new settings &#8230; </p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai.png" alt="Original Graphic created in Illustrator" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai-colormanagementoff.png" alt="Original with Color Management turned off" />  </p>
<p>So, our designer will have to redo some work in the new settings to create the original look, that&#8217;s fine, as long as we can get the exact same look in out final Flex application. But that didn&#8217;t work out either ..</p>
<ol>
<li>The original graphic with the new color settings applied</li>
<li>FXG exported from illustrator</li>
<li>FXG exported from Catalyst</li>
<li>The original graphic without the new color settings</li>
</ol>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai-colormanagementoff.png" alt="Original with Color Management turned off" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-catalyst-c.png" alt="FXG exported from Illustrator with Color Management turned off" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-catalyst-c.png" alt="FXG exported from Catalyst" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai.png" alt="Original Graphic created in Illustrator" />   </p>
<p>Here&#8217;s the code of FXG exported from Illustrator &#8230;<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-ci-code-c.png" alt="" /> </p>
<p>Here&#8217;s the code of FXG exported from Catalyst &#8230;<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-catalyst-code-c.png" alt="" /> </p>
<p>Note that this time both the FXGs are exactly the same except they still don&#8217;t look like the desired look drawn in Illustrator. Even if we use different color settings.</p>
<p>Now I noticed that Illustrator also allows exporting to <a href="http://www.w3.org/Graphics/SVG/">SVG</a> so I exported my original graphic as SVG &#8230;</p>
<ol>
<li>Original</li>
<li>SVG exported from Illustrator</li>
</ol>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai.png" alt="Original Graphic created in Illustrator" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/svg.png" alt="SVG" />   </p>
<p>So that&#8217;s not perfect either but its much closer than any of the FXG output above &#8230;</p>
<p>When I looked at the code of the exported SVG  &#8230;<br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/svg-code.png" alt="SVG" />   </p>
<p>Clearly there is more color detail in there, it has 10 gradient stops as opposed to only 3 in the FXG output we got, this explains lower fidelity of our FXG output .. so I translated this SVG <strong>manually</strong> to FXG ..</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-modified-code.png" alt="SVG" />   </p>
<p>Here&#8217;s the original followed by the final FXG I created manually &#8230;  </p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/ai.png" alt="Original Graphic created in Illustrator" /><br />
<img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/08/fxg-modified.png" alt="Modified FXG" />   </p>
<p>Not perfect, but fairly close.</p>
<p><em><strong>Suggestion:</strong> Illustrator and Catalyst FXG export should not drop gradient stops</em></p>
<p>Since, Catalyst is still in beta, I think Adobe will probably fix this by the time it releases but till then you can use the SVG workaround if you run into a similar situation.</p>
<p>I had to convince our designer to settle at &#8220;fairly close&#8221; for now, but if this Designer-Developer Workflow thing has to work, we need to get better at generating the exact look a designer draws in his/her design tool, at the click of  a button. </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/08/02/gradient-fidelity-and-fxg/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Flex4/FXG EllipticalArc Primitive</title>
		<link>http://weblog.mrinalwadhwa.com/2009/07/21/fxg-ellipticalarc-primitive/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/07/21/fxg-ellipticalarc-primitive/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 22:37:30 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[degrafa]]></category>
		<category><![CDATA[ellipticalarc]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[fxg]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[primitive]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=1025</guid>
		<description><![CDATA[<p>Flex 4 does not have an EllipticalArc primitive yet, but I needed one today .. thankfully <a href="http://degrafa.org">Degrafa</a> already has an <a href="http://degrafa.googlecode.com/svn/branches/Origin/Degrafa/com/degrafa/geometry/EllipticalArc.as">EllipticalArc Class</a>, I translated that to work with Flex 4.</p>
<p>EllipticalArc is a <a href="http://livedocs.adobe.com/flex/gumbo/langref/spark/primitives/supportClasses/FilledElement.html">FilledElement</a> so it can have a Fill and a Stroke just like other FilledElements  <a href="http://livedocs.adobe.com/flex/gumbo/langref/spark/primitives/Rect.html">Rect</a>, <a href="http://livedocs.adobe.com/flex/gumbo/langref/spark/primitives/Ellipse.html">Ellipse</a> etc.</p>
<p><object width="650" height="900"><param name="movie" value="http://experiments.mrinalwadhwa.com/EllipticalArc/Example.swf"><embed src="http://experiments.mrinalwadhwa.com/EllipticalArc/Example.swf"  width="650" height="900"></embed></param></object></p>
<h4><a href="http://experiments.mrinalwadhwa.com/EllipticalArc/">View Example</a></h4>
<h4><a href="http://code.google.com/p/ellipticalarc/source/browse/trunk/src/com/mrinalwadhwa/primitives/EllipticalArc.as">View Source</a></h4>
<p>I haven&#8217;t yet implemented some of the layout related functionality that other primitives like Rect, Ellipse etc implement &#8230; but it seems to work fine with basic layouts, which is what I needed for now. The class is <a href="http://code.google.com/p/ellipticalarc/">hosted on Google code</a> under the Apache 2.0 License, just in case someone wants to improve it.</p>
<p>Thank you to the <a href="http://degrafa.org">Degrafa</a> team for sharing their amazing work that saves me loads of time every now and then.</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/07/21/fxg-ellipticalarc-primitive/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Presenting Flex 4 Component Lifecycle at FlexMania</title>
		<link>http://weblog.mrinalwadhwa.com/2009/07/04/flexmania/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/07/04/flexmania/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 00:52:09 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[brazil]]></category>
		<category><![CDATA[flex mania]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[flexmania]]></category>
		<category><![CDATA[mania]]></category>
		<category><![CDATA[mrinal]]></category>
		<category><![CDATA[mrinal wadhwa]]></category>
		<category><![CDATA[mrinalwadhwa]]></category>
		<category><![CDATA[present]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=989</guid>
		<description><![CDATA[<p><a href="http://www.flexmania.com.br/"><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/07/flexmania.jpg" alt="FlexMania" width="100%"/></a></p>
<p><a href="http://www.flexmania.com.br/">FlexMania</a> is a Brazilian online event organized by <a href="http://www.igorcosta.org/">Igor Costa</a>. The event is focused on the Flash Platform and has a great collection of Flash/Flex/AIR related <a href="http://www.flexmania.com.br/calendario.html">talks</a>.</p>
<p>Although, most of the talks are in portuguese, there are some interesting english sessions as well like Laura Arguello on <a href="http://mate.asfusion.com/">Mate Framework</a>, Stephen Downs (a.k.a Tink) on <a href="http://www.efflex.org/">Efflex</a> and Iiley Chen on <a href="http://www.aswing.org/">AsWing</a>    </p>
<p>I will also be presenting in english, my talk is &#8220;A Flex 4 Component&#8217;s Lifecycle&#8221; on Monday, July 6th at 15:30 GMT. </p>
<hr />
<strong>RECORDING: </strong>Here&#8217;s the 1hr long <a href="http://go.mrinalwadhwa.com/flext4"> Adobe Connect recording </a> of the talk from FlexMania</p>
<p><strong>SLIDES AND CODE: </strong>The <a href="http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/">slides and code</a> from the talk can be found <a href="http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/">here</a></p>
<hr />
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/07/04/flexmania/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Flex 4 Component Lifecycle (Slides and Code)</title>
		<link>http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 17:52:42 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[components]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[halo]]></category>
		<category><![CDATA[spark]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=945</guid>
		<description><![CDATA[<p>I gave a talk this Friday on the lifecycle of a component in <a href="http://opensource.adobe.com/wiki/display/flexsdk/Gumbo">Flex 4</a>. The talk went into the details of how the flash player works, why a component needs a lifecycle and the various stages of a components life.</p>
<hr />
<strong>UPDATE: </strong> I gave the same talk at <a href="http://weblog.mrinalwadhwa.com/2009/07/04/flexmania/">FlexMania</a> .. Here&#8217;s the 1hr long <a href="http://go.mrinalwadhwa.com/flext4"> Adobe Connect recording </a><br />
&nbsp;</p>
<hr />
<p>Here are the slides and experimental code from the talk &#8230; </p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="650" height="550"><param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent"/><param name="allowFullScreen" value="true"/><param name="flashvars"  value="ext=pdf&#038;docId=3538fc34-e9f8-4264-97e1-12ee8aca6cbf&#038;lang=en_US"/><embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="650" height="550" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&#038;docId=3538fc34-e9f8-4264-97e1-12ee8aca6cbf&#038;lang=en_US"></embed></object></p>
<p>Here&#8217;s the code we played with to understand how frame rates work in the flash player &#8230; <!--more--></p>
<p><a href="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/FrameRates.as.html"></p>
<h3>FrameRates.as</h3>
<p></a></p>
<p><iframe src ="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/FrameRates.as.html" width="100%" height="300"><br />
</iframe></p>
<p>Here&#8217;s the code we wrote with to understand the <a href="http://www.onflex.org/ted/2005/07/flash-player-mental-model-elastic.php">Elastic Racetrack</a> &#8230;</p>
<p><a href="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/ElasticRaceTrack.as.html"></p>
<h3>ElasticRaceTrack.as</h3>
<p></a></p>
<p><iframe src ="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/ElasticRaceTrack.as.html" width="100%" height="300"><br />
</iframe></p>
<p>Here&#8217;s the experiment to understand <a href="http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/">marshaled slices</a> &#8230;</p>
<p><a href="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/MarshalledSlices.as.html"></p>
<h3>MarshaledSlices.as</h3>
<p></a></p>
<p><iframe src ="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/source/MarshalledSlices.as.html" width="100%" height="300"><br />
</iframe></p>
<blockquote><p>
<a href="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/06/flex-4-component-lifecycle.pdf"><strong>Download Slides</strong></a><br />
<a href="http://experiments.mrinalwadhwa.com/flex4lifecycle_talk/testproject.zip"><strong>Download Source Code</strong></a>
</p></blockquote>
<p>The presentation was slightly long and I&#8217;ve already heard that some people <a href="http://cfmitrah.com/blog/post.cfm/coldfusion-9-bolt-meeting-at-bangalore">found it boring</a> but I hope that wasn&#8217;t the case for everyone <img src='http://weblog.mrinalwadhwa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I would like to thank all the awesome people in the Flash/Flex community who have helped me understand all this by publishing some great articles and blog posts &#8230; here are just some of the articles that I&#8217;ve found very useful &#8230;<br />
<a href="http://www.onflex.org/ted/2005/07/flash-player-mental-model-elastic.php"><br />
Ted Patrick on the Elastic Racetrack</a><a href="http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/"><br />
Sean Christmann&#8217;s Updated ‘Elastic Racetrack’ for Flash 9 and AVM2</a><br />
Ely Greenfrield on <a href="http://onflex.org/ACDS/BuildingAFlexComponent.pdf">Building a Flex Component</a> [PDF] (Thanks Ted Patrick for making it available on his blog)<br />
<a href="http://weblog.mrinalwadhwa.com/2009/02/17/understanding-the-flex-component-lifecycle/">&#8220;Diving Deep With the Flex Component Lifecycle,&#8221;</a> by <a href="http://bradumbaugh.blogspot.com/">Brad Umbaugh</a> and <a href="http://rjria.blogspot.com/">RJ Owen</a><br />
<a href="http://www.developmentarc.com/site/articles/">White Paper by the guys at Development Arc on Component Lifecycle </a></p>
<p>Please do let me know what you thought of my talk and how I can improve it.</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Flex 4 Component Lifecycle</title>
		<link>http://weblog.mrinalwadhwa.com/2009/06/12/flex-4-component-lifecycle-2/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/06/12/flex-4-component-lifecycle-2/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 09:43:50 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[bangalorefx]]></category>
		<category><![CDATA[flex 4 component lifecycle]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[halo]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=936</guid>
		<description><![CDATA[<p>I&#8217;ll be presenting a talk on Flex 4 Component Lifecycle at the next <a href="http://bangalorefx.org">Bangalore Flex User Group Meeting</a> on 19th. <!--more--></p>
<p>The talk will be an in depth walk through of the life cycle of a component in Flex 4. The Flex 4 component model (Spark) is built on top of Flex 3 component model (Halo), so we will also take a detailed look at the Flex 3 lifecycle.</p>
<p>I am not planning to do a feature by feature overview of new features in Flex 4, so it would help if you already know a little bit about that. These articles are a good place to start ..</p>
<blockquote><p>Matt Chotin on <a href="http://www.adobe.com/devnet/flex/articles/flex4sdk_whatsnew.html">What&#8217;s new in Flex 4 Beta</a><br />
Joan Lafferty on <a href="http://www.adobe.com/devnet/flex/articles/flex3and4_differences.html">Differences between Flex 3 and Flex 4 beta</a></p></blockquote>
<p>Check out the <a href="http://bangalorefxjune09.eventbrite.com/">event page</a> for registration and other details.</p>
<p>Look forward to seeing you all there.</p>
<hr />
<p>UPDATE: I&#8217;ve posted the slides and code from the talk <a href="http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/">here</a>    </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/06/12/flex-4-component-lifecycle-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>FXG paths to Flex components convertor</title>
		<link>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/#comments</comments>
		<pubDate>Fri, 08 May 2009 10:39:59 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[fxg]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[thermo]]></category>
		<category><![CDATA[vector]]></category>
		<category><![CDATA[visualelement]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=894</guid>
		<description><![CDATA[<p>While working on a project yesterday I needed to convert several vectors (hundreds of them) into reusable Flex 4 visual elements that I could then use in my skins, so lets say if I have vectors of chess pieces that I would like to use in my Skin as follows &#8230;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1532.png" alt="Neat and Clean Skin code using FXG to component converter" /></p>
<p>Since I needed these in several skin files I did not want to deal with clunky Path elements which would&#8217;ve looked something like this..</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1531.png" alt="Messy skin code with generated path elements" /></p>
<p>So I created a quick AIR application &#8230;. <!--more--> that that converts the elements into AS3 classes that extend from spark.primitives.Path and look something like this &#8230;</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/05/2009-05-08_1557.png" alt="Generated Code" /></p>
<p>This way all my path data sits in one place I can use this library of visual elements in a reusable way across several applications and changing something would be really easy. Also, unlike the generated code from Flash Catalyst (Thermo) all my components are not inside Groups which are fairly heavy components.  </p>
<p>Watch this quick video of a detailed demo of how to use the tool &#8230;  </p>
<p><object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2097348&#038;feedurl=http%3A//mrinalwadhwa.blip.tv/rss/&#038;autostart=false&#038;brandname=Mrinal%20Wadhwa&#038;brandlink=http%3A//mrinalwadhwa.blip.tv/" width="640" height="510" allowfullscreen="true" id="showplayer"><param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2097348&#038;feedurl=http%3A//mrinalwadhwa.blip.tv/rss/&#038;autostart=false&#038;brandname=Mrinal%20Wadhwa&#038;brandlink=http%3A//mrinalwadhwa.blip.tv/" /><param name="quality" value="best" /></object></p>
<p>If you think this is something useful for you to &#8230;.</p>
<h2><a href="http://fxg-to-component.googlecode.com/files/fxg-to-component-0.01.air">Download and Install</a></h2>
<p>Since I did this in very little time the code is quick and dirty but it works and is available under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a> on Google Code so feel free to to modify for your own needs. </p>
<h2><a href="http://code.google.com/p/fxg-to-component/source/browse/">View Source at Google Code</a></h2>
<p>An after thought was that this should probably not be called FXG to Component since the generated classes do not inherit from UIComponent but instead from Path which is a GraphicElement. Anyways, who cares as long as it does what its supposed to do.</p>
<p>Please do let me know if you find this useful. </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/05/08/fxg-paths-to-flex-components-convertor/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Flash Player Internals</title>
		<link>http://weblog.mrinalwadhwa.com/2009/03/20/flash-player-internals/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/03/20/flash-player-internals/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 05:54:37 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[FP]]></category>
		<category><![CDATA[internals]]></category>
		<category><![CDATA[jim corbett]]></category>
		<category><![CDATA[lee thomason]]></category>
		<category><![CDATA[max]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=823</guid>
		<description><![CDATA[<p>I&#8217;ve noticed on several occasions that developers starting out with Flex ignore the underlying player and focus their attention on the high level Flex framework &#8230; but I feel that it is extremely important to understand Flash Player and its abilities as well to be successful at writing great Flex applications &#8230; remember that the only things that you can do with the Flex framework are things that the core Flash Player API allows you to do and nothing more &#8230; the Flex framework is just a library making it easier to use that core functionality that the Player provides.</p>
<p>Peter Elst <a href="http://www.peterelst.com/blog/2009/03/10/flash-player-internals/">highlighted</a> this presentation on his blog, but I think its important enough to be highlighted again &#8230;</p>
<p><strong>Flash Player Internals</strong>,<br />
<em>presented by Jim Corbett and Lee Thomason at <a href="http://max.adobe.com/">Adobe MAX</a>.</em></p>
<p><embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="665" height="400" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashVars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9tYXhfMjAwOF9kZXZlbG9wLzE1OTY3NDE2MTNfMjUxMzk3MjAwMV9jb3JiZXR0LXRob21hc29uLW1vbi0xMTMwYW0tZGV2ZWxvcC5mbHY/cnNzX2ZlZWRpZD0xNTM4NCZ4bWx2ZXJzPTI=&#038;w=665&#038;t=http://tv.adobe.com/#vi+f15384v1063&#038;h=400"></embed></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/03/20/flash-player-internals/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understanding the Flex Component Lifecycle</title>
		<link>http://weblog.mrinalwadhwa.com/2009/02/17/understanding-the-flex-component-lifecycle/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/02/17/understanding-the-flex-component-lifecycle/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 16:05:35 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[bangalorefx]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[components]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[fug]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[user group]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=786</guid>
		<description><![CDATA[<p><strong>UPDATE:</strong> I gave a talk on the <a href="http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/">Lifecycle of a Component in Flex 4</a> first at Bangalore Flex User Group and then at FlexMania conference, <a href="http://weblog.mrinalwadhwa.com/2009/06/21/flex-4-component-lifecycle/">check out the video recording, slides and code</a>.</p>
<hr />
<p>Someone recently asked me how to go about understanding the Flex Component Lifecycle .. my usual answer to this is to go read the documentation, then the source of UIComponent and a few basic components like Label, Button etc. .. I also sometimes point people to the <a href="http://onflex.org/ACDS/BuildingAFlexComponent.pdf">Building A Flex Component [PDF]</a> presentation from <a href="www.onflex.org/ACDS/BuildingAFlexComponent.pdf">Ely Greenfield</a> which I&#8217;ve found useful in the past &#8230; this time though, I was also reminded of some recent presentations I had seen on the subject and found interesting .. so I thought I&#8217;ll share them here as well ..<!--more--></p>
<p><strong>Diving Deep With the Flex Component Lifecycle</strong>,<br />
<em>presented by <a href="http://bradumbaugh.blogspot.com/">Brad Umbaugh</a> and <a href="http://rjria.blogspot.com/">RJ Owen</a> at <a href="http://www.360conferences.com/360flex/">360 | Flex, San Jose</a>.</em></p>
<p><embed src="http://services.brightcove.com/services/viewer/federated_f8/1596744118" bgcolor="#FFFFFF" flashVars="videoId=1743188617&#038;playerId=1596744118&#038;viewerSecureGatewayURL=https://console.brightcove.com/services/amfgateway&#038;servicesURL=http://services.brightcove.com/services&#038;cdnURL=http://admin.brightcove.com&#038;domain=embed&#038;autoStart=false&#038;" base="http://admin.brightcove.com" name="flashObj" width="665" height="410" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></p>
<p>&nbsp;<br />
<strong>Creating New Components in Flex 3</strong>,<br />
<em>presented by <a href="http://iamdeepa.com/blog/">Deapa Subramaniam</a> at <a href="http://max.adobe.com/">MAX 2008</a><br />
</em><br />
<embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="665" height="400" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashVars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9tYXhfMjAwOF9kZXZlbG9wLzE1OTY3NDE2MTNfMjkzMTA5MzAwMV8yMDAxLS1zdWJyYW1hbmlhbS10dWUtMTMwcG0tZGV2ZWxvcC5mbHY/cnNzX2ZlZWRpZD0xNTM4NCZ4bWx2ZXJzPTI=&#038;w=665&#038;t=http://tv.adobe.com/#vi+f15384v1002&#038;h=400"></embed></p>
<p>Also, while we&#8217;re on the subject, if you&#8217;re in Bangalore you should consider attending this Friday&#8217;s <a href="http://bangalorefx.org">Bangalore Flex User Group</a> meeting where <strong>Chetan Sachdev</strong> will be presenting a <a href="http://bangalorefxjfeb09.eventbrite.com/">talk on Custom Components and the Component Lifecycle</a>. </p>
<p><a href="http://bangalorefxjfeb09.eventbrite.com/">Register here</a></p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/02/17/understanding-the-flex-component-lifecycle/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Ahead</title>
		<link>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/</link>
		<comments>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 11:54:18 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[bangalore]]></category>
		<category><![CDATA[blazeds]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash ahead]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[flashahead]]></category>
		<category><![CDATA[gumbo]]></category>
		<category><![CDATA[thermo]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=592</guid>
		<description><![CDATA[<p>I&#8217;ll be at Adobe <a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/">Flash Ahead</a> tomorrow. If you&#8217;re in Bangalore and not planning to attend this event you should .. the event will showcase the finalist&#8217;s of <a href="http://adoberiathon.wordpress.com/">Adobe RIAthon</a> and the cool applications they built&#8230;<br />
&nbsp;&nbsp;<br />
<a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/"><img alt="" src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2009/01/flash_ahead_logo.png" title="Flash Ahead" class="alignnone" width="100%" /></a><br />
&nbsp; &nbsp;<br />
The event will also have interesting presentations on some of the latest advancements in the Flash platform .. some of the highlights include &#8230;<!--more--></p>
<ul>
<li>Flex 4 (Gumbo)</li>
<li>BlazeDS .NET</li>
<li>Flex plugin for Visual Studio</li>
<li>Flash Catalyst (Thermo)</li>
<li>Flash Player 10 (Astro)</li>
<li>Alchemy etc.</li>
</ul>
<p>More details about the event <a href="http://adoberiathon.wordpress.com/2009/01/12/flash-ahead/">here</a>.</p>
<p>If you&#8217;re planning to attend, please <a href="http://endtoend.in/apps/forms/adobe/flash/adobe.htm">RSVP here</a> &#8230; also if you&#8217;re there do catch up with me and say hi <img src='http://weblog.mrinalwadhwa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2009/01/16/adobe-flash-ahead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Easy deploy Flex/BlazeDS apps to Amazon EC2 with Stax</title>
		<link>http://weblog.mrinalwadhwa.com/2008/12/23/flex-blazeds-amazon-ec2-stax/</link>
		<comments>http://weblog.mrinalwadhwa.com/2008/12/23/flex-blazeds-amazon-ec2-stax/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 02:10:13 +0000</pubDate>
		<dc:creator>Mrinal Wadhwa</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[blazeds]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[elastic]]></category>
		<category><![CDATA[stax]]></category>

		<guid isPermaLink="false">http://weblog.mrinalwadhwa.com/?p=558</guid>
		<description><![CDATA[<p><a href="http://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/10448">Dick Hirsch</a> introduced me to <a href="http://stax.net">Stax</a> in relation to an open source project that I&#8217;m involved with, <a href="http://incubator.apache.org/esme/">Apache ESME</a> (more on that later)<br />
&nbsp;<br />
<a href="http://stax.net"><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/12/stax.png" alt="Stax: The fastest way to deply Java apps to EC2" /></a><br />
&nbsp;&nbsp;</p>
<h4>What is Stax ?</h4>
<p>According to the <a href="http://stax.net" >Stax website</a> &#8230; Stax is &#8220;The fastest way for developers to build, manage and scale Java applications on EC2&#8243; .. here are the notable features &#8230;.<!--more--></p>
<h4>Application Templates</h4>
<p>Once you&#8217;ve installed the <a href="http://wiki.stax.net/w/index.php/SDK">Stax command line tools</a> its a breeze to get started with building your application. Stax comes with various pre-configured application templates to get you started .. the most notable for me among the templates was the <a href="http://wiki.stax.net/w/index.php/Flex">Flex/BlazeDS template</a> that can be created as follows ..</p>
<blockquote><p>
$ stax create -t flex myflexapp</p>
<p>The -t in the command line tells stax to<br />
generate using the flex template
</p></blockquote>
<p>Check out the <a href="http://wiki.stax.net/w/index.php/Flex_Guide">2 minute guide</a> to create and deploy a Flex/BlazeDS Hello World app that uses remoting .. it really did take 2 minutes. <!--more--></p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/12/stax-helloworld.png" alt="Stax Flex-BlazeDS Helloworld" /></p>
<p>Stax also has <a href="http://wiki.stax.net/w/index.php/Main_Page">application templates</a> for Struts, Wicket, JSP, Jython, JRuby (on Rails) and ColdFusion<br />
&nbsp;</p>
<h4>No proprietary APIs</h4>
<p>Stax does not make you use any proprietary API, so your application code is totally independent of the environment and you can choose to move to a different deployment environment whenever you like.<br />
&nbsp;</p>
<h4>Simulated local development environment</h4>
<p>The Stax command line tool has a run command that lets you run/test you application locally during development using a local pre-configured instance of tomcat. </p>
<blockquote><p>$ stax run
</p></blockquote>
<p>And when you&#8217;re done developing just say ..</p>
<blockquote><p>
$ stax deploy -u staxusername -p staxpassword
</p></blockquote>
<p>&nbsp;</p>
<h4>Snapshots and Roll-Back</h4>
<p>Stax lets you create snapshots of applications or databases so you can revert to previous snapshots at any time. Every time you hit the deploy command a snapshot is created and you can revert to it anytime.</p>
<p>&nbsp;</p>
<h4>Reporting and Monitoring</h4>
<p>Stax also has real time reporting to monitor your application&#8217;s health, resource utilization and performance</p>
<p><img src="http://weblog.mrinalwadhwa.com/wp-content/uploads/2008/12/stax-reports.png" alt="Stax Reporting and Monitoring" /></p>
<p>&nbsp;</p>
<h4>All the Elastic Cloud goodness</h4>
<p>And last but certainly not the least Stax lets you leverage all the Elastic Cloud goodness offered by <a href="http://aws.amazon.com/ec2/">Amazon EC2</a> .. scale on demand, clustered servers for load balancing, pay for only what you use etc.</p>
<p>
Stax is currently in closed beta and they&#8217;ve not announced their pricing, but its definitely worth a look the next time you&#8217;re starting a new project.
</p>
<p>&nbsp;</p>
]]></description>
		<wfw:commentRss>http://weblog.mrinalwadhwa.com/2008/12/23/flex-blazeds-amazon-ec2-stax/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
