<?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>FlexDaddy &#187; Tutorial</title>
	<atom:link href="http://www.flexdaddy.com/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexdaddy.com</link>
	<description>Andrew Spaulding on Adobe Flash Platform Technologies</description>
	<lastBuildDate>Mon, 25 Jul 2011 04:23:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Signing an Ooyala API query with AS3</title>
		<link>http://www.flexdaddy.com/2011/07/19/signing-an-ooyala-api-query-with-as3/</link>
		<comments>http://www.flexdaddy.com/2011/07/19/signing-an-ooyala-api-query-with-as3/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 01:21:58 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Ooyala]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[signature]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.com/?p=505</guid>
		<description><![CDATA[In order to invoke Ooyala&#8217;s APIs we require that you sign each request using a combination of private keys, the request parameters, and an expiration time. The appended signature is generated with a SHA256 hash and then by creating a Base64 encoded string of the SHA256 digest. There are a few smaller steps outlined in [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2011/06/20/ooyala-django-another-awesome-ooyala-library/' rel='bookmark' title='Ooyala Django &#8211; another awesome Ooyala library'>Ooyala Django &#8211; another awesome Ooyala library</a></li>
<li><a href='http://www.flexdaddy.com/2005/09/06/alert-alert-listen-to-the-buttons/' rel='bookmark' title='Alert! Alert! Listen to the buttons!'>Alert! Alert! Listen to the buttons!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In order to invoke Ooyala&#8217;s APIs we require that you sign each request using a combination of private keys, the request parameters, and an expiration time. The appended signature is generated with a SHA256 hash and then by creating a Base64 encoded string of the SHA256 digest. There are a few smaller steps <a title="Ooyala Backlot API" href="http://www.ooyala.com/support/docs/backlot_api#signing" target="_blank">outlined in our documentation</a> such as limiting the signature to 43 characters in length, removing any trailing equals signs, and URI encoding the signature to make sure it is URL friendly.</p>
<p>The <a title="AS3CoreLib" href="https://github.com/mikechambers/as3corelib" target="_blank">AS3CoreLib</a> (available over at <a title="Mike Chambers" href="http://www.mikechambers.com/blog/" target="_blank">Mike Chambers</a> github) contains a crypto package, and particularly a SHA256 class. It also has a hashToBase64 method, even better! But&#8230; the Base64 utility class it uses no longer exists in the Flash runtime. The class mx.utils.Base64Encoder needs to be replaced for our use case, and you can find many online. The Base64 class I&#8217;ve chosen is freely available for use and modification from Jean-Philippe Auclair. Check out his blog post for a <a title="Base64 optimized AS3 lib" href="http://jpauclair.net/2010/01/09/base64-optimized-as3-lib/" target="_blank">Base64 optimized AS3 lib</a>.</p>
<p><a target="_blank" href="http://www.flexdaddy.com/wp-content/uploads/2011/07/OoyalaAS3SignatureGeneration.zip">Download my complete source code</a>, or if you want to create your own, the following are the steps I&#8217;ve taken to modify the Adobe SHA256 class with a different Base64 utility.<br />
<span id="more-505"></span><br />
Firstly, edit the SHA256 class in com.adobe.crypto and change the hashToBase64() function to look like this -</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #339966; font-weight: bold;">function</span> hashToBase64<span style="color: #000000;">&#40;</span> s<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #6699cc; font-weight: bold;">var</span> blocks<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Array</span> = createBlocksFromString<span style="color: #000000;">&#40;</span> s <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  <span style="color: #6699cc; font-weight: bold;">var</span> byteArray<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">ByteArray</span> = hashBlocks<span style="color: #000000;">&#40;</span>blocks<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
  <span style="color: #009900; font-style: italic;">// use the new Base64 class			</span>
  <span style="color: #0033ff; font-weight: bold;">return</span> Base64<span style="color: #000066; font-weight: bold;">.</span>encode<span style="color: #000000;">&#40;</span>byteArray<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Next you need to generate the signature and create the URL for the request following Ooyala&#8217;s guidelines for signature generation.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #339966; font-weight: bold;">function</span> generateURL<span style="color: #000000;">&#40;</span>pcode<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> scode<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span>
                                   requestType<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> params<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Array</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000066; font-weight: bold;">!</span>params<span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;expires&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
    <span style="color: #009900; font-style: italic;">// if no expiry time exists, add one</span>
	params<span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;expires&quot;</span><span style="color: #000000;">&#93;</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Date</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">time</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #000000; font-weight:bold;">900</span><span style="color: #000066; font-weight: bold;">;</span> 
  <span style="color: #000000;">&#125;</span>
&nbsp;
  <span style="color: #6699cc; font-weight: bold;">var</span> stringToSign<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = scode<span style="color: #000066; font-weight: bold;">;</span>
  <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">url</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;http://api.ooyala.com/&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> requestType<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
  <span style="color: #004993;">url</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;?pcode=&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> pcode<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
  <span style="color: #6699cc; font-weight: bold;">var</span> keys<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Array</span> = extractKeysAndSort<span style="color: #000000;">&#40;</span>params<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
  <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">each</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> key<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> <span style="color: #0033ff; font-weight: bold;">in</span> keys<span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
	stringToSign <span style="color: #000066; font-weight: bold;">+</span>= key <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;=&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> params<span style="color: #000000;">&#91;</span>key<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #004993;">url</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;&amp;&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> key <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;=&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #004993;">encodeURIComponent</span><span style="color: #000000;">&#40;</span>params<span style="color: #000000;">&#91;</span>key<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  <span style="color: #000000;">&#125;</span>
&nbsp;
  <span style="color: #6699cc; font-weight: bold;">var</span> signature<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = SHA256<span style="color: #000066; font-weight: bold;">.</span>hashToBase64<span style="color: #000000;">&#40;</span>stringToSign<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  signature = signature<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">replace</span><span style="color: #000000;">&#40;</span><span style="color: #009966; font-style: italic;">/=+$/</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  <span style="color: #004993;">url</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;&amp;signature=&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #004993;">encodeURIComponent</span><span style="color: #000000;">&#40;</span>signature<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
  <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #004993;">url</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>And using the class is fairly simple. Remember to get your Partner Code and Secret Code from the developers tab in Backlot, then follow the API requirements for the specific call you want to make. </p>
<p>In this example I&#8217;m <a target="_blank" href="http://www.ooyala.com/support/docs/backlot_api#query">querying the Backlot API</a> to return details of a video. The result of a query is an XML document that could include a paginated list of results for the query items. </p>
<p>First, set up your query parameters. If you don&#8217;t include an expiration time for the query, the utility class will add one for you.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// query parameters</span>
<span style="color: #6699cc; font-weight: bold;">var</span> params<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Array</span> = <span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
params<span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;embedCode&quot;</span><span style="color: #000000;">&#93;</span> = <span style="color: #990000;">&quot;&lt;INSERT VIDEO EMBEDCODE&gt;&quot;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Next, set your query type. This is the user-friendly RESTful URL structure that is appended to the API call, such as partner/query or partner/labels.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// query type</span>
<span style="color: #6699cc; font-weight: bold;">var</span> queryType<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;partner/query&quot;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>And finally, using your Partner code and Secret for your Backlot account, invoke the Ooyala API Utility in one of two ways, either return a URLRequest object, or a URL string.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// generate URL Request</span>
<span style="color: #6699cc; font-weight: bold;">var</span> urlRequest<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">URLRequest</span> = OoyalaAPIUtil<span style="color: #000066; font-weight: bold;">.</span>generateSignedURLRequest<span style="color: #000000;">&#40;</span>
                                              pcode<span style="color: #000066; font-weight: bold;">,</span> scode<span style="color: #000066; font-weight: bold;">,</span> queryType<span style="color: #000066; font-weight: bold;">,</span> params<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">url</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = OoyalaAPIUtil<span style="color: #000066; font-weight: bold;">.</span>generateURL<span style="color: #000000;">&#40;</span>pcode<span style="color: #000066; font-weight: bold;">,</span> scode<span style="color: #000066; font-weight: bold;">,</span> queryType<span style="color: #000066; font-weight: bold;">,</span> params<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>The resulting XML from making the call will look something like this -</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;list</span> <span style="color: #000066;">totalResults</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">pageID</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">statistics-as-of_text</span>=<span style="color: #ff0000;">&quot;Tue Jul 19 00:40:01 UTC 2011&quot;</span> <span style="color: #000066;">limit</span>=<span style="color: #ff0000;">&quot;500&quot;</span> <span style="color: #000066;">statistics-as-of</span>=<span style="color: #ff0000;">&quot;1311036001&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;embedCode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>12345678901234567890<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/embedCode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Big Buck Bunny<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>The Peach open movie project<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;status<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>live<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/status<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;content_type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Video<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/content_type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;uploadedAt<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1297678678<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/uploadedAt<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;length<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>596458<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/length<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;size<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>928670754<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/size<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;updatedAt<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1304451370<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/updatedAt<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;flightStartTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1175731200<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/flightStartTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;width<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1920<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/width<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;height<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1080<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/height<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;thumbnail</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>http://ak.c.ooyala.com/12345678901234567890/promo121984023<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/thumbnail<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;stat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/stat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/list<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>I&#8217;ve made this available as a Ooyala API utility class for you to use whenever you need to generate a signed URL for an Ooyala API call.</p>
<p><a target="_blank" href="http://www.flexdaddy.com/wp-content/uploads/2011/07/OoyalaAS3SignatureGeneration.zip">Download the Ooyala API Utility class for AS3 here</a>.</p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2011/06/20/ooyala-django-another-awesome-ooyala-library/' rel='bookmark' title='Ooyala Django &#8211; another awesome Ooyala library'>Ooyala Django &#8211; another awesome Ooyala library</a></li>
<li><a href='http://www.flexdaddy.com/2005/09/06/alert-alert-listen-to-the-buttons/' rel='bookmark' title='Alert! Alert! Listen to the buttons!'>Alert! Alert! Listen to the buttons!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2011/07/19/signing-an-ooyala-api-query-with-as3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a cinema lighting experience with JQuery for your video player</title>
		<link>http://www.flexdaddy.com/2011/03/30/create-a-cinema-lighting-experience-with-your-video-player/</link>
		<comments>http://www.flexdaddy.com/2011/03/30/create-a-cinema-lighting-experience-with-your-video-player/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 23:19:04 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Ooyala]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[cinema]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.com/?p=462</guid>
		<description><![CDATA[I wanted to add a website dimming experience akin to video player features similar to those found on Hulu or on AdobeTV, where you can toggle the &#8220;lights&#8221; so to speak on your site. In my example I use some simple JQuery to append or remove a Div to the HTML DOM, and leverage some [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2010/12/14/virgin-mobile-uses-ooyala-for-an-improved-customer-experience/' rel='bookmark' title='Virgin Mobile uses Ooyala for an improved customer experience'>Virgin Mobile uses Ooyala for an improved customer experience</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I wanted to add a <a title="Ooyala Cinema Experience" href="http://flexdaddy.com/ooyala/dimlights/" target="_blank">website dimming experience</a> akin to video player features similar to those found on <a title="Hulu" href="http://hulu.com" target="_blank">Hulu</a> or on <a title="AdobeTV" href="http://tv.adobe.com" target="_blank">AdobeTV</a>, where you can toggle the &#8220;lights&#8221; so to speak on your site. <a title="Ooyala Cinema Experience" href="http://www.flexdaddy.com/ooyala/dimlights/" target="_blank">In my example</a> I use some simple JQuery to append or remove a Div to the HTML DOM, and leverage some basic JQuery effects to fade in or fade out the Div. The darkened web site result is achieved by Div with a black background at 80% opacity that sits above all other web content on your page.</p>
<p><a title="Ooyala Cinema Experience" href="http://flexdaddy.com/ooyala/dimlights/" target="_blank">Try the example yourself</a>, and turn the lights on and off!<br />
View the source to see how it all works.</p>
<p><a href="http://www.flexdaddy.com/ooyala/dimlights/" target="_blank"><img class="aligncenter size-full wp-image-463" title="Ooyala Cinema Experience" src="http://www.flexdaddy.com/wp-content/uploads/2011/03/CinemaLights.png" alt="" width="600" height="338" /></a></p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2010/12/14/virgin-mobile-uses-ooyala-for-an-improved-customer-experience/' rel='bookmark' title='Virgin Mobile uses Ooyala for an improved customer experience'>Virgin Mobile uses Ooyala for an improved customer experience</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2011/03/30/create-a-cinema-lighting-experience-with-your-video-player/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Searchable flash video with speech transcripts</title>
		<link>http://www.flexdaddy.com/2010/03/26/searchable-flash-video-with-speech-transcripts/</link>
		<comments>http://www.flexdaddy.com/2010/03/26/searchable-flash-video-with-speech-transcripts/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 03:42:40 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[cuepoints]]></category>
		<category><![CDATA[premiere]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[soundbooth]]></category>
		<category><![CDATA[transcript]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.com/?p=358</guid>
		<description><![CDATA[With Adobe Production Premium CS4 you can create searchable video by using the speech to text functionality in Premiere Pro CS4 and Soundbooth CS4. The speech transcript can be embedded as metadata within the media asset, or externalised as an XML file representing Flash cuepoints. When consuming the XML and Flash Video file online the [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2011/03/30/create-a-cinema-lighting-experience-with-your-video-player/' rel='bookmark' title='Create a cinema lighting experience with JQuery for your video player'>Create a cinema lighting experience with JQuery for your video player</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>With <a href="http://www.adobe.com/products/creativesuite/production/videosearch/">Adobe Production Premium CS4</a> you can create searchable video by using the speech to text functionality in Premiere Pro CS4 and Soundbooth CS4. The speech transcript can be embedded as metadata within the media asset, or externalised as an XML file representing Flash cuepoints. When consuming the XML and Flash Video file online the end result is an interactive video where users can search for keywords, view tag clouds for most used words, and browse directly to a timestamp where the keyword is spoken.</p>
<p>Genius! Why didn&#8217;t I think of that <img src='http://www.flexdaddy.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Well here it is. Take a look at the slides from my recent Adobe eSeminar and check out the following demos and resources. Looking forward to seeing how you use this on your site!</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 	width="590" height="472"
 	codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
 	<param name="movie" value="https://acrobat.com/Clients/current/ADCMainEmbed.swf" />
 	<param name="quality" value="high" />
    <param name="wmode" value="transparent" />
 	<param name="bgcolor" value="#202020" />
 	<param name="allowScriptAccess" value="sameDomain" />
 	<param name="allowFullScreen" value="true" />
    <param name="flashvars" value="d=-y0h*ypjKl7eZoBfR2AisA" />
 	<embed src="https://acrobat.com/Clients/current/ADCMainEmbed.swf" quality="high" bgcolor="#202020"
 		width="590" height="472" align="middle"
 		play="true"
 		loop="false"
 		quality="high"
 		wmode="transparent"
 		allowScriptAccess="sameDomain"
 		allowFullScreen="true"
 		type="application/x-shockwave-flash"
        flashvars="d=-y0h*ypjKl7eZoBfR2AisA"
 		pluginspage="http://www.adobe.com/go/getflashplayer">
 	</embed>
    </object></p>
<p><strong>Analyzing Obama&#8217;s Inaugural Speech</strong><br />
<a href="http://www.tinyurl.com/nytsearch">http://www.tinyurl.com/nytsearch</a></p>
<p><strong>Search captions on Hulu</strong><br />
<a href="http://blog.hulu.com/2009/12/21/search-captions-on-hulu/">http://blog.hulu.com/2009/12/21/search-captions-on-hulu/</a></p>
<p><strong>Adobe Creative Suite 4 Production Premium: Video search templates</strong><br />
<a href="http://www.adobe.com/products/creativesuite/production/videosearch/">http://www.adobe.com/products/creativesuite/production/videosearch/</a></p>
<p><strong>Nick Hippe, Online Searchable Video</strong><br />
<a href="http://nhippe.com/2009/10/15/online-searchable-video/">http://nhippe.com/2009/10/15/online-searchable-video/</a></p>
<p>And for a little bit more detail watch this great recording from Adobe MAX 2008 on Adobe TV.</p>
<p><object width="590" height="472"><param name="movie" value="http://images.tv.adobe.com/swf/player.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="FlashVars" value="fileID=1759&context=130&embeded=true&environment=production"></param><embed src="http://images.tv.adobe.com/swf/player.swf" flashvars="fileID=1759&context=130&embeded=true&environment=production" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="590" height="472"></embed></object></p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2011/03/30/create-a-cinema-lighting-experience-with-your-video-player/' rel='bookmark' title='Create a cinema lighting experience with JQuery for your video player'>Create a cinema lighting experience with JQuery for your video player</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2010/03/26/searchable-flash-video-with-speech-transcripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cast a loaded Flex Application to an Interface</title>
		<link>http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/</link>
		<comments>http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 05:11:37 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[loader]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.com/?p=336</guid>
		<description><![CDATA[Over at The Question Room (or @thequestionroom) the banditos received a bunch of tweet questions about a problem @gertjansmits was having when loading a Flex application with a SWFLoader and casting it to an interface. They&#8217;ve called on my help to get the answer Download the application FXP (Flash Builder 4 project) or Run the [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/04/30/flex-2-sample-application-tudu-lists/' rel='bookmark' title='Flex 2 sample application &#8211; tudu lists'>Flex 2 sample application &#8211; tudu lists</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/' rel='bookmark' title='Build your first AIR application with Adobe Flex'>Build your first AIR application with Adobe Flex</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Over at <a href="http://www.thequestionroom.com" target="_blank">The Question Room</a> (or <a href="http://twitter.com/thequestionroom" target="_blank">@thequestionroom</a>) the banditos received a bunch of tweet questions about a problem <a href="http://twitter.com/gertjansmits" target="_blank">@gertjansmits</a> was having when loading a Flex application with a SWFLoader and casting it to an interface.</p>
<p>They&#8217;ve called on my help to get the answer <img src='http://www.flexdaddy.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a href="http://www.flexdaddy.com/wp-content/uploads/2010/01/CastToInterface.fxp" target="_blank">Download the application FXP</a> (Flash Builder 4 project) or<br />
<a href="http://www.flexdaddy.com/samples/flex3/castinterface/" target="_blank">Run the application</a> (Right click and View Source)</p>
<p>My simple interface class, TestInterface, implements 3 functions, a simple getter/setter pair and a function called sayHello.</p>
<p><strong>TestInterface.as</strong><br />
<code></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> com<span style="color: #000066; font-weight: bold;">.</span>flexdaddy
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> interface TestInterface
	<span style="color: #000000;">&#123;</span>
		<span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> givenName<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span>
		<span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">set</span> givenName<span style="color: #000000;">&#40;</span>str<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #339966; font-weight: bold;">function</span> sayHello<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p></code></p>
<p>You first need to make sure the Application you are loading implements this interface. My root application tag looks like this:<br />
<span id="more-336"></span><br />
<strong>LoadedApp.mxml</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span></span>
<span style="color: #000000;">        implements=<span style="color: #ff0000;">&quot;com.flexdaddy.TestInterface&quot;</span></span>
<span style="color: #000000;">        width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>And then in a Script block I make sure to implement all three functions specified above.</p>
<p><strong>LoadedApp.mxml (LoadedApp.swf)</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span></span>
<span style="color: #000000;">	implements=<span style="color: #ff0000;">&quot;com.flexdaddy.TestInterface&quot;</span></span>
<span style="color: #000000;">	width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">		&lt;![CDATA[</span>
<span style="color: #339933;">			import mx.controls.Alert;</span>
&nbsp;
<span style="color: #339933;">			private var _givenName:String;</span>
&nbsp;
<span style="color: #339933;">			public function set givenName( str:String ):void</span>
<span style="color: #339933;">			{</span>
<span style="color: #339933;">				_givenName = str;</span>
<span style="color: #339933;">			}</span>
&nbsp;
<span style="color: #339933;">			public function get givenName():String</span>
<span style="color: #339933;">			{</span>
<span style="color: #339933;">				return _givenName;</span>
<span style="color: #339933;">			}</span>
&nbsp;
<span style="color: #339933;">			public function sayHello():void</span>
<span style="color: #339933;">			{</span>
<span style="color: #339933;">				mx.controls.Alert.show(  &quot;Hello &quot; + givenName );</span>
<span style="color: #339933;">			}</span>
&nbsp;
<span style="color: #339933;">		]]&gt;</span>
<span style="color: #339933;">	&lt;/mx:Script&gt;</span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>Now when loading the LoadedApp application when using a SWFLoader in the main application we first need to do the following:</p>
<ol>
<li>Listen for a SWFLoader complete event</li>
<li>Cast the SWFLoader content as a SystemManager</li>
<li>Add an event listener on the loaded content for a FlexEvent.APPLICATION_COMPLETE</li>
<li>When FlexEvent.APPLICATION_COMPLETE we can cast event.currentTarget.application to our Interface</li>
</ol>
<p>This will make sense in the code below. You&#8217;ll also notice that after we cast the loaded Flex application to TestInterface we can directly call on any methods or properties implemented from the Interface. In this case I set the givenName and call the sayHello function.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">	&lt;![CDATA[</span>
&nbsp;
<span style="color: #339933;">		import mx.events.FlexEvent;</span>
<span style="color: #339933;">		import mx.managers.SystemManager;</span>
&nbsp;
<span style="color: #339933;">		import com.flexdaddy.TestInterface;</span>
&nbsp;
<span style="color: #339933;">		private var myLoadedApp:TestInterface;</span>
&nbsp;
<span style="color: #339933;">		protected function swfloaderComplete(event:Event):void</span>
<span style="color: #339933;">		{</span>
<span style="color: #339933;">			// the SWF Loader has complete but we need to wait for the</span>
<span style="color: #339933;">			// Flex application to load</span>
&nbsp;
<span style="color: #339933;">			var loadedApp:SystemManager = event.target.content as SystemManager;</span>
<span style="color: #339933;">			loadedApp.addEventListener( FlexEvent.APPLICATION_COMPLETE, loadedAppComplete );</span>
<span style="color: #339933;">		}</span>
&nbsp;
<span style="color: #339933;">		protected function loadedAppComplete( event:FlexEvent ):void</span>
<span style="color: #339933;">		{</span>
<span style="color: #339933;">			// cast the loaded application to the Interface</span>
<span style="color: #339933;">			myLoadedApp = event.currentTarget.application as TestInterface;</span>
<span style="color: #339933;">			myLoadedApp.givenName = &quot;Flex Daddy&quot;;</span>
<span style="color: #339933;">			myLoadedApp.sayHello();</span>
<span style="color: #339933;">		}</span>
&nbsp;
<span style="color: #339933;">	]]&gt;</span>
<span style="color: #339933;">	&lt;/mx:Script&gt;</span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:SWFLoader</span> source=<span style="color: #ff0000;">&quot;LoadedApp.swf&quot;</span> complete=<span style="color: #ff0000;">&quot;swfloaderComplete(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>And that&#8217;s it!</p>
<p><a href="http://www.flexdaddy.com/wp-content/uploads/2010/01/CastToInterface.fxp" target="_blank">Download the application FXP</a> (Flash Builder 4 project) or<br />
<a href="http://www.flexdaddy.com/samples/flex3/castinterface/" target="_blank">Run the application</a> (Right click and View Source)</p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/04/30/flex-2-sample-application-tudu-lists/' rel='bookmark' title='Flex 2 sample application &#8211; tudu lists'>Flex 2 sample application &#8211; tudu lists</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/' rel='bookmark' title='Build your first AIR application with Adobe Flex'>Build your first AIR application with Adobe Flex</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Flash Catalyst learning resources</title>
		<link>http://www.flexdaddy.com/2009/06/06/flash-catalyst-learning-resources/</link>
		<comments>http://www.flexdaddy.com/2009/06/06/flash-catalyst-learning-resources/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 00:34:00 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/?p=182</guid>
		<description><![CDATA[Since Adobe Flash Catalyst was officially announced at Adobe MAX 2008 I&#8217;ve kept a list of my favorite blog posts, videos, screencasts and links to downloads and tutorials. Hopefully these resources will help in getting you started. For the developers, you&#8217;ll find some interesting reads on FXG and why we have gone down this path, [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2009/10/03/experiences-across-multiple-screens-at-adobe-max/' rel='bookmark' title='Experiences Across Multiple Screens at Adobe MAX'>Experiences Across Multiple Screens at Adobe MAX</a></li>
<li><a href='http://www.flexdaddy.com/2006/06/28/flexorg-a-great-new-flex-2-resource/' rel='bookmark' title='Flex.org, a great new Flex 2 resource'>Flex.org, a great new Flex 2 resource</a></li>
<li><a href='http://www.flexdaddy.com/2006/04/30/flex-builder-2-beta-3-preview/' rel='bookmark' title='Flex Builder 2 Beta 3 preview'>Flex Builder 2 Beta 3 preview</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.flexdaddy.info/wp-content/uploads/2009/06/catalyst.png" alt="Flash Catalyst" title="Flash Catalyst" width="193" height="193" class="alignleft size-full wp-image-186" style="margin-top:20px;" /><br />
Since <a href="http://www.adobe.com/go/flashcatalyst">Adobe Flash Catalyst</a> was officially announced at Adobe MAX 2008 I&#8217;ve kept a list of my favorite blog posts, videos, screencasts and links to downloads and tutorials. Hopefully these resources will help in getting you started. </p>
<p>For the developers, you&#8217;ll find some interesting reads on FXG and why we have gone down this path, as well as a great post on an approach towards design patterns when developing a single application for multiple screens.</p>
<p>If you have other links to tutorials, screencasts, skins or other Flash Catalyst related downloads/links I&#8217;d love to hear about it!<br />
<span id="more-182"></span></p>
<p><strong>Downloads</strong><br />
Download both Flash Catalyst beta and Flash Builder 4 beta from <a href="http://labs.adobe.com">Adobe Labs</a></p>
<p><a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashcatalyst">Adobe Flash Catalyst beta</a><br />
<a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashbuilder4">Adobe Flash Builder 4 beta</a></p>
<p><strong>Learn to use Flash Catalyst</strong><br />
Follow a series of tutorials to learn about the Flash Catalyst feature set and what you can achieve when integrating with Flash Builder 4, and designing from Photoshop CS4, Illustrator CS4 or Fireworks CS4.</p>
<p><a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/">http://labs.adobe.com/technologies/flashcatalyst/tutorials/</a></p>
<p><a href="http://thermoteamblog.com/category/started/">Flash Catalyst Team Blog: Explorations and Lessons</a></p>
<p><strong>Screencasts and presentations</strong><br />
This is a small collection of screencasts from various conferences, presentations and tutorials relating to Flash Catalyst.</p>
<p><a href="http://blip.tv/file/1951449">Kevin Lynch&#8217;s keynote from Web2.0 expo</a></p>
<p><a href="http://blog.digitalbackcountry.com/2009/04/mark-anders-fitc-session-on-flash-catalyst/">Mark Anders&#8217; FITC session</a></p>
<p><a href="http://labs.adobe.com/technologies/flash/videos/#flashcamp">FlashCamp San Francisco 2009 keynotes and sessions</a></p>
<p><a href="http://www.flashcamp.org/2009/06/04/flashcamp-san-francisco-session-videos-are-online/">FlashCamp San Francisco 2009 session slides</a></p>
<p><a href="http://theflashblog.com/?p=1027">Lee Brimelow&#8217;s two part tutorial on Flash Catalyst and Flex 4</a></p>
<p><a href="http://blog.digitalbackcountry.com/2009/05/flash-catalystbuilder-screencast/">Ryan Stewart&#8217;s Flash Catalyst/Flash Builder screencast</a></p>
<p><a href="http://www.markszulc.com/blog/2009/05/31/flash-catalyst-beta-1-demo-in-4-minutes/">Mark Szulc&#8217;s Flash Catalyst beta 1 demo in 4 minutes</a></p>
<p><strong>Other cool downloads and links</strong><br />
Other links I&#8217;ve found worthwhile, especially the tutorials and resources on the Flash Catalyst Team Blog.</p>
<p><a href="http://groups.adobe.com/resources/d17e72cf15/summary">Flash Catalyst Skin Library</a></p>
<p><a href="http://thermoteamblog.com/">Flash Catalyst Team Blog</a></p>
<p><a href="http://blog.digitalbackcountry.com/2009/05/using-fxg-assets-as-custom-markers-in-google-maps/">Using FXG assets as custom markers in Google Maps</a></p>
<p><a href="http://www.andersblog.com/archives/2008/09/flash_on_the_be.html">Mark Anders on FXG vs SVG</a></p>
<p><a href="http://www.andersblog.com/archives/2009/05/post.html">Mark Anders&#8217; thoughts on FXG Design and Motivation </a></p>
<p><strong>Design patterns with Flash Catalyst and Flex 4</strong><br />
An interesting read on an approach to creating and developing dynamic user interfaces that are targeted at multiple devices (think multi-screen applications)</p>
<p><a href="http://elromdesign.com/blog/2009/03/15/passive-multi-view-design-pattern-create-flex-dynamic-graphical-guis-for-flash-10-using-catalyst/">Passive Multi-View design pattern: Creating Dynamic Flex UI&#8217;s using Flash Catalyst and Flex</a></p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2009/10/03/experiences-across-multiple-screens-at-adobe-max/' rel='bookmark' title='Experiences Across Multiple Screens at Adobe MAX'>Experiences Across Multiple Screens at Adobe MAX</a></li>
<li><a href='http://www.flexdaddy.com/2006/06/28/flexorg-a-great-new-flex-2-resource/' rel='bookmark' title='Flex.org, a great new Flex 2 resource'>Flex.org, a great new Flex 2 resource</a></li>
<li><a href='http://www.flexdaddy.com/2006/04/30/flex-builder-2-beta-3-preview/' rel='bookmark' title='Flex Builder 2 Beta 3 preview'>Flex Builder 2 Beta 3 preview</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2009/06/06/flash-catalyst-learning-resources/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building desktop applications with HTML and JavaScript</title>
		<link>http://www.flexdaddy.com/2008/08/05/building-desktop-applications-with-html-and-javascript/</link>
		<comments>http://www.flexdaddy.com/2008/08/05/building-desktop-applications-with-html-and-javascript/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 03:10:12 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AIR Camp]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/?p=165</guid>
		<description><![CDATA[This session at Adobe AIR Camp introduced traditional HTML and JavaScript developers to the AIR SDK and how to use the the various binaries (ADL and ADT) to develop, test, and package desktop applications. The session included a basic introduction to the AIRAliases.js file and it&#8217;s importance when coding against the AIR runtime with JS. [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2005/02/21/building-rias-with-flex-and-cairngorm/' rel='bookmark' title='Building RIA&#8217;s with Flex and Cairngorm'>Building RIA&#8217;s with Flex and Cairngorm</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/04/air-camp-keynote-slides/' rel='bookmark' title='AIR Camp keynote slides'>AIR Camp keynote slides</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/' rel='bookmark' title='Build your first AIR application with Adobe Flex'>Build your first AIR application with Adobe Flex</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This session at Adobe AIR Camp introduced traditional HTML and JavaScript developers to the AIR SDK and how to use the the various binaries (ADL and ADT) to develop, test, and package desktop applications. The session included a basic introduction to the AIRAliases.js file and it&#8217;s importance when coding against the AIR runtime with JS.</p>
<p>What I find really helpful is the <a href="http://www.adobe.com/go/learn_air_html_jslr">Adobe AIR Language Reference for JavaScript developers</a>. This is a subset of the ActionScript 3.0 Language Reference and includes all the AIR specific features that you as a JavaScript developer can access within the AIR runtime.</p>
<p><span id="more-165"></span></p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="590" height="472"> <param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"/> <param name="allowFullScreen" value="true"/> <param name="flashvars"  value="ext=pdf&docId=93c4d486-ed78-4ac3-a1c4-c8450e3464c4"/> <embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="590" height="472" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&docId=93c4d486-ed78-4ac3-a1c4-c8450e3464c4"> </embed> </object></p>
<p>For the basic application seen below you can develop using your favorite text editor and the <a href="http://www.adobe.com/products/air/tools/sdk/">Adobe AIR SDK</a>, download the <a href="http://www.adobe.com/products/air/tools/ajax/">Adobe AIR extension for Dreamweaver CS3</a>, or even try developing with <a href="http://www.aptana.com">Aptana</a>. I really like Aptana as it can be installed as a plugin for Eclipse and sit right beside my Flex development perspective.</p>
<p>For other AIR development tools <a href="http://www.adobe.com/products/air/tools/">click here</a>.</p>
<p>Download the <a href="http://www.flexdaddy.info/wp-content/uploads/2008/08/aircamp_html_sample.zip">source code</a> for the application below.</p>
<p><strong>Your first desktop application with HTML and JavaScript</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Our first HTML AIR application<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;AIRAliases.js&quot;</span> &gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
   function doLoad()
   {
      alert(&quot;Simple alert to show we can include regular JS scripting&quot;);
   }
&nbsp;
   function writeFile()
   {
      var file = air.File.desktopDirectory.resolvePath(&quot;sample.txt&quot;);
	  var stream = new air.FileStream();
&nbsp;
	  stream.open( file, air.FileMode.WRITE );
	  stream.writeMultiByte( document.getElementById('textInput').value , air.File.systemCharset );
	  stream.close();   
   }
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span> <span style="color: #000066;">onLoad</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;doLoad()&quot;</span>&gt;</span>
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>AIR HTML/JavaScript Sample<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>This sample application will take a simple text input entry and write this out to the contents of a file on the users desktop<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;textInput&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;www.flexdaddy.info&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
   <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">onClick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;writeFile()&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Save to desktop&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></td></tr></table></div>

<p><strong>And the application descriptor/manifest file</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;">&lt; ?xml <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;application</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://ns.adobe.com/air/application/1.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>com.flexdaddy.samples.htmlair<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>v1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filename<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>aircamp_sample<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filename<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;initialwindow<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>airsample.html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;visible<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>true<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/visible<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;width<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>400<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/width<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;height<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>350<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/height<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/initialwindow<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/application<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Download the <a href="http://www.flexdaddy.info/wp-content/uploads/2008/08/aircamp_html_sample.zip">source code</a> for this application. </p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2005/02/21/building-rias-with-flex-and-cairngorm/' rel='bookmark' title='Building RIA&#8217;s with Flex and Cairngorm'>Building RIA&#8217;s with Flex and Cairngorm</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/04/air-camp-keynote-slides/' rel='bookmark' title='AIR Camp keynote slides'>AIR Camp keynote slides</a></li>
<li><a href='http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/' rel='bookmark' title='Build your first AIR application with Adobe Flex'>Build your first AIR application with Adobe Flex</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2008/08/05/building-desktop-applications-with-html-and-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Build your first AIR application with Adobe Flex</title>
		<link>http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/</link>
		<comments>http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 01:53:15 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AIR Camp]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/?p=163</guid>
		<description><![CDATA[Adobe Flex really is the development tool and platform of choice for developing desktop experiences on Adobe AIR. This slide deck was presented as part of a series of topics covered at Adobe AIR Camps throughout Australia and New Zealand. Take a look, download it, and share it! If anyone is interested in the demo [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/' rel='bookmark' title='Cast a loaded Flex Application to an Interface'>Cast a loaded Flex Application to an Interface</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2005/03/06/resizable-and-collapsable-titlewindow-flex-15/' rel='bookmark' title='Resizable, Minimizable/Maximizable TitleWindow'>Resizable, Minimizable/Maximizable TitleWindow</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/go/flex">Adobe Flex</a> really is the development tool and platform of choice for developing desktop experiences on <a href="http://www.adobe.com/go/air">Adobe AIR</a>. This slide deck was presented as part of a series of topics covered at Adobe AIR Camps throughout Australia and New Zealand. Take a look, download it, and share it! If anyone is interested in the demo files the Flex Builder project archive can be <a href="http://www.flexdaddy.info/wp-content/uploads/2008/08/aircamp_flex_sample.zip">downloaded here</a>.</p>
<p>The presentation introduces Flex Builder, the Flex framework and the AIR runtime by creating an application with a transparent window (thanks to <a href="http://blog.schematic.com.au">Matt Voerman</a> for providing the pretzel image!) that uses custom chrome and native window commands to move and close the application.<br />
<span id="more-163"></span></p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="590" height="472"> <param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"/> <param name="allowFullScreen" value="true"/> <param name="flashvars"  value="ext=pdf&docId=f41a7811-bc34-4cb5-b50a-d1502aaaaddb"/> <embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="590" height="472" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&docId=f41a7811-bc34-4cb5-b50a-d1502aaaaddb"> </embed> </object></p>
<p>Take a look at the <a href="http://www.flexdaddy.info/wp-content/uploads/2008/08/aircamp_flex_sample.zip">sample project</a>, and if you have any questions feel free to leave a comment. </p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/' rel='bookmark' title='Cast a loaded Flex Application to an Interface'>Cast a loaded Flex Application to an Interface</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2005/03/06/resizable-and-collapsable-titlewindow-flex-15/' rel='bookmark' title='Resizable, Minimizable/Maximizable TitleWindow'>Resizable, Minimizable/Maximizable TitleWindow</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2008/08/05/build-your-first-air-application-with-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex 2 sample application &#8211; tudu lists</title>
		<link>http://www.flexdaddy.com/2006/04/30/flex-2-sample-application-tudu-lists/</link>
		<comments>http://www.flexdaddy.com/2006/04/30/flex-2-sample-application-tudu-lists/#comments</comments>
		<pubDate>Sun, 30 Apr 2006 05:36:07 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[strutts]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/2006/04/30/flex-2-sample-application-tudu-lists/</guid>
		<description><![CDATA[Well for those who are interested today I made a start on my Flex 2 sample application &#8211; developing a Flex 2 UI (also using Cairngorm 2) for an existing Struts application. To get everyone started, take a look at Christophe&#8217;s Flex devnet article &#8220;Providing a Flex Front End to Your Struts Application&#8220;. I have [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/03/21/flex-2-sample-applications-follow-up/' rel='bookmark' title='Flex 2 sample applications &#8211; follow up'>Flex 2 sample applications &#8211; follow up</a></li>
<li><a href='http://www.flexdaddy.com/2006/02/17/flex-2-sample-applications-what-do-you-want-to-see/' rel='bookmark' title='Flex 2 sample applications &#8211; what do you want to see?'>Flex 2 sample applications &#8211; what do you want to see?</a></li>
<li><a href='http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/' rel='bookmark' title='Cast a loaded Flex Application to an Interface'>Cast a loaded Flex Application to an Interface</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Well for those who are interested today I made a start on my Flex 2 sample application &#8211; developing a Flex 2 UI (also using Cairngorm 2) for an existing Struts application.</p>
<p>To get everyone started, take a look at Christophe&#8217;s Flex devnet article &#8220;<a target="_blank" href="http://www.macromedia.com/devnet/flex/articles/struts.html">Providing a Flex Front End to Your Struts Application</a>&#8220;. I have chosen <a target="_blank" href="http://app.ess.ch/tudu/welcome.action">Tudu Lists</a> as the existing Struts application for the new user interface.</p>
<p>More news in the coming days.</p>
<p>Related posts:</p>
<ul>
<li><a target="_blank" href="http://www.flexdaddy.info/2006/02/17/flex-2-sample-applications-what-do-you-want-to-see/">Flex 2 sample applications &#8211; what do you want to see?</a></li>
<li><a target="_blank" href="http://www.flexdaddy.info/2006/03/21/flex-2-sample-applications-follow-up/">Flex 2 sample applications &#8211; follow up</a></li>
</ul>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/03/21/flex-2-sample-applications-follow-up/' rel='bookmark' title='Flex 2 sample applications &#8211; follow up'>Flex 2 sample applications &#8211; follow up</a></li>
<li><a href='http://www.flexdaddy.com/2006/02/17/flex-2-sample-applications-what-do-you-want-to-see/' rel='bookmark' title='Flex 2 sample applications &#8211; what do you want to see?'>Flex 2 sample applications &#8211; what do you want to see?</a></li>
<li><a href='http://www.flexdaddy.com/2010/01/19/cast-a-loaded-flex-application-to-an-interface/' rel='bookmark' title='Cast a loaded Flex Application to an Interface'>Cast a loaded Flex Application to an Interface</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2006/04/30/flex-2-sample-application-tudu-lists/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>Flex and Ajax live happily ever after</title>
		<link>http://www.flexdaddy.com/2006/03/21/flex-and-ajax-live-happily-ever-after/</link>
		<comments>http://www.flexdaddy.com/2006/03/21/flex-and-ajax-live-happily-ever-after/#comments</comments>
		<pubDate>Tue, 21 Mar 2006 10:06:47 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/2006/03/21/flex-and-ajax-live-happily-ever-after/</guid>
		<description><![CDATA[Christophe Coenraets, the man with all the tricks, has put together a fantastic application demo using both Flex 2.0, Ajax and the recently released Flex Ajax Bridge. Named The Hybrid Store, the application demonstrates the interaction of Ajax filtering controls with the Flex presentation of a Mobile Phone selector (based on the Flexstore sample that [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/03/21/download-new-flex-20-beta-2-yes-beta-2-is-here/' rel='bookmark' title='Download new Flex 2.0 Beta 2 &#8211; yes Beta 2 is here!'>Download new Flex 2.0 Beta 2 &#8211; yes Beta 2 is here!</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2005/10/17/macromedia-labs-is-live/' rel='bookmark' title='Macromedia Labs is LIVE!'>Macromedia Labs is LIVE!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://coenraets.com/index.jsp">Christophe Coenraets</a>, the man with all the tricks, has put together a fantastic application demo using both Flex 2.0, Ajax and the recently released Flex Ajax Bridge. Named The Hybrid Store, the application demonstrates the interaction of Ajax filtering controls with the Flex presentation of a Mobile Phone selector (based on the Flexstore sample that ships with Flex 2.0)</p>
<p>Read <a target="_blank" href="http://coenraets.com/viewarticle.jsp?articleId=99">Christophe&#8217;s blog post</a> to find out more and to run the application.</p>
<p>On a side note, check out the new <a target="_blank" href="http://finance.google.com/finance?q=adbe">Google Finance beta</a>, which demonstrates Flash and Ajax interaction &#8211; click on a chart item in the Flash chart and the corresponding item is highlighted in the HTML view, slide the zoom on the chart and the articles in HTML slide around to show relevant information. Fantastic integration between 2 awesome technologies. Any RIA developer should be excited about the possibilities! </p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/03/21/download-new-flex-20-beta-2-yes-beta-2-is-here/' rel='bookmark' title='Download new Flex 2.0 Beta 2 &#8211; yes Beta 2 is here!'>Download new Flex 2.0 Beta 2 &#8211; yes Beta 2 is here!</a></li>
<li><a href='http://www.flexdaddy.com/2005/05/04/flex-application-starter-toolkit/' rel='bookmark' title='Flex Application Starter Toolkit'>Flex Application Starter Toolkit</a></li>
<li><a href='http://www.flexdaddy.com/2005/10/17/macromedia-labs-is-live/' rel='bookmark' title='Macromedia Labs is LIVE!'>Macromedia Labs is LIVE!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2006/03/21/flex-and-ajax-live-happily-ever-after/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cairngorm Series on Flex DevNet</title>
		<link>http://www.flexdaddy.com/2006/03/15/cairngorm-series-on-flex-devnet/</link>
		<comments>http://www.flexdaddy.com/2006/03/15/cairngorm-series-on-flex-devnet/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 01:03:10 +0000</pubDate>
		<dc:creator>Andrew Spaulding</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[cairngorm]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.flexdaddy.info/2006/03/15/cairngorm-series-on-flex-devnet/</guid>
		<description><![CDATA[Be sure to check out the series of articles on the Flex DevNet &#8211; Developing Flex RIA&#8217;s with Cairngorm Microarchitecture written by Steven Webster of Adobe Consulting (formerly iteration::two). This series of 6 articles are focussed around Cairngorm 0.99 and Flex 1.5, but the same principles can be applied when using Flex 2 and the [...]
Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/06/28/cairngorm-has-a-new-home/' rel='bookmark' title='Cairngorm has a new home'>Cairngorm has a new home</a></li>
<li><a href='http://www.flexdaddy.com/2006/02/02/cairngorm-20-alpha/' rel='bookmark' title='Cairngorm 2.0 Alpha'>Cairngorm 2.0 Alpha</a></li>
<li><a href='http://www.flexdaddy.com/2005/02/21/building-rias-with-flex-and-cairngorm/' rel='bookmark' title='Building RIA&#8217;s with Flex and Cairngorm'>Building RIA&#8217;s with Flex and Cairngorm</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Be sure to check out the series of articles on the <a target="_blank" href="http://www.macromedia.com/devnet/flex/">Flex DevNet</a> &#8211; <strong>Developing Flex RIA&#8217;s with Cairngorm Microarchitecture</strong> written by <a target="_blank" href="http://www.richinternetapps.com/index.html">Steven Webster</a> of Adobe Consulting (formerly iteration::two).</p>
<p>This series of 6 articles are focussed around <a target="_blank" href="http://www.iterationtwo.com/open_source_cairngorm.html">Cairngorm 0.99</a> and <a href="http://www.macromedia.com/go/flex">Flex 1.5</a>, but the same principles can be applied when using Flex 2 and the new <a target="_blank" href="http://www.flexdaddy.info/2006/02/02/cairngorm-20-alpha/">Cairngorm 2.0 Alpha</a> release. Using a framework such as Cairngorm really keeps your code disciplined, allows for reusability, ease of architecture/design/planning, and a clean implementation of MVC. It gives you a direction to start heading when developing an application using Adobe Flex. Of course larger scale applications can be written without Cairngorm, but if you&#8217;re familiar with MVC then Cairngorm provides a great starting ground with a fantastic direction to follow.</p>
<p>Keep an eye out for a subsequent realease of articles that will cover Cairngorm with Flex 2. Nice work Steven. </p>
<p>Related posts:<ol>
<li><a href='http://www.flexdaddy.com/2006/06/28/cairngorm-has-a-new-home/' rel='bookmark' title='Cairngorm has a new home'>Cairngorm has a new home</a></li>
<li><a href='http://www.flexdaddy.com/2006/02/02/cairngorm-20-alpha/' rel='bookmark' title='Cairngorm 2.0 Alpha'>Cairngorm 2.0 Alpha</a></li>
<li><a href='http://www.flexdaddy.com/2005/02/21/building-rias-with-flex-and-cairngorm/' rel='bookmark' title='Building RIA&#8217;s with Flex and Cairngorm'>Building RIA&#8217;s with Flex and Cairngorm</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.flexdaddy.com/2006/03/15/cairngorm-series-on-flex-devnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

