<?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>absent design &#124; iPhone, iPad design and development by Reuben Stanton &#187; flash</title>
	<atom:link href="http://blog.absentdesign.com/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.absentdesign.com</link>
	<description>from actionscript to objective-c, from development to design</description>
	<lastBuildDate>Mon, 06 Sep 2010 11:54:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Staring at a blank screen with growing impatience</title>
		<link>http://blog.absentdesign.com/2010/09/staring-at-a-blank-screen-with-growing-impatience/</link>
		<comments>http://blog.absentdesign.com/2010/09/staring-at-a-blank-screen-with-growing-impatience/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 06:10:40 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[redefinition]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://blog.absentdesign.com/?p=176</guid>
		<description><![CDATA[I&#8217;ve only been studying Objective-C seriously for three weeks now, and I&#8217;m already  frustrated. To go from being totally competent and confident in one field (ActionScript) to being confused and clumsy in a very closely related one isn&#8217;t why I decided to go down this path. I am trying to study as thoroughly and carefully [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-177" title="_1030228" src="http://blog.absentdesign.com/wp-content/uploads/2010/09/1030228.jpg" alt="" width="592" height="234" /></p>
<p>I&#8217;ve only been studying Objective-C seriously for three weeks now, and I&#8217;m already  frustrated. To go from being totally competent and confident in one field (ActionScript) to being confused and clumsy in a very closely related one <em>isn&#8217;t </em>why I decided to go down this path.</p>
<p>I am trying to study as thoroughly and carefully as possible &#8211; I don&#8217;t feel like it&#8217;s good enough to stumble through some sample code, twist it in to my own design and upload it to the app store. (It&#8217;s amazing how many apps I see where the only reviews are &#8220;It crashes all the time&#8221; or &#8220;Doesn&#8217;t work as advertised&#8221; &#8211; I&#8217;m determined that won&#8217;t be me). And I learn better when I work from first principles (coding my <em>TableViewControllers</em> from scratch, for example), and through repetition (coding in a blank document every time instead of copying and pasting from previous projects).</p>
<p>For me to be satisfied programming I need to <em>know</em> what I&#8217;m doing. (I was always amazed by how few Flash developers I met were curious about the available frameworks or who would even bother reading Adobe&#8217;s documentation). I want to be proud of what I make. So I&#8217;ve put myself in the unfortunate position where I won&#8217;t be happy until I&#8217;m at <em>least</em> as confident in Objective-C as I am in ActionScript.</p>
<p>In <a title="Outliers by Malcolm Gladwell" href="http://www.gladwell.com/outliers/index.html" target="_blank">Outliers</a>, Malcolm Gladwell talks about a kind of magic number &#8211; around ten thousand hours &#8211; of practice that seems to be required to really excel at a particular skill &#8211; and seven years is about how long it took me to clock up that many hours of Flash.</p>
<p><img class="alignnone size-full wp-image-178" title="_1030224" src="http://blog.absentdesign.com/wp-content/uploads/2010/09/1030224.jpg" alt="" width="592" height="114" /></p>
<p>I actually feel like I&#8217;m progressing at a reasonable pace &#8211; I&#8217;ve already producing totally functional (if flawed) apps as learning exercises, and the way that XCode and Apple&#8217;s frameworks allow you to get up and running quickly really is a thing of beauty. If I can remember to remind myself that ActionScript and Objective-C are both classes of the same activity &#8211; &#8220;Programming&#8221;, then I don&#8217;t get so dejected about the Ten-Thousand-Hours thing. And I&#8217;m still sure that I&#8217;ve made the right decision.</p>
<p>I just think that maybe I fooled myself in to thinking that it wouldn&#8217;t be <em>hard</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2010/09/staring-at-a-blank-screen-with-growing-impatience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The benefits of being your own client #1</title>
		<link>http://blog.absentdesign.com/2010/08/the-benefits-of-being-your-own-client-1/</link>
		<comments>http://blog.absentdesign.com/2010/08/the-benefits-of-being-your-own-client-1/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 08:15:44 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[redefinition]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://blog.absentdesign.com/?p=141</guid>
		<description><![CDATA[I spent some time today watching a video from the latest WWDC on using the Model View Controller design pattern in iPhone development – a software design pattern that I have been trying to correctly implement in flash for years now. I tried, I really did. I would start with a grand class diagram and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.absentdesign.com/wp-content/uploads/2010/08/1030048.jpg"><img class="alignnone size-full wp-image-143" title="_1030048" src="http://blog.absentdesign.com/wp-content/uploads/2010/08/1030048.jpg" alt="" width="592" height="168" /></a></p>
<p>I spent some time today watching a video from the latest WWDC on using the Model View Controller design pattern in iPhone development – a software design pattern that I have been trying to correctly implement in flash for years now.</p>
<p>I tried, I really did. I would start with a grand class diagram and a beautifully loosely-coupled group of classes&#8230; and then I&#8217;d end up with application logic in a view, or a bloated controller class, views directly referencing a model, multiple lines of <em>switch</em> and<em> if</em>s in places that they shouldn&#8217;t be, or (worst of all) exceptions thrown in to the empty-<em>catch-</em>black-hole. My beautiful, reusable classes would end up being site-specific monsters that would need be re-written again and again for each project.</p>
<p>While some of this can be attributed to me and my lack of knowledge, an awful lot of this poor design was from expediency  – when developing for the web with a multitude of clients and rapid turnarounds, often the &#8220;just make it work&#8221; solution was the <em>only</em> solution (or at least, the only solution without pissing off the account manager and giving the studio manager<em> yet another 50</em> grey hairs). Projects always had a &#8220;few&#8221; (read 25 to 50) design and or functionality changes that would require either a) a total re-design of a large number of the model, view and controller classes, or b) a whole bunch of hacks to get the project out the door as rapidly as possible. Needless to say, the manager(s) always wanted option b.</p>
<p>Now that I&#8217;m working for myself, I&#8217;m finding a certain joy in sitting with a  pen and paper and <em>designing</em>. Design is what it looks like. Design is how it works. Design is <em>how it will be built</em>. Slowly. Thoughtfully. Carefully.</p>
<p><img title="_1030047" src="http://blog.absentdesign.com/wp-content/uploads/2010/08/1030047.jpg" alt="" width="592" height="214" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2010/08/the-benefits-of-being-your-own-client-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Flash max-height issue</title>
		<link>http://blog.absentdesign.com/2010/03/the-flash-max-height-issue/</link>
		<comments>http://blog.absentdesign.com/2010/03/the-flash-max-height-issue/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 03:23:56 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://blog.absentdesign.com/?p=60</guid>
		<description><![CDATA[While working at Flint on the site for Paper Stone Scissors, I ran in to the little explored area of flash player 9&#8242;s maximum rendering area &#8211; the site uses JQuery to dynamically resize the flash HTML container to use browser scrollbars for long pages and unfortunately FP9 stops rendering graphics beyond 2880&#215;2880 pixels&#8230; a bit [...]]]></description>
			<content:encoded><![CDATA[<p>While working at <a href="http://www.flintinteractive.com.au/">Flint</a> on the site for <a href="http://www.paperstonescissors.com/">Paper Stone Scissors</a>, I ran in to the little explored area of flash player 9&#8242;s maximum rendering area &#8211; the site uses JQuery to dynamically resize the flash HTML container to use browser scrollbars for long pages and unfortunately FP9 stops rendering graphics beyond 2880&#215;2880 pixels&#8230; a bit of a problem where the site often scrolls to 4000px or more&#8230;</p>
<p>Redesign to use flash-based scrollbars wasn&#8217;t an option. After hours of messing around, I found a solution: use Javascript to keep the size of the flash within the renderable area, and fool the user in to <em>thinking they are scrolling HTML content when they are actually scrolling the flash</em>.</p>
<p>Do this by:<br />
- Initially setting the size of the flash element to the desired full size (this sets the correct scrollbar size).<br />
- While scrolling, use external interface to pass the scroll value of the browser in to flash.<br />
Track the value in JS <em>and</em> in flash, and if the scroll value hits the maximum value:</p>
<ol>
<li>In Javascript - reset the size of the flash html element to the max renderable size</li>
<li>In flash &#8211; as the browser scrolls, scroll the flash content container in the <em>other</em> direction (this keeps the flash content within the maximum render area)</li>
<li>In Javascript &#8211; add padding to the top of the flash html element to keep the scroll position correct</li>
</ol>
<p>I had a lot of trouble finding resources about this issue online, I hope this can help someone with the same problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2010/03/the-flash-max-height-issue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress and AS3, a few notes</title>
		<link>http://blog.absentdesign.com/2009/03/wordpress-and-as3-a-few-notes/</link>
		<comments>http://blog.absentdesign.com/2009/03/wordpress-and-as3-a-few-notes/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 07:49:09 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.absentdesign.com/?p=12</guid>
		<description><![CDATA[I'm about halfway through developing my WordPress / AS3 library and I thought I'd note down a few things that have come up during development.]]></description>
			<content:encoded><![CDATA[<p>UPDATE: My <a href="http://blog.absentdesign.com/as3-library-for-the-wordpress-api/">WordPress AS3 API is now available</a>.</p>
<p>I&#8217;m about halfway through developing my WordPress / AS3 library and I thought I&#8217;d note down a few things that have come up during development.</p>
<h3>Does anyone know their blogId?</h3>
<p>The blogId parameter is required for most <code>wp</code>, <code>mt</code>, and <code>metaweblog</code> calls, yet there is no easy way for a user to find this out (you can&#8217;t get your blogId from the WordPress admin interface) &#8211; it seems the only way is through a call to <code>wp.getUsersBlogs</code>, using the data from the returned array to match up with the blog url that you are calling. I&#8217;ve simplified this process in my API so that whenever you make a webservice method call the api will check to see if a valid blogId is available, and if not, make the <code>wp.getUsersBlogs</code> call for you first.</p>
<h3>Inconstencies</h3>
<p>WordPress XML-RPC is inconsistent in the way it sends and retrieves some types of data. For example, categories are retrieved using <code>wp.getCategories</code> with the properties <code>categoryName</code> and <code>categoryId</code>, but if you use <code>wp.suggestCategories</code> you get <code>category_name</code> and <code>category_id </code>instead, meaning I have had to write duplicate parsing functions on a few occasions.</p>
<h3>Null values</h3>
<p><a href="http://code.google.com/p/as3-rpclib/">Ak33m&#8217;s XML-RPC library</a> (correctly, I assume) serializes <code>null</code> properties to strings with a value of <code>"null"</code>. This means  that when you send data to WordPress you can end up with &#8220;null&#8221; showing up everywhere &#8211; (A post with a category of &#8220;null&#8221; and a tag of &#8220;null&#8221;, a category with a slug of &#8220;null&#8221; etc). To avoid this I&#8217;ve had to create an IXMLRPC implementation for all of my WordPress structs that converts &#8220;<code>null" </code>to an empty string (<code>""</code>) before serialization.</p>
<h3>Multiple authors</h3>
<p>I haven&#8217;t worked out how to make <code>metaweblog.getRecentPosts</code> work with multiple authors. Because you have to authenticate using a username/password to make the call, you can only seem to retrieve posts by that particular author. I&#8217;m not sure how to get posts from multi-author blog without having to authenticate separately for each user, which is quite frustrating.</p>
<p>Apart from these minor issues, everything is going along smoothly though &#8211; I now have all post, category and page functions working correctly, options and comments to follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2009/03/wordpress-and-as3-a-few-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple mxmlc compiling on a Mac</title>
		<link>http://blog.absentdesign.com/2009/03/simple-mxmlc-compiling-on-a-mac/</link>
		<comments>http://blog.absentdesign.com/2009/03/simple-mxmlc-compiling-on-a-mac/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 21:33:38 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://absentdesign.wordpress.com/?p=7</guid>
		<description><![CDATA[The problem with being a flash developer from a traditional graphic design background is that there are some things that just don&#8217;t come naturally. One of these is working in a command-line environment. I&#8217;ve been using the Flash IDE as my development environment on the Mac since Flash 4. Around the time of Flash 5 [...]]]></description>
			<content:encoded><![CDATA[<p>The problem with being a flash developer from a traditional graphic design background is that there are some things that just don&#8217;t come naturally. One of these is working in a command-line environment.</p>
<p>I&#8217;ve been using the Flash IDE as my development environment on the Mac since Flash 4. Around the time of Flash 5 I started using BBEdit to edit external .as files, around MX I switched to TextMate for AS2 development, and now use TextMate exclusively for AS3 projects. But I&#8217;ve always used the IDE as my compiler, and there was always my designer&#8217;s preference to use the IDE to draw and layout objects rather than generate everything programatically. In developing my WordPress library I&#8217;ve been forced to bite the bullet and move to MXMLC, for the simple reason that the built in RPC libraries and Ak33m&#8217;s XML-RPC are only available for the Flex SDK.</p>
<p>I&#8217;m basically a total unix-command-line newbie, and there is a real dearth of information for people like me on how to command line compile in the mac environment. There is <a href="http://www.senocular.com/flash/tutorials/as3withmxmlc/">this tutorial by Senocular</a> for the PC, and there are plenty of tutorials out there about using MXML, integrating shell commands to use ANT etc etc, but all of these assume you <em>know what you are doing already</em>.</p>
<p>I <em>don&#8217;t know what I&#8217;m doing</em> though. All I want is to be able to integrate the Flex SDK classes without having to purchase and learn Flex and MXML &#8211; I&#8217;ve discovered  that this is of course not only <em>possible</em>, but <em>easy -</em> not that you&#8217;d know it by looking online.</p>
<h3>Here&#8217;s a way to do it</h3>
<h4>1. Download the Flex2 SDK from <a href="http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html">Adobe Labs</a></h4>
<p>The Flex2 SDK is free! It includes the flex libraries and and the mxmlc compiler you will need to use the command line.</p>
<h4>2. Put the Flex2 SDK somewhere sensible</h4>
<blockquote><p>I put mine in <code>~/Documents/Library/Flex/flex2_sdk_hf1/</code></p></blockquote>
<h4>3. Open a terminal window</h4>
<blockquote><p>Usually <code>~/Applications/Utilities/Terminal.app</code></p></blockquote>
<h4>4. Navigate to your project folder, eg:</h4>
<blockquote><p><code>cd Documents/Projects/my_flash_project/Development/</code></p></blockquote>
<h4>5. Run fcsh</h4>
<p>Fcsh is the <em>Flex Compiler SHell</em>, a wrapper for MXMLC that makes compiling fast and easy. The simplest way to run this command is <strong>use the Finder to navigate to where you put the Flex SDK</strong>, find fcsh (in <code><strong>bin/fcsh</strong></code>) and <strong>drag and drop this file into your terminal window</strong>.</p>
<p>You should now see the following:</p>
<blockquote><p><code>Adobe Flex Compiler SHell (fcsh)<br />
Version 2.0.1 build 159086<br />
Copyright (c) 2004-2006 Adobe Systems, Inc. All rights reserved.</code></p>
<p><code> </code></p>
<p><code>(fcsh)</code></p></blockquote>
<h4>6. Compile your flash app using mxmlc</h4>
<p>The syntax to use is:</p>
<blockquote><p><code>mxmlc <span style="color:#00ccff;">path/to/MainFileForYourApplication.as</span> -sp <span style="color:#00ccff;">path/to/source/folder</span> -o <span style="color:#00ccff;">relative/path/to/output/filename.swf</span></code></p></blockquote>
<p>eg:</p>
<blockquote><p><code>mxmlc <span style="color:#00ccff;">src/com/reubenstanton/Main.as</span> -sp <span style="color:#800080;"><span style="color:#00ccff;">src/</span> </span>-o <span style="color:#00ccff;">../Deployment/main.swf</span></code></p></blockquote>
<p>The output will be something like:</p>
<blockquote><p><code>fcsh: Assigned 1 as the compile target id<br />
Loading configuration file /Users/absent/Documents/Library/Flex/flex2_sdk_hf1/frameworks/flex-config.xml<br />
../Deployment/main.swf (82769 bytes)</code></p></blockquote>
<p>You see that last line <code>../Deployment/main.swf</code>? If you navigate to this folder, you should see your swf sitting there! That&#8217;s it.</p>
<p>As you see above, fcsh <em>Assigned 1 as the compile target id</em>. This is just a shortcut to the compile command you just wrote &#8211; it means next time you want to compile you can just enter<span style="color:#993366;"> </span><code><span style="color:#00ccff;">mxmlc 1</span></code> instead of typing the whole command again.</p>
<h4>Now you can use Flex libraries in your flash projects without learning Flex and MXML.</h4>
<p>This took me hours to figure out, so I hope it helps some of you out there.</p>
<h4>Here are a few resources to help along the way:</h4>
<ul>
<li><a href="http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html">The Flex2 SDK</a> from Adobe Labs</li>
<li><a href="http://labs.adobe.com/wiki/index.php/Flex_Compiler_Shell">The Flex Compiler Shell</a> from Adobe Labs</li>
<li><a href="http://www.osxfaq.com/Tutorials/LearningCenter/">Using the terminal</a> from OSX Faq</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2009/03/simple-mxmlc-compiling-on-a-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress and AS3 integration</title>
		<link>http://blog.absentdesign.com/2009/03/wordpress-and-as3-integration/</link>
		<comments>http://blog.absentdesign.com/2009/03/wordpress-and-as3-integration/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 19:55:48 +0000</pubDate>
		<dc:creator>Reuben</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://absentdesign.wordpress.com/?p=5</guid>
		<description><![CDATA[UPDATE: The AS3 Library for the WordPress API is now available. Recently I was searching around for an easy way to build a flash front-end for a WordPress managed website for a friend of mine. I was incredibly surprised to find that there doesn&#8217;t seem to be a properly integrated ActionScript library available for  WordPress XML-RPC, [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: The <a href="http://blog.absentdesign.com/as3-library-for-the-wordpress-api/">AS3 Library for the WordPress API is now available</a>.</p>
<p>Recently I was searching around for an easy way to build a flash front-end for a WordPress managed website for a friend of mine. I was incredibly surprised to find that there doesn&#8217;t seem to be a properly integrated ActionScript library available for  <a href="http://codex.wordpress.org/XML-RPC_Support">WordPress XML-RPC</a>, or if one is available, Google and the Actionscript community don&#8217;t seem to know about it.</p>
<p><strong>So I&#8217;ve decided to build one.</strong></p>
<p>I&#8217;ve had a little experience building ActionScript API libraries before when I was testing the <a href="http://artbeatapi.absentdesign.com/">Artbeat API</a> with <a href="http://aqworks.com">AQ</a> &#8211; the Artbeat library has its flaws (not the least of which is no documentation of any kind), and I&#8217;ve learnt a lot from that experience.</p>
<p>My idea is single library that allows you to easily make all of the WordPress, MovableType, and Metaweblog API calls required to integrate flash with WordPress. I&#8217;m using <a href="http://ak33m.com/">Akeem Phillbert&#8217;s</a> <a href="http://code.google.com/p/as3-rpclib/">xml-rpc as3 library</a>, as a base for the XML-RPC calls.</p>
<p>I&#8217;ll be posting my progress here as the library develops.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.absentdesign.com/2009/03/wordpress-and-as3-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
