<?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>The bAS3 Class</title>
	<atom:link href="http://www.brandondement.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandondement.com/blog</link>
	<description>Adventures in software development</description>
	<lastBuildDate>Thu, 02 Sep 2010 05:56:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex 4.5 SDK Build Released</title>
		<link>http://www.brandondement.com/blog/2010/09/01/flex-4-5-sdk-build-released/</link>
		<comments>http://www.brandondement.com/blog/2010/09/01/flex-4-5-sdk-build-released/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 05:54:36 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=127</guid>
		<description><![CDATA[Adobe has just released their next build of the Flex Framework, codenamed &#8220;Hero,&#8221; on Adobe Open Source.
Some of the mobile and more advanced features aren&#8217;t available until  they release a new version of the player, but the new components they  list are.  What I thought was particularly interesting was a few of the [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe has just released their next build of the Flex Framework, codenamed &#8220;Hero,&#8221; on <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero" target="_blank">Adobe Open Source</a>.</p>
<p>Some of the mobile and more advanced features aren&#8217;t available until  they release a new version of the player, but the new components they  list are.  What I thought was particularly interesting was a few of the  enhancements being made to the <a href="http://opensource.adobe.com/wiki/display/flexsdk/Spark+Image" target="_blank">Spark Image Component</a>, which is meant to  replace the Halo Image component.</p>
<p>The Spark version is enhanced to provide BitmapData sharing across  instances, which both reduces memory footprint and perceived  loading time when loading the images multiple times.  Adobe took the Flex Framework a big step forward when they went from 3 to 4, which I think is shown in how they&#8217;re just now getting around to releasing fundamental components like <a href="http://opensource.adobe.com/wiki/display/flexsdk/Spark+Image" target="_blank">Image</a>.</p>
<p>It&#8217;s fun and efficient to use the Flex Framework for getting UI work done fast, but at the same time it makes me a little nostalgic for the time when I needed to write neat little gadgets like an <a href="http://www.brandondement.com/blog/2009/08/18/creating-an-image-cache-with-actionscript-3/" target="_self">image cache</a> myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2010/09/01/flex-4-5-sdk-build-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FITC San Francisco</title>
		<link>http://www.brandondement.com/blog/2010/08/21/fitc-san-francisco/</link>
		<comments>http://www.brandondement.com/blog/2010/08/21/fitc-san-francisco/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 22:40:40 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=118</guid>
		<description><![CDATA[FITC held it&#8217;s first ever event in San Francisco last week where they brought together some of the most creative and innovative minds from Flash&#8217;s design and development communities.  I had heard about previous FITC events and their increasing reputation for great speakers, educational sessions, and never-before-seen demos experiments, so when I heard they were [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.fitc.ca/" target="_blank">FITC</a> held it&#8217;s first ever event in San Francisco last week where they brought together some of the most creative and innovative minds from Flash&#8217;s design and development communities.  I had heard about previous FITC events and their increasing reputation for great speakers, educational sessions, and never-before-seen demos experiments, so when I heard they were coming to my new home, San Francisco, I have to admit I got a little giddy.</div>
<div>They sent out an early call for volunteers which I jumped on in a heartbeat.  Being a volunteer was a no-brainer for me, it saved a ton of money and for just a little bit of my time I got access to most of the sessions as well as an inside look into how FITC works and what it takes to put it together.  I met several of the FITC staff and chatted with them about their jobs of putting on these events all across the world.  It&#8217;s an impressive feat for them to orchestrate so many moving parts remotely, fly to a new city and have them all fall into place, then turn and do it all over again just a couple months later in another new city!  I also thought it was really funny how all these Canadians were caught totally by surprise by San Francisco&#8217;s chilly Summer weather, it was warmer in most parts of Canada than it was in SF!</div>
<div>I went to several sessions including the <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=110&amp;presentation_id=1219" target="_blank">Adobe Keynote</a> with Kevin Lynch, <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=110&amp;presentation_id=1290">Flex 4 Lifecycle Best Practices</a> with Aaron Pedersen &amp; James Polanco, and <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=110&amp;presentation_id=1230">High Performance Mobile Content with Flash</a> with Mike Chambers</div>
<div>The Adobe Keynote was great and renewed my confidence that Flash is and will be an integral part of the Internet for a long time to come.  For example, cell handset makers are starting to advertise that their devices support Flash, even putting the Flash Player logo on their packaging.  I also asked Kevin Lynch a question that has been burning in my mind for a while about the capabilities of CS5&#8217;s Device Central.  His answer was really, really impressive.  Normally you would expect the first iteration of a major feature like Device Central to be somewhat underwhelming, but not so in this case, just a few of the features are:</div>
<div>
<ul>
<li><strong>Simulation of all input types and layouts</strong> &#8211; In Device Central you can see a little picture of the actual device your testing and play with each and every one of the buttons and input controls it suppors</li>
<li><strong>Memory and CPU Simulation</strong> &#8211; What&#8217;s more important on a mobile device than performance?  (See below!)  Device Central actually simulates the capabilities of the device you&#8217;re testing to let you know how your content will do.</li>
<li><strong>Radio interference</strong> &#8211; Kevin told a story about how some developers were actually taking test devices into elevators to test how their application performs with degraded reception, so they built this into Device Central!</li>
<li><strong>Screen glare</strong> &#8211; <a href="http://images.icanhascheezburger.com/completestore/2009/1/18/128767576807958566.jpg" target="_blank">Whaaaat?</a> Does your application have enough contrast to be seen when the device is being used outdoors?  Device Central can help you find out.</li>
</ul>
<p>Device Central is powerful, but no tool can guarantee that your app will work as designed in real world scenarios, so don&#8217;t forget to test yourself, on a real device, because as we all know: <a href="http://www.youtube.com/watch?v=svAs-6MiqxE" target="_blank">ain&#8217;t nothing like the real thing, baby</a>.</div>
<div>And finally, I attended Mike Chambers&#8217; session on mobile application performance.  I was going in hopes of picking up tips to apply to my day job as a game developer, and I wasn&#8217;t disappointed, as most of Mike&#8217;s tips could be applied to virtually any application, but is especially important when running in under-powered mobile environments.  Here are my Cliff&#8217;s notes:</div>
<div>
<ul>
<li><a href="https://prerelease.adobe.com/callout/default.html?callid={AEF64EB4-A977-4317-909A-14AD8014BA21}" target="_blank">Air 2.5 beta open</a> &#8211; Open to anyone who registers.   Repurposes most of the work done for iPhone development and applies it  to Android.</li>
<li><a href="http://Bit.ly/as3performance" target="_blank">Bit.ly/as3performance</a> &#8211; Grant Skinner&#8217;s performance testing framework</li>
<li><a href="http://github.com/MikeChambers" target="_blank">Github.com/MikeChambers</a> &#8211;  Mike Chambers&#8217; Simple Game Framework, a set of utility  classes to perform various game related functions like a Centralized  Game Loop, Object Pooling, Caching, etc.</li>
<li>Mobile support coming to next version of Flash Builder (don&#8217;t know any details of what this means)</li>
<li>ALL  vector rendering in AIR 2.5 is done via the GPU, which improves  performance on all devices and improves battery life on mobile devices</li>
<li>All  vectors on stage are rendered, regardless of screen position.  i.e. If  you move an object off-screen, it is still iterated over in the  rendering phase, wasting resources.  To improve this, set visible =  false.</li>
<li>A new property called &#8220;cacheAsBitmapMatrix&#8221; is now  available in AIR 2.5, and will be available in the Flash Player in a  near release.  Right now when you set cacheAsBitmap=true, and then scale  or rotate the bitmap, it has to be redrawn.  By setting the  cacheAsBitmapMatrix to a matrix (usually just the identity matrix), you  enable bitmap caching and greatly increase the performance of any redraws  that occur.</li>
<li>Performance  tip:  Do anything you can to prevent redraws (check the redraw regions  to figure out what&#8217;s being redrawn).  Things that force redraws are:  Using the drawing API, changing/moving an object or it&#8217;s children,  removing an object/child, or occluding non-cached objects.</li>
<li>Setting Array/vector.length = 0 is faster than setting array/vector = new Array/Vector</li>
<li>Object instantiation is very expensive, so instead of disposing objects, you can put them back in the pool and reuse them later.</li>
<li>Mouse  events are cheaper than touch events on mobile devices, and single  finger touch events are automatically translated to mouse events.  You  should use these mouse events instead of the touch events to improve  performance.</li>
<li>Avoid using mouse move which is fired really,  REALLY fast, and can cause lots of extra calculations that are made but go unused between frames.  Instead, do your  updates at the framerate by using ENTER_FRAME</li>
<li>In certain  areas where performance is super-important, consider using callbacks  rather than events. Event objects have to be created and propagated, which is expensive.</li>
<li>If you&#8217;re listening to an object that is deeply-nested in the display list, stop its propagation</li>
<li><a href="http://bytearray.org/?p=1363" target="_blank">Bytearray.org/?p=1363</a> &#8211;  A whitepaper called &#8220;Optimizing Performance for the ADOBE® FLASH®  PLATFORM&#8221; (attached), this is the single greatest resource for  performance tweaks I&#8217;ve ever come across.  It validates a lot of the techniques I&#8217;m already applying for game development, and points out a few others to  consider.</li>
</ul>
<p>All in all, the 1st annual FITC SF was a resounding success, and you can bet I&#8217;ll be back next year!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2010/08/21/fitc-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Videos from Flash Camp San Francisco</title>
		<link>http://www.brandondement.com/blog/2010/05/13/videos-from-flash-camp-san-francisco/</link>
		<comments>http://www.brandondement.com/blog/2010/05/13/videos-from-flash-camp-san-francisco/#comments</comments>
		<pubDate>Thu, 13 May 2010 19:40:44 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[cs5]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flash camp]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=113</guid>
		<description><![CDATA[I had the pleasure of visiting Adobe&#8217;s San Francisco office for Flash Camp a couple weeks back.  Coming just on the heels of Apple&#8217;s big 3.3.1 announcement, it was perfect timing to hear Adobe&#8217;s reaction directly from Adobe.  All of the videos are posted online on Adobe TV, but to save you some [...]]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of visiting Adobe&#8217;s San Francisco office for Flash Camp a couple weeks back.  Coming just on the heels of <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler" target="_blank">Apple&#8217;s big 3.3.1 announcement</a>, it was perfect timing to hear Adobe&#8217;s reaction directly from Adobe. <a href="http://tv.adobe.com/show/flash-camp-san-francisco/" target="_blank"> All of the videos are posted online on Adobe TV</a>, but to save you some time, here are my Cliff&#8217;s notes:</p>
<ul>
<li><strong>Open Discussion and Q&amp;Q with David Wahdwani</strong> &#8211; Hear the first reaction directly from the head of the Flash Platform on Apple&#8217;s move</li>
<li><strong>What&#8217;s new in Flash CS5</strong> &#8211; Nothing new if you&#8217;ve been paying attention, lots new if you haven&#8217;t</li>
<li><strong>Using Flash Builder 4 with CS5</strong> &#8211; &#8220;You can edit your code in Flash Builder!  It will ask you if you want to edit your code in Flash Builder!&#8221;</li>
<li><strong>Flash Player 10.1 Internals</strong> &#8211; Must-see for devs, excellent talk about how the player handles low-memory situations and how to develop for them (think: mobile)</li>
<li><strong>Flash Build 4 Tips and Tricks</strong> &#8211; For devs only really, but there&#8217;s definitely a couple tidbits worth noting (like <a href="http://www.brandondement.com/blog/2009/11/24/love-thy-flex-builder-keyboard-shortcuts/" target="_blank">keyboard shortcuts</a>!)</li>
<li><strong>TV &amp; Mobile Design Challenges &amp; Insights</strong> &#8211; &#8220;Make text and hit areas bigger&#8221;  But also gives some concrete recommendations</li>
<li><strong>Desktop and Mobile Development with Adobe Air</strong> &#8211; Adobe officially announced the AIR2 Beta for Android during this preso, talked about what it can do, very exciting</li>
<li><strong>Introduction to Multi-touch in Flash Player 10.1</strong> &#8211; Excellent primer to get you thinking about how to create multi-touch interfaces with Flash on Android</li>
<li><strong>Developer Tips and Tricks for Targeting the Flash Platform</strong> &#8211; Mostly common sense techniques that good developers shouldn&#8217;t be news to any decent developer</li>
<li><strong>Advanced Text Layout with Flash CS5</strong> &#8211; I didn&#8217;t see this session, but the new text layout features are very impressive</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2010/05/13/videos-from-flash-camp-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Formatter Plugin</title>
		<link>http://www.brandondement.com/blog/2010/01/02/flex-formatter-plugin/</link>
		<comments>http://www.brandondement.com/blog/2010/01/02/flex-formatter-plugin/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 23:05:50 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=90</guid>
		<description><![CDATA[Code formatting is the reason for many a jihad between developers all over, and spending any time at all discussing it is a waste of time.  (So should I stop writing here?  No!  There is an answer!  Press on&#8230;)  Unfortunately this is one issue where it&#8217;s impossible to make everyone happy, so you have to [...]]]></description>
			<content:encoded><![CDATA[<p>Code formatting is the reason for many a jihad between developers all over, and spending any time at all discussing it is a <strong>waste</strong> of time.  (So should I stop writing here?  No!  There is an answer!  Press on&#8230;)  Unfortunately this is one issue where it&#8217;s impossible to make everyone happy, so you have to settle for making everyone equally <strong>UN</strong>happy.</p>
<p>A really painless way to do make everyone equally unhappy is to automate the formatting, and that&#8217;s where the amazing little gadget, the Flex Formatter plugin for Flex and Flash Builder comes in.</p>
<p>The plugin adds a few buttons to the toolbar area of Flex Builder.  These buttons are:</p>
<ul>
<li><strong>Generate ASDoc Comments</strong> &#8211; For your whole file!  In one click!</li>
<li><strong>Generate ASDoc Comment</strong> &#8211; For one item (also in one click!)</li>
<li><strong>Format Flex Code</strong> &#8211; Formats your entire MXML file (or selected lines) &#8230;.with one click</li>
<li><strong>Indent Flex Code</strong> &#8211; Not sure why you&#8217;d use this and not just the previous button, it seems to do the same thing</li>
<li><strong>Rearrange AS Code</strong> &#8211; Same as Format Flex Code, but for your AS files</li>
</ul>
<p>To install it, go to &#8220;Help, Software Updates, Find and Install&#8221; and install from the new remote site:</p>
<p>http://flexformatter.googlecode.com/svn/trunk/FlexFormatter/FlexPrettyPrintCommandUpdateSite/</p>
<p>Grant Skinner has a nice post on this, as well as a settings file that he has exported for use: <a href="http://www.gskinner.com/blog/archives/2009/12/indispensable_p.html" target="_blank">http://www.gskinner.com/blog/archives/2009/12/indispensable_p.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2010/01/02/flex-formatter-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Features of Flash CS5 IDE</title>
		<link>http://www.brandondement.com/blog/2009/12/16/new-features-of-flash-cs5-ide/</link>
		<comments>http://www.brandondement.com/blog/2009/12/16/new-features-of-flash-cs5-ide/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 19:17:11 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flash IDE]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=101</guid>
		<description><![CDATA[Today I came across a really nice walkthrough by Lee Brimelow (@leebrimelow) of the Flash CS5 IDE:
 http://gotoandlearn.com/play?id=118
He demos and discusses the features with some detail, or you can read my cliffs notes version below:

Major upgrades to video support in the IDE

Create cuepoints in the IDE 
Play the video while its on the stage 
Manipulate [...]]]></description>
			<content:encoded><![CDATA[<p>Today I came across a really nice walkthrough by Lee Brimelow (<a href="http://twitter.com/leebrimelow" target="_blank">@leebrimelow</a>) of the Flash CS5 IDE:</p>
<p style="text-align: center;"><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"> </span></span><span style="text-decoration: underline;"><a href="http://gotoandlearn.com/play?id=118" target="_blank">http://gotoandlearn.com/play?id=118</a></span></p>
<p>He demos and discusses the features with some detail, or you can read my cliffs notes version below:</p>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Major upgrades to video support in the IDE</span></span>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Create cuepoints in the IDE </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Play the video while its on the stage </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Manipulate the video on the stage while its playing </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">More video player skins </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Live video player skin switching<br />
</span></span></li>
</ul>
</li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Font Embedding Improvements</span></span>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">New Panel UI </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Embedded fonts are globally managed through the new panel<br />
</span></span></li>
</ul>
</li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">XFL Format</span></span>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Replaces FLA format </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">FLA data is contained in multiple XML source files </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Can version control XML files rather than binary FLAs<br />
</span></span></li>
</ul>
</li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">SWF File size History is tracked </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Code Snippets included to implement simple functionality quickly </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Editor now has code hinting and completion for all imported classes (just like Flash Builder) </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Selecting an error in the Compiler Errors brings you to the source </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Tight integration for code editing with Flash Builder </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"> New brushes for Deco tool (Designers will love these) </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">SWFObject2 used as default embedding method (just like Flash Builder) </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">TLF (Text Layout Framework) gives you tons of options for doing awesome things with text</span></span>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">flow text between multiple TextFields, TextAreas </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Multi-column text fields </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Possibly automatically scrollable </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Easier Internationalization, including right to left (Arabic) and vertical (Japanese) </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Highlighting conforms to customized text flow<br />
</span></span></li>
</ul>
</li>
</ul>
<p><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">And a bonus!  Here is a walkthrough of how to export your ActionScript project as a native iPhone application!  <span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://gotoandlearn.com/play?id=116" target="_blank">http://gotoandlearn.com/play?id=116</a></span></span><br />
</span></span></p>
<p><!--EndFragment--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/12/16/new-features-of-flash-cs5-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlexPMD</title>
		<link>http://www.brandondement.com/blog/2009/12/10/flexpmd/</link>
		<comments>http://www.brandondement.com/blog/2009/12/10/flexpmd/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 01:46:08 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex builder]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=106</guid>
		<description><![CDATA[You probably haven&#8217;t heard about FlexPMD.  It&#8217;s an open source plugin from Adobe for Flex or Flash Builder.  You run it against your source code and it alerts you to &#8220;bad smells,&#8221; or potential bad practices, in your code.  These types of tools, from FlexPMD&#8217;s older brother, PMD from the Java world, and &#8220;Lint&#8221; from [...]]]></description>
			<content:encoded><![CDATA[<p>You probably haven&#8217;t heard about FlexPMD.  It&#8217;s an open source plugin from Adobe for Flex or Flash Builder.  You run it against your source code and it alerts you to &#8220;bad smells,&#8221; or potential bad practices, in your code.  These types of tools, from FlexPMD&#8217;s older brother, PMD from the Java world, and &#8220;Lint&#8221; from the C world have been around for a long time, checking over the shoulders of developers, and frustrating computer science students who are required to compile with no lint warnings.  (All my programming homework in college had this requirement, ugh!)</p>
<p>I ran FlexPMD against the source code for brandondement.com and was really impressed with the results.  Some of the results were of the &#8220;I don&#8217;t care about that&#8221; variety, but Flex PMD can be configured to ignore those, and many more were in the &#8220;Oh really?  You&#8217;re right!&#8221; category.  I&#8217;ve only just begun to use it, but even then I would highly recommend it for anyone who&#8217;s committed to becoming a better programmer.  More information about installation and use can be found at:</p>
<p style="text-align: center;"><a href="http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin" target="_blank">http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/12/10/flexpmd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Love Thy Flex Builder Keyboard Shortcuts</title>
		<link>http://www.brandondement.com/blog/2009/11/24/love-thy-flex-builder-keyboard-shortcuts/</link>
		<comments>http://www.brandondement.com/blog/2009/11/24/love-thy-flex-builder-keyboard-shortcuts/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 01:42:25 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex builder]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=84</guid>
		<description><![CDATA[It never ceases to amaze me how after all the time I spend using Adobe’s tools, they always have a few more features that I’m not using but should be. So every now and then I go brush up on the keyboard shortcuts in Flex Builder, so here are a few highlights (Command = CTRL [...]]]></description>
			<content:encoded><![CDATA[<p><!--StartFragment--><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">It never ceases to amaze me how after all the time I spend using Adobe’s tools, they always have a few more features that I’m not using but should be. So every now and then I go brush up on the keyboard shortcuts in Flex Builder, so here are a few highlights (Command = CTRL if you’re on Windows):<br />
</span></span></p>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>CTRL + 0 (even on Mac)</strong> &#8211; Quick Outline.  Hit this, then start typing to jump right to any variable or method definition in the class </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Shift + Command + R</strong> – Open Resource.  Hit this, then start typing any file name to open it.  Works on all file types in your project </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Command + L </strong>– Go To Line.  Opens a dialog where you type in a line number </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Shift + Command + C</strong> – Puts a block comment around the selected text<br />
</span></span></li>
</ul>
<p><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Strangely there doesn’t seem to be a definitive guide to shortcuts in FB, even the LiveDocs look rather incomplete:</span></span></p>
<p><a href="http://livedocs.adobe.com/flex/3/html/help.html?content=code_editor_9.html">http://livedocs.adobe.com/flex/3/html/help.html?content=code_editor_9.html</a></p>
<p>But a search for “flex builder keyboard shortcuts” returns results from tons of blogs.  Here are a few more gems that weren’t in the LiveDocs:</p>
<ul>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Command + D</strong> – Deletes a line </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Command + /</strong> &#8211; Comment/Uncomment a line </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Shift + Command + D</strong> – Inserts an ASDoc-style comment, including parameter and return declarations! </span></span></li>
<li><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;"><strong>Shift + Command + L</strong> – Opens an outline of all the keyboard shortcuts available<br />
</span></span></li>
</ul>
<p><span style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;">Also, if any of these don’t suit you, you can always go change them!  In the main menu, click Flex Builder -&gt; Preferences -&gt; General -&gt; Keys (or just type “Keys” in the filter).  Coincidentally, <strong>this </strong>is the most definitive list I could find.</span></span></p>
<p>What keyboard shortcuts do you use that you can&#8217;t live without?</p>
<p><!--EndFragment--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/11/24/love-thy-flex-builder-keyboard-shortcuts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>#FollowFriday Flash Edition</title>
		<link>http://www.brandondement.com/blog/2009/11/20/followfriday-flash-edition/</link>
		<comments>http://www.brandondement.com/blog/2009/11/20/followfriday-flash-edition/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 18:57:53 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=80</guid>
		<description><![CDATA[Twitter has quickly become the best source of up to date information about our beloved technology, Flash.  If you’re on Twitter already, here are a few things you might be interested in.  If you’re not on Twitter, here are a few links that should be enough to convince you why you should be!
If [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter has quickly become the best source of up to date information about our beloved technology, Flash.  If you’re on Twitter already, here are a few things you might be interested in.  If you’re <strong>not</strong> on Twitter, here are a few links that should be enough to convince you why you <strong>should</strong> be!</p>
<p>If you have any more suggestions, please share in the comments!</p>
<p><a href="https://twitter.com/InsideRIA" target="_blank">https://twitter.com/InsideRIA</a><br />
InsideRIA.com is a community site from O&#8217;Reilly and Adobe for Rich Internet Application development and design.</p>
<p><a href="https://twitter.com/CreativeTweet" target="_blank">https://twitter.com/CreativeTweet</a><br />
A prolific tweeter who posts random but useful tips, tutorials, and links relevant to Flash and the rest of the Adobe Creative Suite</p>
<p><a href="http://listorious.com/Adobe/adobe-evangelists" target="_blank">http://listorious.com/Adobe/adobe-evangelists</a><br />
A list of Adobe Flash Platform Evangelists, most post great links and info</p>
<p><a href="http://listorious.com/pixelhandler/flash" target="_blank">http://listorious.com/pixelhandler/flash</a><br />
A hand-picked list of people who post about Flash, overlaps somewhat with the evangelists list</p>
<p><a href="https://twitter.com/adobeflash" target="_blank">https://twitter.com/adobeflash</a><br />
The PR face of Flash.  Rarely posts about tech stuff, but if you want to ask a question or have a comment, they’re a good starting place</p>
<p><a href="https://twitter.com/gskinner" target="_blank">https://twitter.com/gskinner</a><br />
Probably the most well known Flash developer in the world.  Ranked “Most Influential” in the ActionScript category by http://wefollow.com/twitter/actionscript</p>
<p><a href="https://twitter.com/fwa" target="_blank">https://twitter.com/fwa</a><br />
Cutting edge website award news, inspiration, latest trends and more from FWA (Favourite Website Awards) founder, Rob Ford.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/11/20/followfriday-flash-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Player 10.1 Beta Released</title>
		<link>http://www.brandondement.com/blog/2009/11/17/flash-player-10-1-beta-released/</link>
		<comments>http://www.brandondement.com/blog/2009/11/17/flash-player-10-1-beta-released/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:58:30 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=76</guid>
		<description><![CDATA[Adobe has released betas for both Flash Player 10.1 and AIR 2.0 today!  With this release, the Flash platform now fully supports the Open Screen Project.  Earlier this year Adobe announced that they were working with TV manufacturers to get the Flash Player onto a chip that will be embedded in the next [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe has released betas for both Flash Player 10.1 and AIR 2.0 today!  With this release, the Flash platform now fully supports the Open Screen Project.  Earlier this year Adobe announced that they were working with TV manufacturers to get the Flash Player onto a chip that will be embedded in the next generation of TVs, and with this release of the Flash player, they’re addressing the needs of mobile devices.  Here are some highlights:</p>
<ul>
<li>H.264 hardware acceleration</li>
<li>Multi-touch</li>
<li>Gestural and other mobile input models</li>
<li>Accelerometer, Screen Orientation, Sleep Mode, and other common mobile device feature support</li>
</ul>
<p>The best read for the details are the Release Notes, which cut through the marketing fluff and get right to the point<br />
<a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.pdf" target="_blank">http://labs.adobe.com/technologies/flashplayer10/releasenotes.pdf</a></p>
<p>Official Release Page<br />
<a href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">http://labs.adobe.com/technologies/flashplayer10/</a></p>
<p>Fluffy Marketing Press Release:<br />
<a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509AFPforMobileDevicesandPCs.html " target="_blank">http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509AFPforMobileDevicesandPCs.html </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/11/17/flash-player-10-1-beta-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Developer&#8217;s Cycle: Code, Test, Refactor</title>
		<link>http://www.brandondement.com/blog/2009/11/10/the-developers-cycle-code-test-refactor/</link>
		<comments>http://www.brandondement.com/blog/2009/11/10/the-developers-cycle-code-test-refactor/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 00:14:30 +0000</pubDate>
		<dc:creator>Brandon</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.brandondement.com/blog/?p=66</guid>
		<description><![CDATA[Most developers code, test until the code works, and then continue coding, happy that they&#8217;re so good and successful at their job.  When working this way, the split between coding and testing is roughly 50/50 for more junior developers, and trending towards 75/25 for more seasoned pros.  But when working this way, you lose the [...]]]></description>
			<content:encoded><![CDATA[<p>Most developers code, test until the code works, and then continue coding, happy that they&#8217;re so good and successful at their job.  When working this way, the split between coding and testing is roughly 50/50 for more junior developers, and trending towards 75/25 for more seasoned pros.  But when working this way, you lose the most valuable opportunity you have to better yourself and your work. Would you turn in a paper without proof reading it first?  Of course not!  When I work, I try to allocate 20% of the time I&#8217;m given for an assignment to planning and architecture, 60% for actually writing and testing code, and the final 20% to cleaning up the huge mess I made along the way, aka refactoring.  That&#8217;s it kids, the word of the day is &#8220;re-fac-tor-ing.&#8221;</p>
<p><a title="Wikipedia: Code Refactoring" href="http://en.wikipedia.org/wiki/Code_refactoring" target="_blank">Refactoring</a> means taking a chunk of <strong>already working code</strong>, and making it &#8220;better.&#8221; It&#8217;s vitally important that the code already works, otherwise you&#8217;re still developing.  &#8220;Better&#8221; can mean lots of things, from more efficient to more readable, but when talking about refactoring, we&#8217;re mostly talking about more readable, which has trickle down effects making it more efficient.  <strong>The important thing is that you take the time to read what you just wrote. </strong>Like taking notes in class, if you can&#8217;t even read what you wrote the day before, how is anyone else supposed to?  Most of the time developers <strong>can</strong> read what <strong>they</strong> wrote, but not what anyone else wrote, which is the biggest problem that refactoring attempts to solve.</p>
<p>When refactoring, you should look for ways to simplify your code, making it more readable and maintainable.  Here are a few questions to ask yourself:</p>
<p><strong>Is this code still used?</strong></p>
<p>If it&#8217;s not, <strong>don&#8217;t comment it out, delete it! </strong>Version control can always resurrect it if needed, and you&#8217;ll be removing one potential point of confusion for someone maintaining your code down the line.</p>
<p><strong>Is my code documented?</strong></p>
<p>At a minimum you should have inline comments that provide a narrative of what the code block below is doing.  That&#8217;s usually enough for leaf classes that aren&#8217;t meant to be subclassed and are used sparingly.  As code becomes more reused, eventually becoming a library, it should have more complete documentation, like ASDocs.</p>
<p><strong>Do my package, class, function, constant, and variable names still make sense? </strong></p>
<p>This is huge. Names should have an instantly understandable and useful meaning to the human who&#8217;s reading your code.  Don&#8217;t be afraid to have names that are long, but look for ways to shorten the really, really long ones too.  Use that vocabulary, smart guy!  Flex Builder has a very nice feature called &#8220;Rename&#8221; that&#8217;s in the &#8220;Refactor&#8221; menu when you right click a name that is effective at making renaming a trivial task.</p>
<p><strong>Is my code well formatted?</strong></p>
<p>Telling developers where to put whitespace and line breaks is probably the most surefire way to make them secretly hate you.  But you, as a developer, should take pride in your craft and make an effort in making your code at least consistent.  If you write a function with 30 unbroken lines of code, it makes it difficult for someone else to scan what&#8217;s going on.  Sprinkle some line breaks and inline comments in there to logically chunk it up, and you&#8217;ve instantly saved your company time and money in the future.  By the way, Adobe publishes <a title="Adobe Flex Coding Standards" href="http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions" target="_blank">coding standards</a> that their developers are supposed to follow when writing code for the Flex SDKs.  Does every line of the latest SDK conform to those standards?  No way!  But you can see that the developers make an attempt to make their code readable.</p>
<p><strong>And finally&#8230; </strong></p>
<p>Is there a simpler way to do this?  Is there a better algorithm?  Is there a function or library for this already?  Are my objects properly encapsulated and loosely coupled?  The answers to these questions will get easier for you to answer in time, but the fact that you&#8217;re asking them of yourself has already put you on the right path.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brandondement.com/blog/2009/11/10/the-developers-cycle-code-test-refactor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
