<?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>DavidTucker.net</title>
	<atom:link href="http://www.davidtucker.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidtucker.net</link>
	<description>web development goodness</description>
	<lastBuildDate>Tue, 08 Dec 2009 17:45:29 +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>Articles on ORM for the AIR Developer</title>
		<link>http://www.davidtucker.net/2009/12/08/articles-on-orm-for-the-air-developer/</link>
		<comments>http://www.davidtucker.net/2009/12/08/articles-on-orm-for-the-air-developer/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:45:29 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=577</guid>
		<description><![CDATA[I recently completed a two-part series entitled &#8216;Object Relational Mapping for the AIR Developer&#8217; in the Adobe Edge newsletter.  This two part series will help any AIR developer get going with FlexORM (which is an open source ORM solution for Adobe AIR).  This series also covers many of the basics of ORM in [...]]]></description>
			<content:encoded><![CDATA[<p>I recently completed a two-part series entitled &#8216;Object Relational Mapping for the AIR Developer&#8217; in the <a href="http://www.adobe.com/newsletters/edge/" target="_blank">Adobe Edge</a> newsletter.  This two part series will help any AIR developer get going with FlexORM (which is an open source ORM solution for Adobe AIR).  This series also covers many of the basics of ORM in general including complex relationship types, cascading, lazy loading, and more.  I hope you find it helpful!</p>
<ul>
<li>Adobe Edge: <a href="http://www.adobe.com/newsletters/edge/october2009/articles/article7/index.html?trackingid=EXBII" target="_blank">Object Relational Mapping for the AIR Developer &#8211; Part 1</a></li>
<li>Adobe Edge: <a href="http://www.adobe.com/newsletters/edge/december2009/articles/article7/index.html?trackingid=FBTRW" target="_blank">Object Relational Mapping for the AIR Developer &#8211; Part 2</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/12/08/articles-on-orm-for-the-air-developer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Get a ColdFusion 8 License for Cheap</title>
		<link>http://www.davidtucker.net/2009/12/01/get-a-coldfusion-8-license-for-cheap/</link>
		<comments>http://www.davidtucker.net/2009/12/01/get-a-coldfusion-8-license-for-cheap/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:38:46 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=575</guid>
		<description><![CDATA[I am in the process of moving all of my servers to ColdFusion 9 Standard.  That being said, I have an old ColdFusion 8 Standard license that I am currently selling on Ebay.  I paid full price for this license ($1299) last year, and I can truly say that it was worth every [...]]]></description>
			<content:encoded><![CDATA[<p>I am in the process of moving all of my servers to ColdFusion 9 Standard.  That being said, I have an old ColdFusion 8 Standard license that I am <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#038;item=330382380250" target="_blank">currently selling on Ebay</a>.  I paid full price for this license ($1299) last year, and I can truly say that it was worth every penny.  I know that many developers find the price of ColdFusion a roadblock to building client projects on CF, but hopefully this can help a lucky CF developer get rolling with a license for cheap.  The starting bid is at $450 (and there is no reserve).  You can use &#8216;Buy it Now&#8217; for $750.  I hope this helps someone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/12/01/get-a-coldfusion-8-license-for-cheap/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ORM for AIR Presentation Notes from RIA Unleashed</title>
		<link>http://www.davidtucker.net/2009/11/13/orm-for-air-presentation-notes-from-ria-unleashed/</link>
		<comments>http://www.davidtucker.net/2009/11/13/orm-for-air-presentation-notes-from-ria-unleashed/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 01:22:55 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=570</guid>
		<description><![CDATA[First, I would be remiss if I didn&#8217;t say that Brian Rinaldi put on a great event in Boston!  Unfortunately I missed the keynote and morning sessions because I had to do some client work, but everything seemed well organized.  I was also greatly impressed with the attendees at my session.  They [...]]]></description>
			<content:encoded><![CDATA[<p>First, I would be remiss if I didn&#8217;t say that Brian Rinaldi put on a great event in Boston!  Unfortunately I missed the keynote and morning sessions because I had to do some client work, but everything seemed well organized.  I was also greatly impressed with the attendees at my session.  They asked some great questions &#8211; and gave some good feedback.</p>
<h4>Slides, Code Samples, and Resources</h4>
<p>This particular session doesn&#8217;t have a great deal of slides &#8211; but, if they are helpful, I have included them here:</p>
<ul>
<li>Slides: <a href="http://davidtucker.net/presentationFiles/ORMforAIRDevelopers-Boston.pdf" target="_blank">ORM for AIR</a> &#8211; PDF (953 kb)</li>
</ul>
<p>I also presented two sample FlexORM applications.  The first example uses a single VO with no complex relationships.  The second uses some complex relationships to demonstrate how FlexORM stores data across tables.  These two applications were created for a series I did in the Adobe Edge newsletter (which I will link to below).  Only the first of these articles has been published yet (as of 11/13/09):</p>
<ul>
<li>Article: <a href="http://www.adobe.com/newsletters/edge/october2009/articles/article7/index.html" target="_blank">Object Relational Mapping for the AIR Developer</a></li>
<li>Source Code: <a href="http://davidtucker.net/presentationFiles/FlexORMExamples.zip" target="_blank">Both FlexORM Examples</a> &#8211; ZIP (1.46 mb)</li>
</ul>
<p>I am actually not releasing the code for the example with the CF9 AIR ORM just yet.  I am still working on the primary key generation part of the &#8216;wrapper&#8217; I referred to.  I will let you guys know (here on the blog) when everything is ready.  You can speed up the process for voting for the following bug: <a href="http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=80681" target="_blank">http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=80681</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/11/13/orm-for-air-presentation-notes-from-ria-unleashed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Current State of Flex Frameworks</title>
		<link>http://www.davidtucker.net/2009/10/13/the-current-state-of-flex-frameworks/</link>
		<comments>http://www.davidtucker.net/2009/10/13/the-current-state-of-flex-frameworks/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:24:33 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Mate]]></category>
		<category><![CDATA[Swiz]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=547</guid>
		<description><![CDATA[At most of the conferences I attend &#8211; people come up to me to discuss Cairngorm.  Many of them have learned from my tutorials.  I am glad that the videos have been helpful to so many (and the daily views still astound me).  However, these videos were created by me over two [...]]]></description>
			<content:encoded><![CDATA[<p>At most of the conferences I attend &#8211; people come up to me to discuss <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" target="_blank">Cairngorm</a>.  Many of them have learned from <a href="http://www.davidtucker.net/category/cairngorm/" target="_blank">my tutorials</a>.  I am glad that the videos have been helpful to so many (and the daily views still astound me).  However, these videos were created by me over two years ago (almost to the day).  <strong>In reality, a lot has happened in the last two years &#8211; and I want to give more insight into my current frameworks choices.</strong></p>
<p><span id="more-547"></span></p>
<h4>First Generation Flex Frameworks</h4>
<p>First, I want to state that the Flex landscape has evolved a great deal in the last two years.  In reality, Cairngorm was an attempt to take design patterns from other languages and make them fit well into Flex.  For the most part it succeeded, but it didn&#8217;t solve all of the problems (and in reality &#8211; it created a few more).  With that stated, we generally refer to Cairngorm as a <em>first-generation Flex framework</em>.</p>
<p>I could go into further detail here &#8211; but, at this point I&#8217;ll move ahead.</p>
<h4>Second Generation Flex Frameworks</h4>
<p>Since then, several frameworks have been created that were written specifically for Flex &#8211; and specifically to solve the problems that occur in Flex development.  These frameworks were crafted by Flex developers (as opposed to Java developers who started to work in Flex).  Because of this, these frameworks solve problems in a way that makes sense for Flex.  <strong>My two favorite examples of second generation frameworks (and the two I use on projects currently) are <a href="http://code.google.com/p/swizframework/" target="_blank">Swiz</a> and <a href="http://mate.asfusion.com/" target="_blank">Mate</a></strong>.  </p>
<p>These two frameworks solve problems in different ways, but they both work well.  One of my Universal Mind colleagues, <a href="http://www.darronschall.com/weblog/" target="_blank">Darron Schall</a>, recently posted <a href="http://www.darronschall.com/weblog/2009/10/mate-vs-swiz.cfm" target="_blank">some slides that give a comparison of the two frameworks</a>.  These slides can hopefully assist those of you evaluating these two frameworks so that you can understand the strengths and weaknesses of each option.  <em>Darron is also the first person I heard use the first/second generation framework terminology.</em></p>
<h4>How Do I Learn?</h4>
<p>Learning a new framework can be daunting (especially if you haven&#8217;t worked with a framework before).  I think this is reason my Cairngorm videos were so popular.  Because of this, <strong>I am starting the process of producing a similar video series for Swiz.</strong>  I am extremely busy &#8211; so, I cannot predict when these will be completed.  However, I am going to start working on the code examples this week (that is the easy part &#8211; the videos and the articles take a good deal of time).  That being said &#8211; if you have specific items you want me to address &#8211; let me know.</p>
<p>I don&#8217;t have any plans to develop a video series for Mate yet &#8211; but, we&#8217;ll see how things go with the Swiz series.  One of the reasons I am covering Swiz first &#8211; is that the Mate project has <a href="http://mate.asfusion.com/" target="_blank">great documentation</a> (which makes it easier for new developers to jump into it).  The Swiz team is currently working on their documentation &#8211; and hopefully this series can be a part of that.</p>
<h4>But What About Cairngorm 3?</h4>
<p>Undoubtedly, many developers feel that they are expected to migrate to Cairngorm 3 as it is the &#8216;official&#8217; framework.  I would advise against this, mainly because of the architecture it implements.  In reality, it is a collection of techniques taken from other frameworks &#8211; and yet again, it doesn&#8217;t solve all of the problems that Flex developers will encounter.</p>
<p>Development rate and development communities are also extremely important when it comes to a framework.  The other established frameworks (such as Mate and Swiz) are further along in development, and have some great plans for the future.  Both Mate and Swiz also have vibrant development communities which are eager to assist developers.  I think the Adobe Consulting team has shown that Cairngorm development will be slow and official support will be non-existent.</p>
<h4>Summary</h4>
<p>I want to be clear on one thing &#8211; if you (and your team) know Cairngorm, there is no immediate need to stop using Cairngorm.  It still serves as a great framework for teams.  <strong>I would advise teams to NOT work with the new Cairngorm 3 framework</strong> (which in reality is just a collection of techniques taken from other frameworks).  I would recommend that as your teams investigate new techniques &#8211; that you move toward Swiz and Mate (second-generation Flex frameworks).</p>
<h4>Additional Frameworks</h4>
<p>In reality, these aren&#8217;t the only second generation Flex frameworks.  I have chosen Mate and Swiz for a specific reason &#8211; but, if you want to investigate the other options, you can check out the following frameworks:</p>
<ul>
<li><a href="http://puremvc.org/" target="_blank">PureMVC</a></li>
<li><a href="http://wiki.github.com/darscan/robotlegs" target="_blank">RobotLegs</a></li>
<li><a href="http://www.spicefactory.org/parsley/" target="_blank">Parsley</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/10/13/the-current-state-of-flex-frameworks/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Colorado Growth Model and the Max Awards</title>
		<link>http://www.davidtucker.net/2009/09/30/colorado-growth-model-and-the-max-awards/</link>
		<comments>http://www.davidtucker.net/2009/09/30/colorado-growth-model-and-the-max-awards/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 20:58:39 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[Adobe Max 2009]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=534</guid>
		<description><![CDATA[This year one of the projects I worked on at Universal Mind, the Colorado Growth Model is a Max Awards finalist.  This application is really ground-breaking in the way that it connects parents directly to their school&#8217;s performance data.  A parent can very easily use the application and see how their child&#8217;s middle [...]]]></description>
			<content:encoded><![CDATA[<p>This year one of the projects I worked on at Universal Mind, the Colorado Growth Model is a Max Awards finalist.  This application is really ground-breaking in the way that it connects parents directly to their school&#8217;s performance data.  A parent can very easily use the application and see how their child&#8217;s middle school compares against charter schools in Denver, or how the nearest elementary school compares with other elementary schools in the district.  The possibilities are almost endless.</p>
<p><span id="more-534"></span></p>
<p> I have provided a preview of the application below as well as a link where you can go to vote for this application in the 2009 Adobe Max Awards directly.  Vote early &#8211; and you can vote as many times as you&#8217;d like (this year Adobe has said that there is no limit on voting!).</p>
<p><em>[<strong>UPDATE:</strong> Thanks to all who voted.  While this application didn't win - it was truly an honor to be among the finalists.  I am always amazed at the great applications that the Adobe development community comes up with.]</em></p>
<h4>Video Sample</h4>
<p><object width="643" height="482"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6838806&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6838806&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="643" height="482"></embed></object>
<p><a href="http://vimeo.com/6838806">Colorado Growth Model</a> from <a href="http://vimeo.com/user467061">David Tucker</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/09/30/colorado-growth-model-and-the-max-awards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come Learn about CF9 with Flex and AIR at Adobe Max 2009</title>
		<link>http://www.davidtucker.net/2009/09/24/come-learn-about-cf9-with-flex-and-air-at-adobe-max-2009/</link>
		<comments>http://www.davidtucker.net/2009/09/24/come-learn-about-cf9-with-flex-and-air-at-adobe-max-2009/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:26:48 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Adobe Max 2009]]></category>
		<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=529</guid>
		<description><![CDATA[
I must admit that my session is going to be pretty awesome.  While some people get to speak for an hour &#8211; or maybe an hour and a half, I will be speaking for 8 hours (with some breaks of course).  I will be presenting on Building ColdFusion Powered Flex and AIR Applications [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 10px;padding-bottom: 10px;"><a href="http://max.adobe.com/?sdid=ERZUY"><img src="http://assets.max.adobe.com/images/MAX09_140x130_speaker.jpg" width="140" height="130" /></a></div>
<p>I must admit that my session is going to be pretty awesome.  While some people get to speak for an hour &#8211; or maybe an hour and a half, I will be speaking for 8 hours (with some breaks of course).  I will be presenting on Building ColdFusion Powered Flex and AIR Applications (see all of the labs <a href="http://max.adobe.com/sessions/labs/" target="_blank">here</a>).  While the preconference sessions are an extra cost ($595), you get an entire day of training from some amazing developers.  If you look around at rates for a one-day training, you will see that this is a huge bargain.  Normal sessions give you a taste of certain functionality, but at a preconference lab you can really learn it and take it back to your job.</p>
<p>In my session you can be sure that I will be covering:</p>
<ul>
<li>Utilizing the new Data-Centric Development Features in Flash Builder 4 (with ColdFusion)</li>
<li>Working with the Proxy ActionScript classes that were introduced in ColdFusion 9</li>
<li>Configuring and Using the ColdFusion 9 AIR Offline Sync functionality</li>
<li>Working with ColdFusion Builder and configuring it to work with your development server</li>
<li>Defining a Complex Domain Model using the new Hibernate ORM Support in ColdFusion 9</li>
<li>Using the Hibernate ORM and its ColdFusion Builder Extension to create remote CRUD services</li>
<li>Creating new Script-style CFC&#8217;s (with annotations)</li>
</ul>
<p>All in all &#8211; you won&#8217;t want to miss this session!  If you have any questions &#8211; feel free to leave a comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/09/24/come-learn-about-cf9-with-flex-and-air-at-adobe-max-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick CF9 Remoting Tip</title>
		<link>http://www.davidtucker.net/2009/08/20/quick-cf9-remoting-tip/</link>
		<comments>http://www.davidtucker.net/2009/08/20/quick-cf9-remoting-tip/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 13:02:29 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=526</guid>
		<description><![CDATA[I was working with a CF9 + Flex 4 example last night.  This was a new installation of CF9 - and I hadn't tweaked any of the remoting settings at all (more on that in a bit).  I was setting up a data paging example - and noticed that the Flex application was [...]]]></description>
			<content:encoded><![CDATA[<p>I was working with a CF9 + Flex 4 example last night.  This was a new installation of CF9 - and I hadn't tweaked any of the remoting settings at all (more on that in a bit).  I was setting up a data paging example - and noticed that the Flex application was going crazy.  From the network monitor I noticed that it was making continuous calls - and eventually caused the application to hang.  After further analysis in the network monitor, I determined that Flex was receiving the objects back from ColdFusion - but they didn't contain any data.  I hadn't seen this issue before.</p>
<p>After rummaging through the remoting config files, I discovered the issue.  My bean CFC was using ColdFusion 9's new implicit getters/setters.  To get this to work properly, you have to change a setting in the remoting config( specifically in <strong>services-config.xml</strong>): </p>
<div class="igBar"><span id="lxml-2"><a href="#" onclick="javascript:showPlainTxt('xml-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-2">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;use</span>-accessors<span style="font-weight: bold; color: black;">&gt;</span></span>true<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/use</span>-accessors<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;use</span>-implicit-accessors<span style="font-weight: bold; color: black;">&gt;</span></span>true<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/use</span>-implicit-accessors<span style="font-weight: bold; color: black;">&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>By setting <code>use-implicit-accessors</code> to true, ColdFusion then uses the new implicit getters and setters in CF9 for your remoting calls.  With that quick fix (and a restart) everything was working perfectly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/08/20/quick-cf9-remoting-tip/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash Camp Atlanta &#8211; Right Around the Corner</title>
		<link>http://www.davidtucker.net/2009/08/14/flash-camp-atlanta-right-around-the-corner/</link>
		<comments>http://www.davidtucker.net/2009/08/14/flash-camp-atlanta-right-around-the-corner/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 12:52:38 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=518</guid>
		<description><![CDATA[We are now only two weeks away from Flash Camp Atlanta!  We have some amazing speakers lined up including names like: Ben Stucki, Jesse Warden, Greg Wilson (Adobe), Christian Saylor, Carl Smith, Lief Wells, and more... You will certainly want to be at this event.
ORM for the AIR Developer
I will be speaking on ORM [...]]]></description>
			<content:encoded><![CDATA[<p>We are now only two weeks away from <a href="http://www.flashcampatlanta.com/" target="_blank">Flash Camp Atlanta</a>!  We have some amazing speakers lined up including names like: Ben Stucki, Jesse Warden, Greg Wilson (Adobe), Christian Saylor, Carl Smith, Lief Wells, and more... You will certainly want to be at this event.</p>
<h5>ORM for the AIR Developer</h5>
<p>I will be speaking on <strong>ORM for the AIR Developer</strong> at Flash Camp Atlanta.  I will be covering the different solutions that are available today - and how to develop and work with an actual domain model for your AIR application.  Let me know if you have any questions on using an ORM solution - and I will be sure to cover them in my session.</p>
<div><a href="http://www.flashcampatlanta.com/" target="_blank"><br />
<img src="http://s3.davidtucker.net/flash_camp_atlanta-350.png" width="350" border="0" /><br />
</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/08/14/flash-camp-atlanta-right-around-the-corner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AIR 1.5 Cookbook Available for Kindle</title>
		<link>http://www.davidtucker.net/2009/06/30/adobe-air-1-5-cookbook-available-for-kindle/</link>
		<comments>http://www.davidtucker.net/2009/06/30/adobe-air-1-5-cookbook-available-for-kindle/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 17:24:18 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=510</guid>
		<description><![CDATA[
The Adobe AIR 1.5 Cookbook from O'Reilly is now available for the Kindle.  This book is great for anyone from beginning to advanced and covers Flex, Flash, and JavaScript/HTML AIR development:
The hands-on recipes in this cookbook help you solve a variety of tasks and scenarios often encountered when using Adobe AIR to build Rich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.amazon.com/dp/B0028N4W42?tag=davidtunet-20&#038;camp=0&#038;creative=0&#038;linkCode=as4&#038;creativeASIN=B0028N4W42&#038;adid=0SD40ZPZGDD2YQJ7V6FB&#038;" target="_blank"><img alt="" src="http://ecx.images-amazon.com/images/I/51roHztgTQL._SL500_AA246_PIkin2,BottomRight,-1,34_AA280_SH20_OU01_.jpg" title="Adobe AIR 1.5 Cookbook Kindle Edition" class="alignright" width="280" height="280" border="0" /></a></p>
<p>The <a href="https://www.amazon.com/dp/B0028N4W42?tag=davidtunet-20&#038;camp=0&#038;creative=0&#038;linkCode=as4&#038;creativeASIN=B0028N4W42&#038;adid=0RVJKCE61X5CXPDN4BXP&#038;" target="_blank">Adobe AIR 1.5 Cookbook</a> from O'Reilly is now available for the <a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_84549771_1?pf_rd_m=ATVPDKIKX0DER&#038;pf_rd_s=center-1&#038;pf_rd_r=04AT3W34X7JYT07JFPSC&#038;pf_rd_t=101&#038;pf_rd_p=482492931&#038;pf_rd_i=507846" target="_blank">Kindle</a>.  This book is great for anyone from beginning to advanced and covers Flex, Flash, and JavaScript/HTML AIR development:</p>
<blockquote><p>The hands-on recipes in this cookbook help you solve a variety of tasks and scenarios often encountered when using Adobe AIR to build Rich Internet Applications for the desktop. Thoroughly vetted by Adobe's AIR development team, Adobe AIR 1.5 Cookbook addresses fundamentals, best practices, and more. If you want to learn the nuances of Adobe AIR to build innovative applications, this is the book you've been waiting for.</p></blockquote>
<p>As you might guess, I am a bit biased - but, I think this book is the best source of AIR recipes available today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/06/30/adobe-air-1-5-cookbook-available-for-kindle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>An Honest Open Discussion on Web Standards and HTML 5</title>
		<link>http://www.davidtucker.net/2009/06/19/an-honest-open-discussion-on-web-standards-and-html-5/</link>
		<comments>http://www.davidtucker.net/2009/06/19/an-honest-open-discussion-on-web-standards-and-html-5/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 15:40:21 +0000</pubDate>
		<dc:creator>David Tucker</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.davidtucker.net/?p=467</guid>
		<description><![CDATA[If you monitor the web, you likely think that the Flash Player and Silverlight are on life support, and that HTML5 is rapidly changing what is possible on the web.  In reality, many people who are commenting on HTML5 don't fully understand the current landscape.  Did you know that HTML5 editor Ian Hickson [...]]]></description>
			<content:encoded><![CDATA[<p>If you monitor the web, you likely think that the Flash Player and Silverlight are on life support, and that HTML5 is rapidly changing what is possible on the web.  In reality, many people who are commenting on HTML5 don't fully understand the current landscape.  Did you know that HTML5 editor Ian Hickson stated that HTML5 won't fully be implemented in all browsers until 2022?  Did you know that iPhone developers can start fully using HTML5 now?  Did you know that all features in HTML5 were originally from web plugins?  Did you know that Google uses a web plugin for Google Wave?</p>
<p>We need an open honest discussion about HTML5 and what it means for the web.  Unfortunately, you aren't going to get the truth from fanatics on either side, but instead we all need to examine all of the evidence and come to our own conclusions.  I have spent a great deal of time analyzing the facts, and in the process I have made several observations.</p>
<p><span id="more-467"></span></p>
<blockquote><p><strong>DISCLAIMER:</strong> In full disclosure, I must mention that currently I am Flash Platform developer (primarily Flex/AIR).  I also write a regular column for the <a href="http://www.adobe.com/devnet/ria/newsletter/" target="_blank">Adobe NewsFlash newsletter</a>.  However, before I became a full-time Flash Platform developer, I was a traditional web developer who spent all day dealing with HTML, CSS, JavaScript, and PHP.  I feel that I have an understanding of both sides of the discussion (but obviously am open to any input anyone has on the matter).</p></blockquote>
<h4>The Present</h4>
<p>After much effort by many dedicated developers, <a href="http://en.wikipedia.org/wiki/HTML_5" target="_blank">HTML5</a> is just about ready for prime time.  This process started about a decade ago, and gone through many iterations.  Today, HTML5 is available and ready to go on a few platforms/browsers.  However, not all browsers implement all of the standards, and some browsers haven't even announced when they expect to have full HTML5 support<sup><a href="#foot6">6</a></sup>.  In reality, version 3 of the iPhone OS is the only solid platform that has full HTML5 support (as well as some other fixed development platforms).  What does this mean for developers?  It means that HTML5 is still very much in the future (and not the present) for a majority of developers.</p>
<p>I was struck when reading Jeff Croft's posting, <a href="http://jeffcroft.com/blog/2008/sep/11/two-thousand-twenty-two/" target="_blank">Two Thousand and Twenty-Two</a>, last September.  It shed a lot of light on the frustration many developers are having with web standards as a whole.  While, I haven't even talked with Jeff directly, I have always been a fan of his work.  After learning of the bleak timeline<sup><a href="#foot1">1</a></sup> put forth for full HTML 5 browser adoption, Jeff stated:  <em>"it ultimately doesn’t matter if HTML 5 is available next month, next year, or fifty years from now. Those of us who do real work in this industry know that the only thing that really matters is what specs and technologies are supported by the browsers real people use".</em></p>
<p><strong>Developers who have to build solutions for clients don't care about the theoretical, they care about the reality</strong>.  On that same vein, a solution is not a solution if it only applies to 10% of the target audience.  It isn't a solution if only applies to 90% (and leaves out 10%).  Clients want sites/applications that work well for every member of the target audience - and they want it today.  This brings me to my first observation:</p>
<blockquote><p><strong>Observation 1:</strong> Developers won't be able to use HTML 5 in solutions they build for their clients (unless they are on a fixed-platform as described above) until at least 2014.  For full HTML 5 functionality, this will be much later even than this.<sup><a href="#foot1">1</a></sup></p></blockquote>
<p>Developers could look at creating solutions that leverage both HTML5 and the current HTML/JS model.  However, this would mean that for a single solution a developer would have to create:</p>
<ol>
<li>Browser detection to determine if the user is HTML5 capable</li>
<li>A full HTML 4.1/XHTML 1 application for current and older browsers:</li>
<ol>
<li>Multiple CSS files (including hacks) to support IE6, IE7, Firefox 3, Safari 3</li>
<li>JavaScript that is compatible with all browsers listed above</li>
</ol>
<li>A full HTML5 application (which will have little code overlap from the HTML 4.1 application)</li>
</ol>
<p>For developers who already have to deal with the CSS and JavaScript craziness, this would just add another layer of complexity.  In reality, HTML5 won't be an option for traditional developers until 90%+ of the web is using an HTML5 capable browser.  Keep in mind that most all sites still have to check for IE6 users, even though it was released eight years ago (2001).</p>
<h4>The Truth About Plugins</h4>
<p>At the heart of this discussion are the web plugings that we use today.  Many articles<sup><a href="#foot5">5</a></sup> have been written lately claiming that HTML5 will kill off traditional web plugins.  In reality, this is far from the truth.  Before I address that issue directly, we need to take a closer look at what is a web plugin.</p>
<p>When listing the common web plugins, most people realize that this includes the <a href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash Player</a>, <a href="http://www.microsoft.com/silverlight/" target="_blank">Microsoft Silverlight</a>, and <a href="http://javafx.com/" target="_blank">JavaFX</a>.  However, this also includes <a href="http://gears.google.com/" target="_blank">Google Gears</a>, <a href="http://code.google.com/p/nativeclient/" target="_blank">Google Native Client</a>, the <a href="http://earth-api-samples.googlecode.com/svn/trunk/demos/interactive/index.html" target="_blank">Google Earth plug-in</a>, as well as the <a href="http://mail.google.com/videochat" target="_blank">Google audio/video chat plug-in</a>.  In addition, to the Google plugins, there are countless plugins by other vendors.  These plugins have been vilified due to the fact that they are 'closed source' projects.  The truth is that the plugins have a rapid development cycle that leads to innovation.  I am not saying that this can't happen with an open source project, but I develop cutting-edge solutions for real clients.  I can't look to web standards for real innovation - only more of what has already been implemented:</p>
<blockquote><p><strong>Observation 2:</strong> Web standards will never innovate - they will only implement what plugins have already successfully included.  This is due to the fact that the standards process is run by Microsoft, Google, Mozilla, and other companies that aren't going to invest in implementing a feature unless it already has a proven place in development.  <strong>The term standardization implies that you are taking something that already exists and creating a uniform process for implementing it.</strong></p></blockquote>
<p>In addition, many developers fail to acknowledge the role plugins have played in the HTML5 standard.  This brings me to an observation:</p>
<blockquote><p><strong>Observation 3:</strong> Every new feature in HTML 5 (except maybe 2) were added because developers wanted functionality already available in a plugin.  This includes offline cache (Google Gears), canvas (Flash Player), media playback (Flash Player and others), drag and drop (Flash Player and others), etc...<sup><a href="#foot3">3</a></sup></p></blockquote>
<p>At the recent forefront of this debate has been <a href="http://wave.google.com/" target="_blank">Google Wave</a>, recently announced by Google at the <a href="http://code.google.com/events/io/" target="_blank">Google IO Conference</a>.  This rich Internet application has been hailed as a great example of what web standards can do.  However, virtually no one has commented on the fact that it requires a plugin to function.  Yes, the example of what HTML5 can do requires Google Gears for some of its functionality.  In reality, it is only for a small portion of the functionality (drag and drop), but it brings to light an important observation.</p>
<blockquote><p><strong>Observation 4:</strong> Google had the option to go through the standards process and try to add the drag and drop functionality before releasing Wave, but they decided that the user experience would suffer without the functionality.  Instead, they chose to use the plugin to provide the best overall user experience.<sup><a href="#foot2">2</a></sup></p></blockquote>
<p>The truth is that plugins can '<a href="http://blogs.adobe.com/jd/2009/06/more_like_nine_months_to_upgra.html" target="_blank">upgrade the web</a>' in under a year. In reality, an idea can go through production, QA, released to users, and then pushed to 85%+ of the web within 16 months<sup><a href="#foot4">4</a></sup>.  This is not the case with web standards:</p>
<blockquote><p><strong>Observation 5:</strong> Because of the major corporations and entities (as well as egos) that are involved, any major change (that requires browser creators to change functionality in a uniform manner), is guaranteed to take at least a decade from idea inception to actual implementation (across all browsers).  The time required to allow for users of older browsers to upgrade, can add another 5+ years to the process.<sup><a href="#foot1">1</a></sup></p></blockquote>
<p>If HTML5 were completely implemented by all major browsers today, and if all users had these upgraded browsers - the web plugins would take a serious beating from HTML5 (although even then - it wouldn't kill them).  In reality, HTML5 can't even compete with the web plugins - because it is currently only viable on fixed-platform solutions (like the iPhone).</p>
<h4>Quality vs. Standards</h4>
<p>One of my major points of anger on this topic is that many developers are ignoring quality in pursuit of web standards.  That is at the center of the <a href="http://ajaxian.com/archives/open-codecs-open-video" target="_blank">video codec debate</a> (and there are many examples of these types of issues around HTML5).  <strong>Developers are choosing to evaluate solutions based on their relative openness rather than their actual functionality.</strong> What have the last five years taught us?  We are finally entering an era where we understand that user experience is the key, and now some developers want to sacrifice quality for openness.  This beings me to one of my most vehement observations:</p>
<blockquote><p><strong>Observation 6:</strong> Many open-source solutions are at the top of their respective field (Apache, MySQL, Linux, the Flex Framework, etc...).  Inferior solutions (like the <a href="http://en.wikipedia.org/wiki/Ogg" target="_blank">Ogg</a> codecs) should not be tolerated just because they are 'open'.  If you want all browsers to implement a video codec, make one that is better than <a href="http://en.wikipedia.org/wiki/H.264" target="_blank">h.264</a>.  <strong>Developers should never sacrifice the user experience for the warm feeling they get when using 'open' solutions.</strong></p></blockquote>
<p>When a potential client looks at my body of work (or my company's body of work) they will not care about web standards - they will care about the quality and functionality of the work.  In addition, when a user uses my application, they won't care about 'openness' but only about the overall functionality and user experience.  As a developer and an employee of a company - I cannot recommend an inferior solution.  I have to evaluate all solutions based on functionality to stay competitive.  <strong>This means that in the future, HTML5 will be a solution that I consider if it provides better functionality - but, I will not choose it simply because it is open.  It will be on equal footing with the other solutions that are available.</strong></p>
<h4>The Future</h4>
<p>I hope that these overall observations have shed some light on this issue.  The crux of the issue is this: fixed-platform developers can enjoy HTML5 now - and they should embrace it and start learning / working with it now.  Traditional developers will have to wait around 5 years before it is a real option for them.  In that time, we will probably have Flash Player 13, Silverlight 5, and JavaFX 3.  Who knows what these versions will include - but, we can assume that the functionality they will include will probably be included in a future version of HTML.</p>
<hr />
<p><a name="foot1" /><sup>1</sup> <a href="http://blogs.techrepublic.com.com/programming-and-development/?p=718" target="_blank">HTML 5 Editor Ian Hickson discusses features, pain points, adoption rate, and more</a><br />
<a name="foot2" /><sup>2</sup> <a href="http://wave.google.com/" target="_blank">Google Wave</a> (video described Wave's use of plugins)<br />
<a name="foot3" /><sup>3</sup> <a href="http://blog.digitalbackcountry.com/2009/05/html5-versus-flash-versions/" target="_blank">HTML5 Versus Flash Versions</a><br />
<a name="foot4" /><sup>4</sup> <a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html" target="_blank">Adobe Flash Player Version Penetration</a><br />
<a name="foot5" /><sup>5</sup> <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#038;taxonomyName=development&#038;articleId=9134422&#038;taxonomyId=11&#038;intsrc=kc_feat" target="_blank">HTML 5: Could it kill Flash and Silverlight?</a>, <a href="http://www.infoworld.com/d/developer-world/html-5-could-it-kill-flash-and-silverlight-291" target="_blank">HTML 5: Could it kill Flash and Silverlight?</a><br />
<a name="foot6" /><sup>6</sup> <a href="http://a.deveria.com/caniuse/" target="_blank">Compatibility tables for features in HTML5, CSS3, SVG and other upcoming web technologies</a>, <a href="http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers">Implementations in Web Browsers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidtucker.net/2009/06/19/an-honest-open-discussion-on-web-standards-and-html-5/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
