<?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>Jonathan Spooner is a Web Developer in the San Diego Area. &#187; Flash</title>
	<atom:link href="http://www.jonathanspooner.com/category/web-development/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonathanspooner.com</link>
	<description>Flex Developer, Air Developer, and ActionScript Programmer</description>
	<lastBuildDate>Thu, 31 Mar 2011 16:02:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OSMF Hello World in 17 lines of code</title>
		<link>http://www.jonathanspooner.com/web-development/flash/actionscript-3/osmf-hello-world-in-17-lines-of-code/</link>
		<comments>http://www.jonathanspooner.com/web-development/flash/actionscript-3/osmf-hello-world-in-17-lines-of-code/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 19:04:59 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[OSMF]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/?p=545</guid>
		<description><![CDATA[This is the most basic way to get a video playing through the Open Source Media Framwork.
Add OSMF FC1 to your class path and the class below is your document root.
&#160;
package &#123;
	import flash.display.Sprite;
	import org.osmf.elements.VideoElement;
	import org.osmf.media.MediaPlayer;
	import org.osmf.media.URLResource;
	public class SMILSample extends Sprite
	&#123;
		public function SMILSample&#40;&#41;
		&#123;
			var mediaPlayer:MediaPlayer = new MediaPlayer&#40;&#41;;
			var resource:URLResource 	= new URLResource&#40;FLV&#41;;
			mediaPlayer.media 			= new VideoElement&#40;resource&#41;;
			addChild&#40;mediaPlayer.displayObject&#41;;
		&#125;
		public static const [...]]]></description>
			<content:encoded><![CDATA[<p>This is the most basic way to get a video playing through the Open Source Media Framwork.</p>
<p>Add <a href="http://blogs.adobe.com/osmf/2010/04/osmf_fc1_released.html">OSMF FC1</a> to your class path and the class below is your document root.</p>
<pre class="actionscript">&nbsp;
package <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">osmf</span>.<span style="color: #006600;">elements</span>.<span style="color: #006600;">VideoElement</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">osmf</span>.<span style="color: #006600;">media</span>.<span style="color: #006600;">MediaPlayer</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">osmf</span>.<span style="color: #006600;">media</span>.<span style="color: #006600;">URLResource</span>;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SMILSample <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> SMILSample<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> mediaPlayer:MediaPlayer = <span style="color: #000000; font-weight: bold;">new</span> MediaPlayer<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> resource:URLResource 	= <span style="color: #000000; font-weight: bold;">new</span> URLResource<span style="color: #66cc66;">&#40;</span>FLV<span style="color: #66cc66;">&#41;</span>;
			mediaPlayer.<span style="color: #006600;">media</span> 			= <span style="color: #000000; font-weight: bold;">new</span> VideoElement<span style="color: #66cc66;">&#40;</span>resource<span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span>mediaPlayer.<span style="color: #006600;">displayObject</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const FLV:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;http://mediapm.edgesuite.net/strobe/content/test/AFaerysTale_sylviaApostol_640_500_short.flv&quot;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/flash/actionscript-3/osmf-hello-world-in-17-lines-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://mediapm.edgesuite.net/strobe/content/test/AFaerysTale_sylviaApostol_640_500_short.flv" length="2660334" type="video/x-flv" />
		</item>
		<item>
		<title>Architecture of the Veoh Player</title>
		<link>http://www.jonathanspooner.com/web-development/architecture-of-the-veoh-player/</link>
		<comments>http://www.jonathanspooner.com/web-development/architecture-of-the-veoh-player/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 19:47:55 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Veoh Networks]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=191</guid>
		<description><![CDATA[The player lives on veoh.com and as an embedable player on sites like facebook.  It plays more than 3 million videos per day to a global audience.  The player is also the primary vehicle for our Behavioral Ad Targeting.
Development
This player played a key role in monetizing Veoh's business model.  With this in [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_393" class="wp-caption alignright" style="width: 310px"><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohwebplayer-overlay_ad.jpg"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohwebplayer-overlay_ad-300x240.jpg" alt="Interactive Overlay Video Ad" title="veohwebplayer-overlay_ad" width="300" height="240" class="size-medium wp-image-393" /></a><p class="wp-caption-text">Interactive Overlay Video Ad</p></div>
<p>The player lives on<a href="http://veoh.com"> veoh.com</a> and as an embedable player on sites like <a href="http://apps.facebook.com/veohvideos/">facebook</a>.  It plays more than 3 million videos per day to a global audience.  The player is also the primary vehicle for our <a href="http://www.jonathanspooner.com/blog/news/veoh-to-bring-behavior-to-video-ads/">Behavioral Ad Targeting</a>.</p>
<h2>Development</h2>
<div id="attachment_389" class="wp-caption alignright" style="width: 310px"><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayer-asdoc.gif"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayer-asdoc-300x223.gif" alt="Veoh Player Documentation" title="veohplayer-asdoc" width="300" height="223" class="size-medium wp-image-389" /></a><p class="wp-caption-text">Veoh Player Documentation</p></div><br />
This player played a key role in monetizing Veoh's business model.  With this in mind the player architecture must accommodate an intense product life cycle and reliability. </p>
<p>I was able to achieve a reliable, scaleable and, testable code with <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Development</a> and common Design Patterns.  This worked out so well after months of adding/removing features and product directions the code base still has no cruft!</p>
<p>To improve performance during progressive seeking I implemented a <a href="http://en.wikipedia.org/wiki/Binary_search">Binary Search</a> to find the closest keyframe.  </p>
<p>Multiple Logging Systems such as Nielsen, Omniture, Quantcast, Visible Measures, TubeMogul and our own data center.</p>
<p><a href="http://puremvc.org/component/option,com_wrapper/Itemid,170/">Multicore PureMVC</a> my choice because it's alight weight framework that could control a Flex or a pure ActionScript project.</p>
<h2>Veoh Data SDK</h2>
<p>My first step in converting the Veoh player to OOP was to create an API for our REST service.<br />
Here is an example of how to fetch a video.</p>
<pre class="actionscript">&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> service:VeohService = <span style="color: #000000; font-weight: bold;">new</span> VeohService<span style="color: #66cc66;">&#40;</span> VEOH_API_KEY <span style="color: #66cc66;">&#41;</span>;
service.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> VeohResultEvent.<span style="color: #006600;">SEARCH_SEARCH</span>, handle_response<span style="color: #66cc66;">&#41;</span>;
service.<span style="color: #006600;">search</span>.<span style="color: #006600;">findByPermalink</span><span style="color: #66cc66;">&#40;</span> _videoPermalink <span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<h2>VeohPlayback Player</h2>
<p>I developed a VeohPlayback object with s similar interface to Adobe's FLVPlayback Component.<br />
Unlike the Adobe's Component ours will play videos from our CDN, the Veoh P2P network, YouTube or CBS.</p>
<h2>In Player Advertising</h2>
<p>In early 2007 we created one of the first in-stream ad systems.  We later partnered up with Freewheel to deliver our in-stream ads.  Since we one of Freewheels first clients I worked closely with their development team in NYC and China on their ActionScript SDK. </p>
<p>Event based ads was something I was pushing for before working with Veoh.  At Aviatech I was able to use event based ads to sell products.  This <a href="http://jonathanspooner.com/archive/david_leadbetter/">example</a> for <a href="http://jonathanspooner.com/archive/david_leadbetter/">Calloway Golf</a> is a great example.  My theory here was that many users would react to the video auto playing and immediately click pause.  When the user clicks the pause button we know they are looking at the player and in this demo we show the product.  After bringing this idea to Veoh it proved to have a higher click through rate than a typical overlay ad.</p>
<p>We have also integrated ads from Axel Springer, Scanscout and DoubleClick.</p>
<h2>Testing and Planning</h2>
<p><div id="attachment_390" class="wp-caption alignright" style="width: 310px"><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayer-uml.gif"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayer-uml-300x67.gif" alt="UML" title="veohplayer-uml" width="300" height="67" class="size-medium wp-image-390" /></a><p class="wp-caption-text">UML</p></div>
<div id="attachment_391" class="wp-caption alignright" style="width: 310px"><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayertestrunner.gif"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2010/01/veohplayertestrunner-300x115.gif" alt="ASUnit TestRunner" title="veohplayertestrunner" width="300" height="115" class="size-medium wp-image-391" /></a><p class="wp-caption-text">ASUnit TestRunner</p></div>
<p><strong>Planning:</strong> During he planning phase we implemented new features in out UML charts and discussed it's impact before writing any code.  </p>
<p><strong>Testing:</strong>  Since this player is responsible for Veoh's main revenue stream I saw the need implement Test Driven Development.  After I fully emerged my team with TDD the product life cycle became much smoother and more manageable.  We used AsUnit along with ProjectSprouts/Growl to auto run the test suite.  We also forked the ProjectSprouts to add some generators for AsUnit and PureMVC.  </p>
<p><strong>Continuous Integration:</strong> We have Hudson set up to test and build the player.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/architecture-of-the-veoh-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add a click tag to flash banner ads</title>
		<link>http://www.jonathanspooner.com/web-development/flash/how-to-add-a-click-tag-to-flash-banner-ads/</link>
		<comments>http://www.jonathanspooner.com/web-development/flash/how-to-add-a-click-tag-to-flash-banner-ads/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 17:23:57 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Veoh Networks]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/?p=331</guid>
		<description><![CDATA[DoubleClick and other ad servers often embed Flash movies with the click through url as a flashvar named "clickTag".  Here is the code in ActionScript 2.0 and 3.0 to use the clickTag flashVar. 
ActionScript 2.0
&#160;
on &#40;release&#41; &#123;
    var url:String = &#34;&#34;;
    url = _level0.clickTag &#124;&#124; _level0.ClickTag &#124;&#124; &#34;&#34;;
 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://doubleclick.com">DoubleClick</a> and other ad servers often embed <a href="http://www.adobe.com/products/flash/">Flash</a> movies with the click through url as a <a href="http://www.google.com/search?crls=en-us&q=flashvars&ie=UTF-8&oe=UTF-8">flashvar</a> named "clickTag".  Here is the code in ActionScript 2.0 and 3.0 to use the clickTag flashVar. </p>
<p>ActionScript 2.0</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">on</span> <span style="color: #66cc66;">&#40;</span>release<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">url</span>:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;&quot;</span>;
    <span style="color: #0066CC;">url</span> = _level0.<span style="color: #006600;">clickTag</span> || _level0.<span style="color: #006600;">ClickTag</span> || <span style="color: #ff0000;">&quot;&quot;</span>;
    <span style="color: #0066CC;">getURL</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">url</span>, <span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>ActionScript 3.0</p>
<pre class="actionscript">&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> _clickTag:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;&quot;</span>;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">root</span>.<span style="color: #006600;">loaderInfo</span>.<span style="color: #006600;">parameters</span>.<span style="color: #006600;">clickTag</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
     _clickTag = <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">root</span>.<span style="color: #006600;">loaderInfo</span>.<span style="color: #006600;">parameters</span>.<span style="color: #006600;">clickTag</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handle_btnClick<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
     ExternalInterface.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;window.parent.open&quot;</span>, _clickTag<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span> 
&nbsp;
myButton.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, handle_btnClick<span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Test your swf by adding the clickTag <a href="http://www.google.com/search?crls=en-us&q=flashvars&ie=UTF-8&oe=UTF-8">flashVar</a> to your embed code.</p>
<pre>&nbsp;
&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;300&quot; height=&quot;250&quot; id=&quot;300x250_standard&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;false&quot; /&gt;&lt;param name=&quot;flashVars&quot; value=&quot;clickTag=http://shrelp.com&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;300x250_standard.swf&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#000000&quot; /&gt;&lt;embed src=&quot;300x250_standard.swf&quot; quality=&quot;high&quot; bgcolor=&quot;#000000&quot; width=&quot;300&quot; height=&quot;250&quot; name=&quot;300x250_standard&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot;
	 allowFullScreen=&quot;false&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; flashVars=&quot;clickTag=http://ss.jonathanspooner.com&quot; /&gt;
	&lt;/object&gt;
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/flash/how-to-add-a-click-tag-to-flash-banner-ads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building multiple swf&#8217;s with Project Sprouts</title>
		<link>http://www.jonathanspooner.com/web-development/building-multiple-swfs-with-project-sprouts/</link>
		<comments>http://www.jonathanspooner.com/web-development/building-multiple-swfs-with-project-sprouts/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:47:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Project Sprouts]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=237</guid>
		<description><![CDATA[For each additional swf you'll create a new task in your rakefile like this.
&#160;
desc 'Menu App'
task :menu =&#62; &#34;bin/MenuApp.swf&#34;
mxmlc 'bin/MenuApp.swf' do &#124;t&#124;
  t.input                    = &#34;src/MenuApp.as&#34;
  t.debug         [...]]]></description>
			<content:encoded><![CDATA[<p>For each additional swf you'll create a new <a href="http://projectsprouts.org/rdoc/classes/Sprout/MXMLCTask.html">task</a> in your rakefile like this.</p>
<pre class="ruby">&nbsp;
desc <span style="color:#996600;">'Menu App'</span>
task <span style="color:#ff3333; font-weight:bold;">:menu</span> =&gt; <span style="color:#996600;">&quot;bin/MenuApp.swf&quot;</span>
mxmlc <span style="color:#996600;">'bin/MenuApp.swf'</span> <span style="color:#9966CC; font-weight:bold;">do</span> |t|
  t.<span style="color:#9900CC;">input</span>                    = <span style="color:#996600;">&quot;src/MenuApp.as&quot;</span>
  t.<span style="color:#9900CC;">debug</span>                    = <span style="color:#0000FF; font-weight:bold;">false</span>
  t.<span style="color:#9900CC;">optimize</span>                 = <span style="color:#0000FF; font-weight:bold;">true</span>
  t.<span style="color:#9900CC;">default_size</span>             = <span style="color:#996600;">'540 436'</span>
  t.<span style="color:#9900CC;">default_background_color</span> = <span style="color:#996600;">&quot;0x000000&quot;</span>
  t.<span style="color:#9900CC;">library_path</span>     &lt;&lt; <span style="color:#996600;">&quot;lib/corelib.swc&quot;</span>
  t.<span style="color:#9900CC;">source_path</span>      &lt;&lt; <span style="color:#996600;">&quot;config/environments/production&quot;</span>
  t.<span style="color:#9900CC;">define</span>           = <span style="color:#996600;">&quot;CONFIG::production,false
  t.title            = &quot;</span><span style="color:#996600;">'My Project'</span><span style="color:#996600;">&quot;
  t.description      = 'My Menu App'
  t.link_report      = 'menu_report.xml'
end
</span></pre>
<p>After your task has been added it should now be listed when you run rake -T </p>
<pre class="bash">&nbsp;
rake -T
&gt; rake menu                     <span style="color: #808080; font-style: italic;"># Menu App</span>
&nbsp;</pre>
<p>Now run the task by it's name.</p>
<pre class="bash">&nbsp;
rake menu
&nbsp;</pre>
<p>You should see the mxmlc command execute.  Note that your new swf will not be opened up like the  rake debug task. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/building-multiple-swfs-with-project-sprouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated build numbers for Flash Applications with Sprouts</title>
		<link>http://www.jonathanspooner.com/web-development/automate-build-numbers-for-flash-applications/</link>
		<comments>http://www.jonathanspooner.com/web-development/automate-build-numbers-for-flash-applications/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 15:40:54 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Project Sprouts]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=200</guid>
		<description><![CDATA[This article will demonstrate how to use compile time variables to set a build number and environment type.  I will be using Project Sprouts to compile a swf with the mxmlc compiler.
We'll start by creating a new variable in our rakefile like this. Since this number will always show up when you run rakeI [...]]]></description>
			<content:encoded><![CDATA[<p>This article will demonstrate how to use compile time variables to set a build number and environment type.  I will be using <a href="http://www.projectsprouts.org/">Project Sprouts</a> to compile a swf with the mxmlc compiler.</p>
<p>We'll start by creating a new variable in our rakefile like this. Since this number will always show up when you run rakeI prefixed it with dev so my local build will never get confused others.</p>
<pre class="ruby">&nbsp;
build_number = <span style="color:#996600;">'&quot;<span style="color:#000099;">\'</span>dev.1.1.1.1001<span style="color:#000099;">\'</span>&quot;'</span>
&nbsp;</pre>
<blockquote><p>Quark #1.  It took me a few tries to get the quotes right.  Since this var is passed through a command shell then into the mxmlc the triple quotes are necessary.  If you don't you will be likely to see some strange results and your swf just not compiling at all.  If you use the string above and just replace dev.1.1.1.1001 you should be in good shape.  </p></blockquote>
<p><br/></p>
<p>The next step it to add our version number to either the <a href="http://www.projectsprouts.org/rdoc/index.html">project model</a> or a <a href="http://www.projectsprouts.org/rdoc/index.html">task</a> via the <a href="http://www.projectsprouts.org/rdoc/classes/Sprout/MXMLCTask.html#M000182">define</a> method.  I decided to add the define method to the task since I would need to change the production variable for the deploy task.  </p>
<pre class="ruby">&nbsp;
desc <span style="color:#996600;">'Compile and run the application for debugging'</span>
debug <span style="color:#ff3333; font-weight:bold;">:debug</span> <span style="color:#9966CC; font-weight:bold;">do</span> |d|
  d.<span style="color:#9900CC;">define</span> = <span style="color:#996600;">&quot;CONFIG::production,false -define=CONFIG::version,&quot;</span> + build_number
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
desc <span style="color:#996600;">'Compile and run the test harness'</span>
unit <span style="color:#ff3333; font-weight:bold;">:test</span> <span style="color:#9966CC; font-weight:bold;">do</span> |d|
  d.<span style="color:#9900CC;">define</span> = <span style="color:#996600;">&quot;CONFIG::production,false -define=CONFIG::version,&quot;</span> + build_number
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
desc <span style="color:#996600;">'Compile for deployment'</span>
deploy <span style="color:#ff3333; font-weight:bold;">:deploy</span>  <span style="color:#9966CC; font-weight:bold;">do</span> |p|
  <span style="color:#CC0066; font-weight:bold;">p</span>.<span style="color:#9900CC;">define</span> = <span style="color:#996600;">&quot;CONFIG::production,true -define=CONFIG::version,&quot;</span> + build_number
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;</pre>
<p>Did you notice how I'm passing multiple variables in the same line?  This is because the define method can't be called more then one time.  It doesn't look like this is by design and might be a little bug in the task.  Getting around this is easy enough.  You just need to append "-define=" for all other variables. </p>
<p>This next snippet is the ActionScript 3.0 code demonstrates how to access your variable. </p>
<pre class="actionscript">&nbsp;
package <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">class</span> Constants <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const <span style="color: #0066CC;">VERSION</span>:<span style="color: #0066CC;">String</span>        = <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#40;</span>CONFIG::<span style="color: #0066CC;">version</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const IS_PRODUCTION:<span style="color: #0066CC;">Boolean</span> = CONFIG::production;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Now that you have these lines of code in your project the next time you try to run AsDoc everything is going to melt down.  AsDoc is very finicky and doesn't like the CONFIG variable.  I was able to get around this by using a <a href="http://www.projectsprouts.org/rdoc.5/classes/Sprout/ToolTask.html#M000145">c preprocessor </a> to remove these lines before AsDoc executes.</p>
<p>Finally you'll want to have your <a href="http://en.wikipedia.org/wiki/Continuous_Integration">continuous integration system</a> insert the correct version number.  For example I have <a href="https://hudson.dev.java.net/">Hudson</a> use sed to insert the correct version number.</p>
<pre class="bash">&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sed</span> -i <span style="color: #ff0000;">'s/dev.1.1.1.1001/{RELEASE_NUMBER}/'</span> rakefile.rb
&nbsp;</pre>
<p>And now you never have to manually update version numbers again!</p>
<p>If your using Flex to profile your application you will have to add these additional compiler arguments to the project properties.<br />
<a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2009/04/picture-4.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2009/04/picture-4-300x197.png" alt="" title="Flex Properties" width="300" height="197" class="alignleft size-medium wp-image-240" /></a></p>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/automate-build-numbers-for-flash-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trip to Sao Paulo Brazil with the MegaRamp</title>
		<link>http://www.jonathanspooner.com/web-development/flash/sao-paulo-brazil-megaramp/</link>
		<comments>http://www.jonathanspooner.com/web-development/flash/sao-paulo-brazil-megaramp/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 20:46:46 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Veoh Networks]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=187</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><object width="100%" height="341"><param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?permalinkId=v17023301hGE7sm4G&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?permalinkId=v17023301hGE7sm4G&player=videodetailsembedded&videoAutoPlay=0&id=anonymous" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="100%" height="341"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/flash/sao-paulo-brazil-megaramp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Charles Proxy for FLV Debugging</title>
		<link>http://www.jonathanspooner.com/web-development/charles-proxy-for-flv-debugging/</link>
		<comments>http://www.jonathanspooner.com/web-development/charles-proxy-for-flv-debugging/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 21:59:49 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=97</guid>
		<description><![CDATA[Charles Proxy provides easy access to FLV file information such as video codec and embeded metadata.
To find this information you will want to find and select the flv in Charles.  When selected you will then want to select the "Response" tab in the opposite window to revel flv file info. 


]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.charlesproxy.com/">Charles Proxy</a> provides easy access to <a href="http://en.wikipedia.org/wiki/FLV">FLV</a> file information such as video codec and embeded metadata.<br />
To find this information you will want to find and select the <a href="http://en.wikipedia.org/wiki/FLV">flv</a> in <a href="http://www.charlesproxy.com/">Charles</a>.  When selected you will then want to select the "Response" tab in the opposite window to revel <a href="http://en.wikipedia.org/wiki/FLV">flv</a> file info. </p>
<p><a href='http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-1.png'><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-1-300x136.png" alt="" title="Charles Proxy" width="300" height="136" class="alignleft size-medium wp-image-98" /></a></p>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/charles-proxy-for-flv-debugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adio Footwear</title>
		<link>http://www.jonathanspooner.com/web-development/adio-footwear/</link>
		<comments>http://www.jonathanspooner.com/web-development/adio-footwear/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 04:51:07 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=93</guid>
		<description><![CDATA[Client: Adio Footwear
Work: Flash ActionScript 3.0, SWFAddress, SEO, Ruby on Rails, REST
Link: www.adiofootwear.com
Description:  With SWFAddress at its core this full flash site manages state like a typical html web site.  One of the most interesting patterns in this project is the management of multiple tiers of state and loaded assets.  The admin [...]]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://adiofootwear.com">Adio Footwear</a><br />
Work: <a href="http://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html">Flash ActionScript 3.0</a>, <a href="http://www.asual.com/swfaddress/">SWFAddress</a>, SEO, <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a><br />
Link: <a href="http://adiofootwear.com">www.adiofootwear.com</a><br />
Description:  With SWFAddress at its core this full flash site manages state like a typical html web site.  One of the most interesting patterns in this project is the management of multiple tiers of state and loaded assets.  The admin was built with Ruby on Rails, deployed with Capistrano and, served by a cluster of 4 Mongrels.</p>
<p>Results:  In this graph we can see an immediate 25% decrease in the bounce rate.  The orange line shows the bounce rate is know skewed due to an increase of traffic at the site launch.  The blue line shows the drop in the user bounce rate.  I attribute this improvement to the sites navigation improvements.  Visually the navigation is broken up into two consistent visual elements giving the user a familiar tool.  Functionally this site improves the user experience by showing state in the address bar and having working forward/back buttons.   </p>
<p><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-4.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-4.png" alt="" title="picture-4" width="499" height="63" class="alignleft size-full wp-image-101" /></a></p>
<p>This graph compares the average time on site "Orange" improved by 2 minutes and bounce rate decreasing by 25%.</p>
<p><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-5.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-5.png" alt="" title="adiofootwear.com" class="alignleft size-full wp-image-108" /></a></p>
<p><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-2.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-2-300x215.png" alt="" title="adiofootwear.com" width="300" height="215" class="alignleft size-medium wp-image-102" /></a></p>
<p><a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-3.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-3-300x219.png" alt="" title="adiofootwear.com - sean white" width="300" height="219" class="alignleft size-medium wp-image-103" /></a><br />
<a href="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-11.png"><img src="http://www.jonathanspooner.com/blog/wp-content/uploads/2008/08/picture-11-300x215.png" alt="Footwear Page" title="adiofootwear.com" width="300" height="215" class="alignleft size-medium wp-image-106" /></a></p>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/adio-footwear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Veoh to Bring Behavior to Video Ads</title>
		<link>http://www.jonathanspooner.com/news/veoh-to-bring-behavior-to-video-ads/</link>
		<comments>http://www.jonathanspooner.com/news/veoh-to-bring-behavior-to-video-ads/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 17:22:44 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Veoh Networks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[veoh]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2008/07/14/veoh-to-bring-behavior-to-video-ads/</guid>
		<description><![CDATA[AdWeek published an article on Veoh's in-stream advertising strategy and behavioral targeting system.
I've been working on the flash integration with our in-house targeting server add Freewheel's first ActionScript 3.0 SDK for ad delivery. 
Check out the article
Veoh to Bring Behavior to Video Ads

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adweek.com/aw/content_display/news/digital/e3i5dab627a6e5e9f67bf96eb988792f2da">AdWeek</a> published an article on Veoh's in-stream advertising strategy and behavioral targeting system.<br />
I've been working on the flash integration with our in-house targeting server add <a href="http://freewheel.tv">Freewheel's</a> first ActionScript 3.0 SDK for ad delivery. </p>
<p>Check out the article<br />
<a href="http://www.adweek.com/aw/content_display/news/digital/e3i5dab627a6e5e9f67bf96eb988792f2da">Veoh to Bring Behavior to Video Ads</a></p>
<p><object width="300" height="250" id="flashObj0" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param value="always" name="allowScriptAccess"/><param value="true" name="allowFullScreen"/><param value="http://admin.brightcove.com/viewer/federated_f8.swf?flashId=flashObj0&amp;servicesURL=http%3A%2F%2Fservices.brightcove.com%2Fservices&amp;viewerSecureGatewayURL=https%3A%2F%2Fconsole.brightcove.com%2Fservices%2Famfgateway&amp;cdnURL=http%3A%2F%2Fadmin.brightcove.com&amp;videoId=1662475231&amp;autoStart=false&amp;preloadBackColor=%23FFFFFF&amp;width=300&amp;height=250&amp;playerId=1227613352&amp;externalAds=false&amp;sendReports=false&amp;buildNumber=406&amp;ranNum=382070" name="movie"/><param value="window" name="wmode"/><param value="high" name="quality"/><param value="#FFFFFF" name="bgcolor"/><param value="http://admin.brightcove.com/viewer/" name="base"/><param value="false" name="SeamlessTabbing"/><embed width="300" height="250" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" swliveconnect="true" type="application/x-shockwave-flash" seamlesstabbing="false" wmode="window" name="flashObj0" allowscriptaccess="always" bgcolor="#FFFFFF" quality="high" base="http://admin.brightcove.com/viewer/" src="http://admin.brightcove.com/viewer/federated_f8.swf?flashId=flashObj0&amp;servicesURL=http%3A%2F%2Fservices.brightcove.com%2Fservices&amp;viewerSecureGatewayURL=https%3A%2F%2Fconsole.brightcove.com%2Fservices%2Famfgateway&amp;cdnURL=http%3A%2F%2Fadmin.brightcove.com&amp;videoId=1662475231&amp;autoStart=false&amp;preloadBackColor=%23FFFFFF&amp;width=300&amp;height=250&amp;playerId=1227613352&amp;externalAds=false&amp;sendReports=false&amp;buildNumber=406&amp;ranNum=382070"/></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/news/veoh-to-bring-behavior-to-video-ads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Flex Builder 3 Tips</title>
		<link>http://www.jonathanspooner.com/web-development/10-flex-builder-3-tips/</link>
		<comments>http://www.jonathanspooner.com/web-development/10-flex-builder-3-tips/#comments</comments>
		<pubDate>Wed, 21 May 2008 21:52:49 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/?p=85</guid>
		<description><![CDATA[Draft

Bookmarks
Mark Occurrences.  Highlight/SidebarMarkers 
Find Next/Previous
Apple + Option + Up/Down Arrow Duplicate line
Apple + D Delete current lines.
Apple + Shift + R Open Resource like TextMate's find in project.
Apple + K Go to next occurrence
Apple + Shift + K Go to previous occurrence
Use Flash Components in Flex ActionScript Project.Directions from the ActionScript 3.0 Cookbook or [...]]]></description>
			<content:encoded><![CDATA[<h4>Draft</h4>
<ol>
<li>Bookmarks</li>
<li>Mark Occurrences.  Highlight/SidebarMarkers </li>
<li>Find Next/Previous</li>
<li>Apple + Option + Up/Down Arrow Duplicate line</li>
<li>Apple + D Delete current lines.</li>
<li>Apple + Shift + R Open Resource like TextMate's find in project.</li>
<li>Apple + K Go to next occurrence</li>
<li>Apple + Shift + K Go to previous occurrence</li>
<li>Use Flash Components in Flex ActionScript Project.<br/><a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=8604">Directions from the ActionScript 3.0 Cookbook</a> or see <a href="http://www.moock.org/blog/archives/000253.html">Colin Moock's post</a>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/10-flex-builder-3-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create AsDocs</title>
		<link>http://www.jonathanspooner.com/web-development/how-to-create-asdocs/</link>
		<comments>http://www.jonathanspooner.com/web-development/how-to-create-asdocs/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 15:28:40 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2008/04/02/how-to-create-asdocs/</guid>
		<description><![CDATA[I'll write on this soon, until then use this link or the line below.
Documents from Adobe

asdoc -doc-sources /Users/jspooner/Documents/veoh/FlashPlayer/branches/ActionScriptSDK/src/com/veoh -output /Users/jspooner/Documents/veoh/FlashPlayer/branches/ActionScriptSDK/docs/
]]></description>
			<content:encoded><![CDATA[<p>I'll write on this soon, until then use this link or the line below.<br />
<a href="http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=asdoc_127_9.html">Documents from Adobe</a></p>
<pre class="bash">
asdoc -doc-sources /Users/jspooner/Documents/veoh/FlashPlayer/branches/ActionScriptSDK/src/com/veoh -output /Users/jspooner/Documents/veoh/FlashPlayer/branches/ActionScriptSDK/docs/</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/how-to-create-asdocs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Flex 3 Issues</title>
		<link>http://www.jonathanspooner.com/news/installing-flex-3-issues/</link>
		<comments>http://www.jonathanspooner.com/news/installing-flex-3-issues/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 23:15:19 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2008/03/05/installing-flex-3-issues/</guid>
		<description><![CDATA[After installing Flex 3 form Flex 3 Beta 3 I had lots of issues with keyboard short cuts.  I found that some hidden files from the beta were still on my system in ~/Documents/Flex Builder.   I was able to solve all issues by changing the name on that directory and reinstalling Flex.
If [...]]]></description>
			<content:encoded><![CDATA[<p>After installing Flex 3 form Flex 3 Beta 3 I had lots of issues with keyboard short cuts.  I found that some hidden files from the beta were still on my system in ~/Documents/Flex Builder.   I was able to solve all issues by changing the name on that directory and reinstalling Flex.</p>
<p>If your having issues and had Flex Beta <a href="http://www.adobe.com/support/documentation/en/flex/3/releasenotes_flex3_fb.html#clean_workspace">installed check out these instructions from adobe.</a>  The worked for me when upgrading from Beta 2 to Beta 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/news/installing-flex-3-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Callaway Eyewear Microsite</title>
		<link>http://www.jonathanspooner.com/web-development/callaway-eyewear-microsite/</link>
		<comments>http://www.jonathanspooner.com/web-development/callaway-eyewear-microsite/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 16:12:26 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/callaway-eyewear-microsite/</guid>
		<description><![CDATA[Client: Callaway Eyewear
Work:  Design, Motion, and Develop Microsite for email campaign.
Link: live / archive


]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://callawayeyewear.com">Callaway Eyewear</a><br />
Work:  Design, Motion, and Develop Microsite for email campaign.<br />
Link: <a href="http://callawayeyewear.com/leadbetter_video/">live</a> / <a href="http://jonathanspooner.com/archive/david_leadbetter">archive</a></p>
<p><a href="http://jonathanspooner.com/archive/david_leadbetter"><br />
<img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/callaway_eyewear.jpg' alt='Callaway Eyewear Microsite' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/callaway-eyewear-microsite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Allen Group &#8211; Midstate 99 Industrial Park</title>
		<link>http://www.jonathanspooner.com/web-development/the-allen-group-midstate-99-industrial-park/</link>
		<comments>http://www.jonathanspooner.com/web-development/the-allen-group-midstate-99-industrial-park/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 22:30:16 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/06/13/the-allen-group-midstate-99-industrial-park/</guid>
		<description><![CDATA[Client: The Allen Group
Work:  Flash CMS Development, Server Side Programming C#
Link: Live

]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://www.allengroup.com">The Allen Group</a><br />
Work:  Flash CMS Development, Server Side Programming C#<br />
Link: <a href="http://www.midstate99.com">Live</a><br />
<a href="http://www.midstate99.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/ms99.jpg' alt='Midstate 99' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/the-allen-group-midstate-99-industrial-park/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Allen Group &#8211; Property Search App</title>
		<link>http://www.jonathanspooner.com/web-development/the-allen-group-property-search-app/</link>
		<comments>http://www.jonathanspooner.com/web-development/the-allen-group-property-search-app/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 16:32:59 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/the-allen-group-property-search-app/</guid>
		<description><![CDATA[Client: The Allen Group
Work: Concept, Design, and Develop
Link: live

]]></description>
			<content:encoded><![CDATA[<p>Client: The Allen Group<br />
Work: Concept, Design, and Develop<br />
Link: <a href="http://www.allengroup.com/Property-Search.aspx">live</a></p>
<p><a href="http://www.allengroup.com/Property-Search.aspx"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/allen_group_property_locato.jpg' alt='The Allen Group - Property Search Application' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/the-allen-group-property-search-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Franchise.org</title>
		<link>http://www.jonathanspooner.com/news/franchiseorg/</link>
		<comments>http://www.jonathanspooner.com/news/franchiseorg/#comments</comments>
		<pubDate>Sat, 13 Jan 2007 22:09:21 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/franchiseorg/</guid>
		<description><![CDATA[Client: International Franchise Association
Work: UI Design, CMS(ektron), and Programming C#
Link: Live

]]></description>
			<content:encoded><![CDATA[<p>Client: International Franchise Association<br />
Work: UI Design, CMS(<a href="http://ektron.com">ektron</a>), and Programming C#<br />
Link: <a href="http://franchise.org">Live</a></p>
<p><a href="http://franchise.org"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/franchisedotorg.jpg' alt='Franchise.org Search Results Page' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/news/franchiseorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUM Brands Franchise &#8211; Website</title>
		<link>http://www.jonathanspooner.com/web-development/yum-brands-franchise-website/</link>
		<comments>http://www.jonathanspooner.com/web-development/yum-brands-franchise-website/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 23:00:51 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2006/11/13/yum-brands-franchise-website/</guid>
		<description><![CDATA[Client: YUM Brands
Work: Design, Video, Flash Development, Streaming Server
Link: yumbrandsfranchise.com

]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://www.yum.com">YUM Brands</a><br />
Work: Design, Video, Flash Development, Streaming Server<br />
Link: <a href="http://www.yumbrandsfranchise.com/">yumbrandsfranchise.com</a></p>
<p><a href="http://www.yumbrandsfranchise.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/yum.jpg' alt='YUM Brands' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/yum-brands-franchise-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dallas Logistics Hub</title>
		<link>http://www.jonathanspooner.com/web-development/dallas-logistics-hub/</link>
		<comments>http://www.jonathanspooner.com/web-development/dallas-logistics-hub/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 22:34:37 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2006/11/13/dallas-logistics-hub/</guid>
		<description><![CDATA[Client: The Allen Group
Work: Design, Flash, and Develop with Ektron CMS
Link: Live

]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://www.allengroup.com">The Allen Group</a><br />
Work: Design, Flash, and Develop with <a href="http://ektron.com">Ektron CMS</a><br />
Link: <a href="http://www.dallaslogisticshub.com/">Live</a></p>
<p><a href="http://www.dallaslogisticshub.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/dallas.jpg' alt='Dallas Logistics Hub' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/dallas-logistics-hub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help-U-Sell &#8211; Franchise Opportunity Center</title>
		<link>http://www.jonathanspooner.com/news/help-u-sell-franchise-opportunity-center/</link>
		<comments>http://www.jonathanspooner.com/news/help-u-sell-franchise-opportunity-center/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 22:17:27 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/help-u-sell-franchise-opportunity-center/</guid>
		<description><![CDATA[Client: Help-U-Sell
Work: Programming and Interactive Design
Link: Private Intranet

]]></description>
			<content:encoded><![CDATA[<p>Client: Help-U-Sell<br />
Work: Programming and Interactive Design<br />
Link: Private Intranet</p>
<p><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/foc.jpg' alt='Help-U-Sell Franchise Opportunity Center' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/news/help-u-sell-franchise-opportunity-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Island Hotel &#8211; Website</title>
		<link>http://www.jonathanspooner.com/web-development/island-hotel-website/</link>
		<comments>http://www.jonathanspooner.com/web-development/island-hotel-website/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 23:07:58 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/island-hotel-website/</guid>
		<description><![CDATA[Client: The Irvine Company
Work: Ektron CMS, Development
Link: islandhotel.com

]]></description>
			<content:encoded><![CDATA[<p>Client: The Irvine Company<br />
Work: Ektron CMS, Development<br />
Link: <a href="http://www.islandhotel.com/">islandhotel.com</a></p>
<p><a href="http://www.islandhotel.com/"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/island.jpg' alt='Island Hotel' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/island-hotel-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relax The Back Franchise &#8211; Website</title>
		<link>http://www.jonathanspooner.com/web-development/relax-the-back-franchise-website/</link>
		<comments>http://www.jonathanspooner.com/web-development/relax-the-back-franchise-website/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 22:50:19 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2006/08/13/relax-the-back-franchise-website/</guid>
		<description><![CDATA[Client: Relax The Back
Work: Development, Project Manage
Link: Live

]]></description>
			<content:encoded><![CDATA[<p>Client: Relax The Back<br />
Work: Development, Project Manage<br />
Link: <a href="http://relaxthebackfranchise.com/">Live</a></p>
<p><a href="http://relaxthebackfranchise.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/rb.jpg' alt='Relax The Back - Website' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/relax-the-back-franchise-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bright Star Healthcare</title>
		<link>http://www.jonathanspooner.com/web-development/bright-star-healthcare/</link>
		<comments>http://www.jonathanspooner.com/web-development/bright-star-healthcare/#comments</comments>
		<pubDate>Sat, 13 May 2006 22:38:12 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2006/05/13/bright-star-healthcare/</guid>
		<description><![CDATA[Client: Bright Star Healthcare
Work: Develop, Contribute CMS
Link: Live


]]></description>
			<content:encoded><![CDATA[<p>Client: Bright Star Healthcare<br />
Work: Develop, Contribute CMS<br />
Link: <a href="http://www.247brightstar.com/">Live</a><br />
<a href="http://www.247brightstar.com"><br />
<img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/brightstar.jpg' alt='Bright Star Healthcare' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/bright-star-healthcare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightStar Franchise Website</title>
		<link>http://www.jonathanspooner.com/web-development/brightstar-franchise-website/</link>
		<comments>http://www.jonathanspooner.com/web-development/brightstar-franchise-website/#comments</comments>
		<pubDate>Thu, 13 Apr 2006 22:46:22 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2007/07/13/brightstar-franchise-website/</guid>
		<description><![CDATA[Client: BrightStar
Work: Development
Link: Live

]]></description>
			<content:encoded><![CDATA[<p>Client: BrightStar<br />
Work: Development<br />
Link: <a href="http://brightstarfranchise.com/">Live</a></p>
<p><a href="http://brightstarfranchise.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/bright_star_franchise.jpg' alt='BrightStar Franchise Healthcare' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/brightstar-franchise-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aviatech &#8211; Website</title>
		<link>http://www.jonathanspooner.com/web-development/aviatech-website/</link>
		<comments>http://www.jonathanspooner.com/web-development/aviatech-website/#comments</comments>
		<pubDate>Sun, 13 Nov 2005 22:58:42 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jonathanspooner.com/blog/2005/11/13/aviatech-website/</guid>
		<description><![CDATA[Client: Aviatech
Work: Concept, Design, Develop, Post Video Editing.
Link: aviatech.com

]]></description>
			<content:encoded><![CDATA[<p>Client: <a href="http://www.aviatech.com">Aviatech</a><br />
Work: Concept, Design, Develop, Post Video Editing.<br />
Link: <a href="http://www.aviatech.com">aviatech.com</a></p>
<p><a href="http://www.aviatech.com"><img src='http://www.jonathanspooner.com/blog/wp-content/uploads/2007/07/aviatech.jpg' alt='Aviatech Website' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanspooner.com/web-development/aviatech-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

