<?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>Cylinder Studio &#187; Blog</title>
	<atom:link href="http://cylinderstudio.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://cylinderstudio.com</link>
	<description>Seattle Flash &#38; Flex application, iPad/iPhone app, and ExpressionEngine website design and development - Cylinder Studio</description>
	<lastBuildDate>Tue, 13 Mar 2012 18:44:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Cylinder Studio project featured in Lynda.com course</title>
		<link>http://cylinderstudio.com/blog/studio/cylinder-studio-project-featured-in-lynda-com-course/</link>
		<comments>http://cylinderstudio.com/blog/studio/cylinder-studio-project-featured-in-lynda-com-course/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 18:44:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[The Studio]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=373</guid>
		<description><![CDATA[I recently learned that a piece from the Cylinder portfolio, the Unitus Annual Report interactive presentation, was featured in coursework on the online training site, Lynda.com. In Lynda.com&#8217;s course titled &#8220;InDesign CS5: Interactive Documents and Presentations,&#8221; the Unitus Annual Report was shown as a case study for building interactive Flash presentations right from InDesign documents. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently learned that a piece from the Cylinder portfolio, the Unitus Annual Report interactive presentation, was featured in coursework on the online training site, Lynda.com.</p>
<p>In Lynda.com&#8217;s course titled &#8220;InDesign CS5: Interactive Documents and Presentations,&#8221; the Unitus Annual Report was shown as a case study for building interactive Flash presentations right from InDesign documents. </p>
<p>You can see it <a href="#" onclick="window.open('http://www.lynda.com/InDesign-CS5-tutorials/interactive-documents-and-presentations/65721-2.html','blank','scrollbars=yes,toolbar=no,width=980,height=725'); return false">here</a>. Look under &#8220;Trends in Digital Design&#8221; > Annual Report Case Study: Unitus.</p>
<p>You can see the annual report <a href="#" onclick="window.open('http://cylinderstudio.com/clients/unitus','blank','scrollbars=yes,toolbar=no,width=980,height=725'); return false">here</a>.</p>
<p>As an aid to education and fundraising, this multimedia version of the printed Unitus Annual Report was developed in 2009 using the Adobe InDesign-to-Flash export format in order to closely match the print version of the report. </p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/studio/cylinder-studio-project-featured-in-lynda-com-course/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS 5 Will Have Garbage Collection. (Sort of.)</title>
		<link>http://cylinderstudio.com/blog/ios-5-will-have-garbage-collection-sort-of/</link>
		<comments>http://cylinderstudio.com/blog/ios-5-will-have-garbage-collection-sort-of/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 18:37:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=291</guid>
		<description><![CDATA[Fresh out of Apple&#8217;s WWDC 2011, several developers blogged their excitement about a sweet new iOS 5 feature: automatic garbage collection. It turns out that garbage collection won&#8217;t be automatic, but rather, the SDK will feature a compiler-level feature called Automatic Reference Counting, which at the very least, will make memory management much easier for [...]]]></description>
			<content:encoded><![CDATA[<p>Fresh out of Apple&#8217;s WWDC 2011, several developers blogged their excitement about a sweet new iOS 5 feature: automatic garbage collection.</p>
<p>It turns out that garbage collection won&#8217;t be automatic, but rather, the SDK will feature a compiler-level feature called Automatic Reference Counting, which at the very least, will make memory management much easier for iOS developers by automatically inserting retain and release commands. </p>
<p>So while not officially automatically collecting garbage for memory, it still is very good news and will remove one of the biggest headaches for iOS/Cocoa Touch development. <a onclick="window.open('http://developer.apple.com/technologies/ios5/','blank','scrollbars=yes,toolbar=no'); return false" href="#">See the notice for &#8220;Automatic Reference Counting&#8221; on Apple&#8217;s iOS5 for Developers page.</a></p>
<p>Being new to iOS development myself, I&#8217;m also personally excited by &#8220;Storyboards&#8221; and the new version of &#8220;Instruments&#8221; in XCode.</p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/ios-5-will-have-garbage-collection-sort-of/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Public APIs with Flash but no crossdomain.xml</title>
		<link>http://cylinderstudio.com/blog/actionscript/using-public-apis-with-flash-but-no-crossdomain-xml/</link>
		<comments>http://cylinderstudio.com/blog/actionscript/using-public-apis-with-flash-but-no-crossdomain-xml/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 00:03:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=278</guid>
		<description><![CDATA[A lot of the Flash and Flex applications I build are dynamically driven by XML. As many ActionScript devs know, a crossdomain.xml file is required to pull XML from a server that&#8217;s separate from the one where the SWF resides. Until now, I&#8217;ve always used local XML documents, had access to the server where the [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of the Flash and Flex applications I build are dynamically driven by XML. As many ActionScript devs know, <a onclick="window.open('http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html','blank','scrollbars=yes,toolbar=no'); return false" href="#">a crossdomain.xml file is required </a>to pull XML from a server that&#8217;s separate from the one where the SWF resides.</p>
<p>Until now, I&#8217;ve always used local XML documents, had access to the server where the XML was being served and could put a crossdomain.xml file in place, or had access to a public API that provided an XML feed and had a crossdomain.xml file already in place. But an application I&#8217;m working on now uses XML from a server where I have no access or ability to put a crossdomain.xml file.</p>
<p>Enter the PHP proxy and the <a onclick="window.open('http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/package.html#escape()','blank','scrollbars=yes,toolbar=no'); return false" href="#">ActionScript escape method</a>. A PHP script handles the URL for the API call, but you have to encode that URL with its arguments before handing off to the proxy.</p>
<p>Example:</p>
<p>Here&#8217;s the code for the PHP proxy file, which goes on the same server as your SWF.<br />
<code><br />
$post_data = $HTTP_RAW_POST_DATA;</p>
<p>$header[] = "Content-type: text/xml";<br />
$header[] = "Content-length: ".strlen($post_data);</p>
<p>$ch = curl_init( $_GET['url'] );<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br />
curl_setopt($ch, CURLOPT_TIMEOUT, 10);<br />
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);</p>
<p>if ( strlen($post_data)>0 ){<br />
    curl_setopt($ch, CURLOPT_POST, 1);<br />
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);<br />
}</p>
<p>$response = curl_exec($ch);<br />
$response_headers = curl_getinfo($ch);     </p>
<p>if (curl_errno($ch)) {<br />
    print curl_error($ch);<br />
} else {<br />
    curl_close($ch);<br />
    header( 'Content-type: ' . $response_headers['content-type']);<br />
    print $response;<br />
}<br />
</code></p>
<blockquote><p>(Thanks to <a onclick="window.open('http://xmlrpcflash.mattism.com/proxy_info.php','blank','scrollbars=yes,toolbar=no'); return false" href="#">xmlrpcflash.mattism.com</a> for the PHP script.)</p></blockquote>
<p>Now, assuming you are using a Loader with a URLRequest to pull XML into your application, and your xml_proxy.php file is in the same directory as your SWF, you have to escape( ) on the URL call to the API server, then tack that on to the end of your URLRequest to the PHP proxy, like this:</p>
<p><code>var myXMLLoader:URLLoader = new URLLoader();</p>
<p>var API_URL:String = escape("http://theAPIServer.com?app_id=d57&#038;app_key=e9409&#038;format=xml");</p>
<p>myXMLLoader.load(new URLRequest("xml_proxy.php?url="+API_URL));</code></p>
<p>Voila! No security sandbox error from Flash Player.</p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/actionscript/using-public-apis-with-flash-but-no-crossdomain-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 does kinda rock</title>
		<link>http://cylinderstudio.com/blog/xhtml/html5-does-kinda-rock/</link>
		<comments>http://cylinderstudio.com/blog/xhtml/html5-does-kinda-rock/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 06:34:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[xHTML/CSS]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=240</guid>
		<description><![CDATA[Yeah, HTML5 and CSS3 aren&#8217;t 100% ready yet, nor standard, and may not be for a while&#8230;but since when did waiting around in this industry do you any good? At any rate, one of the better primers on HTML5 right now looks to be HTML5rocks.com. And be sure and check out their slide presentation on [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah, HTML5 and CSS3 aren&#8217;t 100% ready yet, nor standard, and may not be for a while&#8230;but since when did waiting around in this industry do you any good?</p>
<p>At any rate, one of the better primers on HTML5 right now looks to be <a onclick="window.open('http://www.html5rocks.com/','blank','scrollbars=yes,toolbar=no'); return false" href="#">HTML5rocks.com</a>. And be sure and check out their <a onclick="window.open('http://slides.html5rocks.com/#slide1/','blank','scrollbars=yes,toolbar=no'); return false" href="#">slide presentation on the new features</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/xhtml/html5-does-kinda-rock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aptana Studio: Newest in the Toolbox</title>
		<link>http://cylinderstudio.com/blog/xhtml/aptana-studio-newest-in-the-toolbox/</link>
		<comments>http://cylinderstudio.com/blog/xhtml/aptana-studio-newest-in-the-toolbox/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 19:47:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[xHTML/CSS]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=234</guid>
		<description><![CDATA[In anticipation of doing more JavaScript development, I went back to look at the state of my editors on hand. BBEdit was always a favorite for quick-and-dirty text editing, and has a very simple interface with some good, basic tools for, say, quickly throwing together a table or other assortment of HTML tags&#8230;but it was [...]]]></description>
			<content:encoded><![CDATA[<p>In anticipation of doing more JavaScript development, I went back to look at the state of my editors on hand. BBEdit was always a favorite for quick-and-dirty text editing, and has a very simple interface with some good, basic tools for, say, quickly throwing together a table or other assortment of HTML tags&#8230;but it was lacking for serious development. </p>
<p>A while back, I upgraded to Coda. I really love the interface, and it has nice built-in tools for FTP and SVN. But I want robust JavaScript functionality, and while the code completion is satisfactory (aside from some minor built-in typos), JQuery support isn&#8217;t what I was looking for.</p>
<p>I had given <a onclick="window.open('http://www.aptana.com/','blank','scrollbars=yes,toolbar=no'); return false" href="#">Aptana Studio</a> a quick look as a helper for building AIR with JavaScript. But I recently gave it a full test drive as a JavaScript editor and I really love it. The code hinting and auto complete is great, JQuery support (as well as the support for other frameworks) via easily installed plugins is fantastic. There&#8217;s also debugging, robust HTML/CSS code assist, live preview, aq DOM outline view, and FTP. What&#8217;s more is, having built a ton of ActionScript applications with Flex/Flash Builder, the Eclipse-style interface is very familiar to me, even though it&#8217;s more cluttered than Coda.</p>
<p>Not to mention: it&#8217;s open source! <a onclick="window.open('http://www.aptana.com/','blank','scrollbars=yes,toolbar=no'); return false" href="#">Check it out.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/xhtml/aptana-studio-newest-in-the-toolbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TRON: Legacy</title>
		<link>http://cylinderstudio.com/blog/tron-legacy/</link>
		<comments>http://cylinderstudio.com/blog/tron-legacy/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 20:19:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[General Tech]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=198</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/P78pl1FUXfA&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/P78pl1FUXfA&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/tron-legacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aptana Studio: Building JQuery/AIR apps</title>
		<link>http://cylinderstudio.com/blog/javascript/aptana-studio-building-jqueryair-apps/</link>
		<comments>http://cylinderstudio.com/blog/javascript/aptana-studio-building-jqueryair-apps/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 06:14:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=117</guid>
		<description><![CDATA[InsideRIA has a tutorial that walks through using a tool called Aptana Studio for rolling HTML &#038; JQuery into AIR applications.]]></description>
			<content:encoded><![CDATA[<p><a href="#" onclick="window.open('http://www.insideria.com/2009/08/using-aptana-studio-to-build-j.html','blank','scrollbars=yes,toolbar=no'); return false">InsideRIA has a tutorial</a> that walks through using a tool called Aptana Studio for rolling HTML &#038; JQuery into AIR applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/javascript/aptana-studio-building-jqueryair-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using MVC for JavaScript</title>
		<link>http://cylinderstudio.com/blog/javascript/using-mvc-for-javascript/</link>
		<comments>http://cylinderstudio.com/blog/javascript/using-mvc-for-javascript/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 17:40:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=106</guid>
		<description><![CDATA[A List Apart has this article about using MVC to maintain your JavaScript projects that are big enough to get a little nuts. For those of us who have done mostly client-side, user experience construction, MVC seems like a good concept to become familiar with as you dive into more proper &#8220;development.&#8221;]]></description>
			<content:encoded><![CDATA[<p>A List Apart <a href="#" onclick="window.open('http://www.alistapart.com/articles/javascript-mvc/','blank','scrollbars=yes,toolbar=no'); return false">has this article</a> about using MVC to maintain your JavaScript projects that are big enough to get a little nuts. For those of us who have done mostly client-side, user experience construction, MVC seems like a good concept to become familiar with as you dive into more proper &#8220;development.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/javascript/using-mvc-for-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display Objects and Memory Management</title>
		<link>http://cylinderstudio.com/blog/flash/display-objects-and-memory-management/</link>
		<comments>http://cylinderstudio.com/blog/flash/display-objects-and-memory-management/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 21:45:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://cylinderstudio.com/?p=77</guid>
		<description><![CDATA[There&#8217;s a good article on InsideRIA.com describing the key differences between the &#8220;visible&#8221; variable, the &#8220;alpha&#8221; variable and the removeChild( ) method when managing memory in your Flash applications.]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a <a href="#" onclick="window.open('http://www.insideria.com/2008/11/visible-false-versus-removechi.html','blank','scrollbars=yes,toolbar=no'); return false">good article on InsideRIA.com</a> describing the key differences between the &#8220;visible&#8221; variable, the &#8220;alpha&#8221; variable and the removeChild( ) method when managing memory in your Flash applications. </p>
]]></content:encoded>
			<wfw:commentRss>http://cylinderstudio.com/blog/flash/display-objects-and-memory-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

