<?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>Tom Cornilliac &#187; Flex</title>
	<atom:link href="http://www.tomcornilliac.com/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomcornilliac.com</link>
	<description>Flex, AIR and Rich Internet Goodness</description>
	<lastBuildDate>Wed, 17 Jun 2009 15:40:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Using SwizConfig with Flex 4</title>
		<link>http://www.tomcornilliac.com/2009/06/using-swizconfig-with-flex-4/</link>
		<comments>http://www.tomcornilliac.com/2009/06/using-swizconfig-with-flex-4/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 16:11:32 +0000</pubDate>
		<dc:creator>Tom Cornilliac</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Swiz]]></category>

		<guid isPermaLink="false">http://www.tomcornilliac.com/?p=65</guid>
		<description><![CDATA[I recently started my first Flex 4 project using the Swiz framework. After setting up my main application class to use SwizConfig and compiling I was greeted with this error. &#8220;In initializer for &#8216;mxmlContentFactory&#8217;, type org.swizframework.SwizConfig is not assignable to target type Array or target element type mx.core.IVisualElement&#8221; The solution: Flex 4 introduced a new [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started my first Flex 4 project using the <a href="http://www.swizframework.org">Swiz framework</a>. After setting up my main application class to use SwizConfig and compiling I was greeted with this error.</p>
<blockquote><p><span style="color: #000000;"><strong>&#8220;In initializer for &#8216;mxmlContentFactory&#8217;, type org.swizframework.SwizConfig is not assignable to target type Array or target element type mx.core.IVisualElement&#8221;</strong></span></p></blockquote>
<p>The solution: Flex 4 introduced a new method of grouping non-visual elements together <span style="color: #0000ff;">&lt;fx:Declarations&gt;</span>. In Flex 4 non-visual elements such as formatters, validators, effects etc. need to be grouped within a <span style="color: #0000ff;">&lt;fx:Declarations&gt;</span> section. So if you&#8217;re using Flex 4 (Gumbo) your SwizConfig would look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:WindowedApplication</span></span>
<span style="color: #000000;">	xmlns:swiz=<span style="color: #ff0000;">&quot;http://swiz.swizframework.org&quot;</span></span>
<span style="color: #000000;">	xmlns:fx=<span style="color: #ff0000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span></span>
<span style="color: #000000;">	xmlns:s=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/spark&quot;</span></span>
<span style="color: #000000;">	xmlns:mx=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/halo&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Declarations</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;swiz:SwizConfig</span> </span>
<span style="color: #000000;">			viewPackages=<span style="color: #ff0000;">&quot;com.myapp.views&quot;</span></span>
<span style="color: #000000;">			eventPackages=<span style="color: #ff0000;">&quot;com.myapp.events&quot;</span></span>
<span style="color: #000000;">			strict=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #000000;">			beanLoaders=<span style="color: #ff0000;">&quot;{[Beans]}&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Declarations</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:WindowedApplication</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2009/06/using-swizconfig-with-flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe&#8217;s Flex 3.0 and AIR 1.0 released!</title>
		<link>http://www.tomcornilliac.com/2008/02/adobes-flex-30-and-air-10-released/</link>
		<comments>http://www.tomcornilliac.com/2008/02/adobes-flex-30-and-air-10-released/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 05:45:42 +0000</pubDate>
		<dc:creator>Tom Cornilliac</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.cornilliac.com/blog/?p=52</guid>
		<description><![CDATA[The title says it all. Here&#8217;s some links to the bits. Flex Builder 3.0 http://www.adobe.com/products/flex/ Flex SDK 3.0 http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK AIR 1.0 http://www.adobe.com/products/air/]]></description>
			<content:encoded><![CDATA[<p>The title says it all. Here&#8217;s some links to the bits.</p>
<p>Flex Builder 3.0<br />
<a href="http://www.adobe.com/products/flex/">http://www.adobe.com/products/flex/</a></p>
<p>Flex SDK 3.0<br />
<a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK">http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK</a><br />
AIR 1.0<br />
<a href="http://www.adobe.com/products/air/">http://www.adobe.com/products/air/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2008/02/adobes-flex-30-and-air-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Flex Builder 3 Professional license should be cross-platform</title>
		<link>http://www.tomcornilliac.com/2008/02/the-flex-builder-3-professional-license-should-be-cross-platform/</link>
		<comments>http://www.tomcornilliac.com/2008/02/the-flex-builder-3-professional-license-should-be-cross-platform/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 18:17:26 +0000</pubDate>
		<dc:creator>Tom Cornilliac</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.cornilliac.com/blog/?p=51</guid>
		<description><![CDATA[Edit: In a comment below Ted Patrick confirmed that Adobe has indeed already changed the licensing to allow for a virtualized Win/Mac combination. Fantastic News! One more reason to develop on a Mac! (02/08/08 11:42 PST) I develop Flex and AIR applications in Flex Builder on my Macbook Pro notebook and I keep a copy [...]]]></description>
			<content:encoded><![CDATA[<p><em><br />
Edit: In a comment below Ted Patrick confirmed that Adobe has indeed already changed the licensing to allow for a virtualized Win/Mac combination. Fantastic News! One more reason to develop on a Mac! (02/08/08  11:42 PST)<br />
</em></p>
<p>I develop Flex and AIR applications in Flex Builder on my Macbook Pro notebook and I keep a copy of VMWare Fusion and Window XP on standby for testing.</p>
<p>Last week while debugging an AIR application I came across a NativeMenu problem that required me to set breakpoints inside the Windows specific section of the NativeMenu code. No problem, I fired up VMWare Fusion, started Windows XP, installed Flex Builder 3 beta 3 and imported the project from my Mac partition. It all worked very slick and I was able to debug the problem and code a solution from within Windows, all without making a copy of the code base.</p>
<p>It all sounds so good and efficient right?</p>
<p>But later as I was basking in the glory of my victory, I got to thinking&#8230;this won&#8217;t be possible once Flex Builder 3 is released because I won&#8217;t have a Windows license key for Flex Builder 3. Will I need to spend hundreds of dollars for a Windows license key just so I can debug the occasional AIR application? What about when Linux support is a reality? Hundreds more? </p>
<p>The short answer may be &#8220;Yes&#8221;, pony up the cash and move on ya whiner!</p>
<p>But there&#8217;s a larger question at the root of this issue. Does Adobe as the provider of a freely available cross-platform runtime have an obligation to it&#8217;s developers to provide an equivalent platform for developing and debugging across all the supported platforms? In my opinion they do, it&#8217;s in Adobe&#8217;s best interest long term. Being able to debug AIR applications on Windows, Mac and (looking forward) Linux will only improve the quality of AIR applications and that in-turn should promote adoption of the platorm.</p>
<p>Let me be clear, I&#8217;m not suggesting that Adobe give away the IDE farm, I am suggesting that Adobe needs to consider the developer faced with challenges of cross-platform debugging in AIR. How does the developer who cannot afford a Windows, Mac &#038; Linux IDE affect the platform as a whole? In my opinion the AIR applications we create (free or not) are public ambassadors for the platform, as such we need them to be stable and performant across every platform the AIR runtime supports. To accomplish this we need reasonable access to tools for each platorm.</p>
<p>So here&#8217;s my suggestion Adobe, it&#8217;s simple. Make the Flex Builder Professional license cross-platform. Let your developers make a choice for cross-platform debugging.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2008/02/the-flex-builder-3-professional-license-should-be-cross-platform/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Flex on a mobile is closer than we thought!</title>
		<link>http://www.tomcornilliac.com/2008/01/flex-on-a-mobile-is-closer-then-we-thought/</link>
		<comments>http://www.tomcornilliac.com/2008/01/flex-on-a-mobile-is-closer-then-we-thought/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 15:39:37 +0000</pubDate>
		<dc:creator>Tom Cornilliac</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.cornilliac.com/blog/?p=47</guid>
		<description><![CDATA[I was reviewing Engadget&#8217;s coverage of Demo 08 this morning and I nearly fell out of my seat when I saw skyfire. skyfire is a mobile browser that claims to bring a PC browsing experience to the mobile phone for the first time. From the skyfire site product page: We’re talking about full-featured PC versions [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.cornilliac.com/blog/wp-content/uploads/2008/01/meskyfire_logo.jpg' rel="lightbox[47]" title='skyfire logo'><img src='http://www.cornilliac.com/blog/wp-content/uploads/2008/01/meskyfire_logo.jpg' alt='skyfire logo' align="right" /></a></p>
<p>I was reviewing Engadget&#8217;s coverage of Demo 08 this morning and I nearly fell out of my seat when I saw <a href="http://www.skyfire.com">skyfire</a>. skyfire is a mobile browser that claims to bring a PC browsing experience to the mobile phone for the first time.</p>
<p><span id="more-47"></span></p>
<p>From the skyfire site product page:</p>
<blockquote><p>
We’re talking about full-featured PC versions of your favorite web sites. Skyfire gives you speedy page loads, full audio, video, images, dynamic Flash content, advanced Ajax, Java and more – just like your PC.
</p></blockquote>
<p>Of course you know where I&#8217;m going with this, if skyfire supports Flash 9 then skyfire also supports Flex. We could be on the verge of taking our Flex apps mobile. To me this news is beyond huge! Imagine the new opportunities that would be created by full Flash/Flex in the mobile space. </p>
<p>At the time of writing, skyfire is in private beta and is only available for Windows mobile 5 &#038; 6 and that only on phones with a full Qwerty keyboard. Their site says that Symbian support is coming soon. I use a Nokia E61i so I&#8217;ll have to wait for Symbian support.</p>
<p>You can sign-up for the private beta on the skyfire site.</p>
<p>Here&#8217;s a demo of skyfire in action, <strong>impressive</strong>!</p>
<div align="center">
<object width="425" height="373"><param name="movie" value="http://www.youtube.com/v/4mWUoxiLZFc&#038;rel=1&#038;border=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/4mWUoxiLZFc&#038;rel=1&#038;border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"></embed></object>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2008/01/flex-on-a-mobile-is-closer-then-we-thought/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Handling deferred view component creation within the PureMVC framework</title>
		<link>http://www.tomcornilliac.com/2008/01/handling-deferred-view-component-creation-within-the-puremvc-framework/</link>
		<comments>http://www.tomcornilliac.com/2008/01/handling-deferred-view-component-creation-within-the-puremvc-framework/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 19:24:15 +0000</pubDate>
		<dc:creator>Tom Cornilliac</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.cornilliac.com/blog/?p=44</guid>
		<description><![CDATA[For my last AIR project and my current Flex project I&#8217;ve been using the PureMVC ActionScript framework. It&#8217;s a solid framework and on the whole I&#8217;m enjoying working with it. When using PureMVC for Flex and AIR development one of the questions I see consistently is how to create mediators for deferred components. In other [...]]]></description>
			<content:encoded><![CDATA[<p> For my last AIR project and my current Flex project I&#8217;ve been using the <a href="http://www.puremvc.org">PureMVC</a> ActionScript framework. It&#8217;s a solid framework and on the whole I&#8217;m enjoying working with it. When using PureMVC for Flex and AIR development one of the questions I see consistently is how to create mediators for deferred components. In other words, if the view of your app uses a view stack how do you handle creating mediators on the children of the viewstack that are not created yet?  <span id="more-44"></span></p>
<p>PureMVC uses mediators for all communication from the model and controller to the view. Out of the box PureMVC normally creates the view mediators after creationComplete has fired and the model has been initialized. The reason for this is that mediators require a reference to a view component to work. In order to construct a mediator you first need an object or view component to pass to the constructor.</p>
<p>There are basically three different ways to handle this, two of which I don&#8217;t recommend using.</p>
<p><strong>1. <u>Use dummy objects to initialize mediators</u></strong><br />
<strong> </strong>If you know that your view component is not on the stage yet you could still create it&#8217;s mediator by passing a POASO (plain old actionscript object) to it&#8217;s constructor. I have two problems with this solution; One you&#8217;re unnecessarily using memory and two you have not treated the whole problem, you still need some type of event schema to reinitialize the mediator once the component has been created. <strong>I don&#8217;t recommend using this solution.</strong></p>
<p><strong>2. <u>Use creationPolicy=&#8221;all&#8221; to avoid deferred views</u><br />
</strong>By default components like ViewStack and TabNavigator on create their top level children at runtime. The remainder are created as the user navigates to them. You can use the creationPolicy=&#8221;all&#8221; attribute to override this behavior. This causes the application to create all the view components at runtime. <strong>This is a terrible idea and I cannot recommend it. </strong>What you are in effect saying to your user is &#8220;I don&#8217;t care about your memory or performance because I&#8217;m to lazy to code a decent solution&#8221; I know this is a bit dramatic but I hate when people use this attribute.</p>
<p><strong>3. <u>Use a custom Event subclass</u><br />
</strong>The idea here is to create an event subclass that the application mediator or another mediator can listen for and use to create new mediators. This event class has an extra property which holds a reference to the newly created component, other mediators can use this reference to construct a mediator for the component. This approach not only keeps your memory footprint smaller but it allows you to easily create and destroy mediators. <strong>Here&#8217;s an example of an Event subclass:</strong></p>
<p>You create your own constant names based on the event type you want your mediator to listen for.</p>
<p>[as]<br />
package com.tomcornilliac.myproject.events<br />
{<br />
	import flash.events.Event;</p>
<p>   	public class ComponentCreationEvent extends Event<br />
   	{<br />
      	// Publically accessible properties<br />
      	public var component:Object;</p>
<p>		//Constants used for routing withing PureMVC mediators<br />
		public static const SOME_EVENT:String = &#8220;gatewayCreated&#8221;;<br />
		public static const SOME_OTHER_EVENT:String = &#8220;gatewayStackCreated&#8221;;</p>
<p>		public function ComponentCreationEvent(type:String, component:Object, bubbles:Boolean=false, cancelable:Boolean=false)<br />
		{<br />
			super(type, bubbles, cancelable);<br />
			//Probably should have a getter/setter for this property<br />
			this.component = component;<br />
		}</p>
<p>		//You must override the clone method<br />
		override public function clone():Event<br />
		{<br />
			return new ComponentCreationEvent(type, component, bubbles, cancelable);<br />
		}<br />
	}<br />
}<br />
[/as]</p>
<p>An instance of this event is dispatched from your view component with a reference to its self. <em>Note that &#8220;bubbles&#8221; is set to true, this is required for the event to make it up the chain to whatever mediator is listening.</em><br />
[xml]<br />
<?xml version="1.0" encoding="utf-8"?></p>
<p><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"<br />
	width="100%" height="100%" creationComplete="init(event)"></p>
<p>	<mx:Metadata><br />
		[Event(name="gatewayCreated", type="org.deschutes.grizzly.events.ComponentCreationEvent")]<br />
	</mx:Metadata></p>
<p>	<mx:Script><br />
		<![CDATA[<br />
			import com.tomcornilliac.myproject.events.ComponentCreationEvent;</p>
<p>			private function init(e:Event):void<br />
			{<br />
				dispatchEvent(new ComponentCreationEvent(ComponentCreationEvent.GATEWAY_CREATED, this, true));<br />
			}<br />
		]]&gt;<br />
	</mx:Script></p>
<p></mx:Canvas><br />
[/xml]</p>
<p>The listening mediator (in this case the ApplictionMediator) will respond to the event and create and register a new mediator for the newly created view component. Now it&#8217;s important to note that while I&#8217;m using the ApplicationMediator in this example, you can use any mediator you want, so long as the event will bubble-up to it.</p>
<p>[as]<br />
package com.tomcornilliac.myproject.view<br />
{<br />
	import com.tomcornilliac.myproject.events.ComponentCreationEvent;<br />
	import com.tomcornilliac.myproject.view.components.SomeComponent;<br />
	import org.puremvc.interfaces.IMediator;<br />
	import org.puremvc.interfaces.INotification;<br />
	import org.puremvc.patterns.mediator.Mediator;</p>
<p>	public class ApplicationMediator extends Mediator implements IMediator<br />
	{<br />
		//Canonical name of the mediator<br />
		public static const NAME:String = &#8216;ApplicationMediator&#8217;;</p>
<p>		//Constructor<br />
		public function ApplicationMediator(viewComponent:Object)<br />
		{<br />
			super(viewComponent);</p>
<p>			/**<br />
			 * Setup event listeners for components created dynamically<br />
			 */<br />
			 app.addEventListener(ComponentCreationEvent.SOME_EVENT, createNewMediator);<br />
		}</p>
<p>		private function createNewMediator(e:ComponentCreationEvent):void<br />
		{<br />
			//Create the new Mediator and initialize it with the component from our event<br />
			var mediator:SomeComponentMediator = new SomeComponentMediator(e.component);<br />
			//Register the mediator with the Application Facade<br />
			facade.registerMediator(mediator)<br />
			//That&#8217;s it now your view component is hooked-up and ready to handle I/O<br />
		}</p>
<p>		&#8230;.other methods<br />
[/as]</p>
<p>This technique is not only good for component creation but you could just as easily create a custom ComponentDestructionEvent and use it to remove Mediators off the stack when no longer needed. </p>
<p>If you would like more information about the PureMVC framework I encourage you to <a href="http://www.puremvc.org">visit the PureMVC web site</a>. The documentation is excellent and there&#8217;s even a training course to help you on your way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2008/01/handling-deferred-view-component-creation-within-the-puremvc-framework/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>360 Flex Wants Your Opinion</title>
		<link>http://www.tomcornilliac.com/2007/10/360-flex-wants-your-opinion/</link>
		<comments>http://www.tomcornilliac.com/2007/10/360-flex-wants-your-opinion/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 20:07:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tomcornilliac.netfirms.com/blog/?p=16</guid>
		<description><![CDATA[The fine folks over at 360 Conferences are soliciting our input to help shape the future of the 360 Flex conferences. If you&#8217;ve ever been to a 360 Flex or if you&#8217;re simply and opinionated conference attendee please take a minute to complete the short 3 question survey.]]></description>
			<content:encoded><![CDATA[<p>The fine folks over at 360 Conferences are <a href="http://lordbron.wordpress.com/2007/10/19/changes-are-afoot-at-360flex/">soliciting our input</a> to help shape the future of the 360 Flex conferences. If you&#8217;ve ever been to a 360 Flex or if you&#8217;re simply and opinionated conference attendee please take a minute to complete the short <a href="http://www.surveymonkey.com/s.aspx?sm=yGMLUk_2f4IRYXqoobzijRuQ_3d_3d">3 question survey</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2007/10/360-flex-wants-your-opinion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Next Flex Beta in Oct, Shipping in Early 2008</title>
		<link>http://www.tomcornilliac.com/2007/08/next-flex-beta-in-oct-shipping-in-early-2008/</link>
		<comments>http://www.tomcornilliac.com/2007/08/next-flex-beta-in-oct-shipping-in-early-2008/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 17:20:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://tomcornilliac.netfirms.com/blog/?p=19</guid>
		<description><![CDATA[Ted Patrick, during the 360 Flex keynote, announced that the next Flex 3.0 beta will be available in October. While he didn&#8217;t go so far as to specify when in October I&#8217;m hopeful that the timing will coincide with MAX. In addition Ted announced that Flex 3 and AIR will ship in parallel sometime &#8220;very [...]]]></description>
			<content:encoded><![CDATA[<p>Ted Patrick, during the 360 Flex keynote, announced that the next Flex 3.0 beta will be available in October. While he didn&#8217;t go so far as to specify when in October I&#8217;m hopeful that the timing will coincide with MAX. In addition Ted announced that Flex 3 and AIR will ship in parallel sometime &#8220;very early in 2008&#8243;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2007/08/next-flex-beta-in-oct-shipping-in-early-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[360 Flex Seattle] &#8220;Practical Patterns in Flex&#8221; Don&#8217;t miss this session</title>
		<link>http://www.tomcornilliac.com/2007/08/360-flex-seattle-quotpractical-patterns-in-flexquot-dont-miss-this-session/</link>
		<comments>http://www.tomcornilliac.com/2007/08/360-flex-seattle-quotpractical-patterns-in-flexquot-dont-miss-this-session/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 02:52:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tomcornilliac.netfirms.com/blog/?p=20</guid>
		<description><![CDATA[I just arrived at 360 Flex (I&#8217;m in room 1209) and I&#8217;m going over my schedule for the conference. The session topics and speakers are outstanding and I&#8217;m having a hard time deciding. Of all the great sessions one in particular stands out to me and I want to point it out here; it&#8217;s &#8220;Practical [...]]]></description>
			<content:encoded><![CDATA[<p>I just arrived at <a href="http://www.360flex.com">360 Flex</a> (I&#8217;m in room 1209) and I&#8217;m going over my schedule for the conference. The session topics and speakers are outstanding and I&#8217;m having a hard time deciding. Of all the great sessions one in particular stands out to me and I want to point it out here; it&#8217;s &#8220;<span style="font-weight: bold">Practical Patterns in Flex</span>&#8221; by <a href="http://ech.net/blog/">James Echmalian</a>.I&#8217;ve had many a Flexy conversation of the last few years and the topic of Design Patterns seems to come up regularly. There&#8217;s a real need for knowledge when it comes to implementing design patterns in Flex so I&#8217;m happy to see this session on the schedule.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2007/08/360-flex-seattle-quotpractical-patterns-in-flexquot-dont-miss-this-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to: Creating an AIR Express Install Badge</title>
		<link>http://www.tomcornilliac.com/2007/07/how-to-creating-an-air-express-install-badge/</link>
		<comments>http://www.tomcornilliac.com/2007/07/how-to-creating-an-air-express-install-badge/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 16:53:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://tomcornilliac.netfirms.com/blog/?p=21</guid>
		<description><![CDATA[Creating an AIR express install badge is relatively simple. Adobe has done all the heavy lifting for us, our part consists of a little prep work and configuring some Flashvars. It is our part that I want to focus on in this tutorial. What you will need to create a badge: AIR SDK (Freely available [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial">Creating an AIR express install badge is relatively simple. Adobe has done all the heavy lifting for us, our part consists of a little prep work and configuring some Flashvars. It is our part that I want to focus on in this tutorial.</span><br style="font-family: Arial" /><br style="font-family: Arial" /><span style="font-family: Arial">     What you will need to create a badge:</span><br style="font-family: Arial" />
<ul>
<li style="font-family: Arial">         <font size="2"><a href="http://labs.adobe.com/downloads/airsdk.html" title="AIR SDK">AIR SDK</a> (Freely available from <a href="http://labs.adobe.com/" title="Adobe Labs">Adobe Labs</a> )       </font></li>
<li style="font-family: Arial"><font size="2">         Image editing software</font></li>
<li style="font-family: Arial"><font size="2">         Flash Authoring (only if you want to modify the default badge)       </font></li>
<li><font size="2"><span style="font-family: Arial">         Your favorite text editor or IDE</span></font></li>
</ul>
<p><span style="font-family: Arial; font-size: 13px" class="Apple-style-span"><span id="more-21"></span></span>Put simply, the AIR install badge is a SWF that detects the presence of the AIR runtime, if the runtime is not present it downloads and installs it before it downloads and installs your AIR application. The whole experience is remarkably similar to the Flash Express Install so most users should feel comfortable with the process. If (like me) you&#8217;re curious as to how the badge functions technically you can view the ActionScript 2.0 source and Badge FLA which are included in the SRC directory of the <a href="http://labs.adobe.com/downloads/airsdk.html" title="AIR SDK">AIR SDK</a>
<p style="margin-left: 40px"><span style="font-style: italic">Note: At the time of writing the AIR SDK contained an outdated version of the badge. The original badge had some debug code in it and the looks were a little underwhelming (hey it&#8217;s beta!). Fortunately Adobe has already updated the badge with amongst other things, a much improved look, just like the </span><a href="http://labs.adobe.com/technologies/air/samples/" title="AIR samples page">AIR samples page</a><span style="font-style: italic">. The updated badge has yet to make it into the SDK but you can </span><a href="http://download.macromedia.com/pub/labs/air/air_b1_badge_062607.zip" title="download it from Adobe" style="font-style: italic">download it from Adobe</a><span style="font-style: italic">. I&#8217;ll be using the updated badge for this tutorial.</span></p>
<p><span style="font-weight: bold" class="Apple-style-span">1. Create your background image for the badge</span>
<p style="margin-left: 40px"> Create a 215px x 100px image to be used as the background for the badge. The default size for the badge is 217px x 180px, if you deviate from this you will need to adjust your image size accordingly. </p>
<p style="margin-left: 40px"><span style="font-weight: bold" class="Apple-style-span">2. Configure the badge SWF</span></p>
<p style="margin-left: 40px">       The badge accepts 5 parameters in the form of Flashvars:</p>
<p style="margin-left: 40px"> </p>
<ol>
<li><strong>appname: </strong>The name of your AIR application.</li>
<li><strong>appurl: </strong>The URL to your AIR application. (http://www.mydomain.com/myAirApp.air)</li>
<li><strong>airversion: </strong>Currently &#8220;1.0.M4&#8243;</li>
<li><strong>buttoncolor:  </strong>Hex value of color for the Install button (default is gray)</li>
<li><strong>messgagecolor: </strong>Hex value of the color for the text message(s) below the badge (default is black)</li>
<li><strong>imageurl: </strong>URL of the background image(step 1) for the badgeThe badge code will end-up looking something like this:</li>
</ol>
<pre class="html" name="code"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="217" height="180">codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"width="217" height="180" id="badge" align="middle"&gt;<param name="allowScriptAccess" value="all"></param><param name="movie" value="badge.swf"></param><param name="quality" value="high"></param><param name="bgcolor" value="#FFFFFF"></param><param name="FlashVars"></param>value="appname=My%20Application&amp;appurl=http://www.mydomain.com/myAirApp.air&amp;airversion=1.0.M4&amp;buttoncolor=CC0000&amp;messagecolor=000000&amp;imageurl=test.jpg" /&gt;<embed src="badge.swf" quality="high" bgcolor="#FFFFFF" width="217" height="180"></embed>name="badge" align="middle" allowScriptAccess="all"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer"FlashVars="appname=My%20Application&amp;appurl=http://www.mydomain.com/myAirApp.air&amp;airversion=1.0.M4&amp;buttoncolor=CC0000&amp;messagecolor=000000&amp;imageurl=test.jpg"/&gt;</object></pre>
<p>Of course <span style="text-decoration: line-through">most</span> all of you are going to want to use some type of Flash detection script. Adobe has provided one in the samples directory of the <a href="http://download.macromedia.com/pub/labs/air/air_b1_badge_062607.zip" title="badge SDK">badge SDK</a>, but I prefer the most excellent <a href="http://blog.deconcept.com/swfobject/" title="SWFObject">SWFObject</a>.That&#8217;s basically it. As you can see the process for creating a badge for your AIR application is painless and unless you want to modify the stock SWF you don&#8217;t need Flash authoring. If you&#8217;re creating an AIR application for distribution I highly recommend taking time to create a badge, believe me your users will thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2007/07/how-to-creating-an-air-express-install-badge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to: Extending your Flex Builder 3 beta beyond 30 days</title>
		<link>http://www.tomcornilliac.com/2007/06/how-to-extending-your-flex-builder-3-beta-beyond-30-days/</link>
		<comments>http://www.tomcornilliac.com/2007/06/how-to-extending-your-flex-builder-3-beta-beyond-30-days/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 00:08:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://tomcornilliac.netfirms.com/blog/?p=24</guid>
		<description><![CDATA[Let me preface this by saying I&#8217;m a typical guy, I don&#8217;t read a lot of directions, especially beta directions. I&#8217;m usually too darn excited to play with whatever the new toy is. All this is to say what I&#8217;m covering here might well be documented somewhere. I just haven&#8217;t found it yet. I was [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-style: italic; color: rgb(0, 0, 0);">Let me preface this by saying I&#8217;m a typical guy, I don&#8217;t read a lot of directions, especially beta directions. I&#8217;m usually too darn excited to play with whatever the new toy is. All this is to say what I&#8217;m covering here might well be documented somewhere. I just haven&#8217;t found it yet.</span></p>
<p>I was wandering around Flex Builder 3 today (6/11/07) and noticed that my beta copy expires in 29 days. At the time I didn&#8217;t know whether to be excited at what the short time span implied or disappointed at the short beta. With a 30 day beta window I would hesitate to give Flex Builder 3 a serious run. </p>
<p>Not to fear though, if you enter your Flex Builder 2 serial it will extend your trial out another 112 days for a total of 142 days from the day you install. Just in time for beta 2 maybe?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomcornilliac.com/2007/06/how-to-extending-your-flex-builder-3-beta-beyond-30-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
