<?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>elliot rock com</title>
	<atom:link href="http://blog.elliotrock.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.elliotrock.com</link>
	<description>The mind of a creative Flash Developer</description>
	<lastBuildDate>Thu, 01 Apr 2010 03:07:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hacks, fixes, modifications, brilliant work and the strange</title>
		<link>http://blog.elliotrock.com/?p=418</link>
		<comments>http://blog.elliotrock.com/?p=418#comments</comments>
		<pubDate>Thu, 01 Apr 2010 03:07:42 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.elliotrock.com/?p=418</guid>
		<description><![CDATA[The title is a general overview of the last month.
Hacked some features into Calibre Australia&#8217;s site for The White Agency.
Made some modifications to the nicely structured AMP site Own Tomorrow through Pinto. More to come with that site.
Developed the new campaign homepage and Collection Inspiration for Sussan.com.au for The White Agency. The final collection inspiration microsite has about 30% less interactive functionally than was supplied to the client, it had a very cool vertical animated mask as new large image ...]]></description>
			<content:encoded><![CDATA[<p>The title is a general overview of the last month.</p>
<p>Hacked some features into <a href="http://www.calibre.com.au/">Calibre Australia&#8217;s</a> site for The White Agency.</p>
<p>Made some modifications to the nicely structured AMP site <a href="http://owntomorrow.amp.com.au/">Own Tomorrow</a> through Pinto. More to come with that site.</p>
<p>Developed the new campaign <a href="http://www.sussan.com.au">homepage</a> and <a href="http://www.sussan.com.au/Collection_Inspiration.htm">Collection Inspiration</a> for Sussan.com.au for The White Agency. The final collection inspiration microsite has about 30% less interactive functionally than was supplied to the client, it had a very cool vertical animated mask as new large image was reveal &#8211; a shame IMHO! One of the downfalls of contract work is you often aren&#8217;t there for further modifications, hence if you get loadErrors from the sound player its something I can&#8217;t fix.</p>
<p>Helped fix <a href="http://www.samurai.fm">Samurai.fm new beta site</a>, Hash is a great chap to work with.</p>
<p>And I have another flex project  &#8211; a full shopping site for a children&#8217;s apparel company!</p>
<p>Sometimes the grass that seemed Fresher is not when you cross over the fence. More opportunities happen when you leave behind those people who don&#8217;t get what you are trying to achieve, especially as a developer!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=418</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super busy at Fresh</title>
		<link>http://blog.elliotrock.com/?p=417</link>
		<comments>http://blog.elliotrock.com/?p=417#comments</comments>
		<pubDate>Thu, 29 Oct 2009 11:12:35 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.elliotrock.com/?p=417</guid>
		<description><![CDATA[Nothing worst than not having time to note all the progress and useful methods I have come up with.
Thats it! I spend more time on Twitter: elliotrock
]]></description>
			<content:encoded><![CDATA[<p>Nothing worst than not having time to note all the progress and useful methods I have come up with.</p>
<p>Thats it! I spend more time on Twitter: elliotrock</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=417</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Work &#8211; Visionary Eye Specialists</title>
		<link>http://blog.elliotrock.com/?p=414</link>
		<comments>http://blog.elliotrock.com/?p=414#comments</comments>
		<pubDate>Fri, 07 Aug 2009 01:31:45 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elliotrock.com/?p=414</guid>
		<description><![CDATA[The visual design was based on their old swish template but I have implemented my Behavioural Command Pattern structure, which drives the deeplinking via SWFAddress. And added in more animations.
http://www.visionaryeyespecialists.com.au/
It has alternative content using a PHP/Apache to direct non-flash based devices to static based html/css content. There where a lot of issues setting this up as I didn&#8217;t have complete access to the clients server and I must admit the support wasn&#8217;t up to scratch. An example of how it ...]]></description>
			<content:encoded><![CDATA[<p>The visual design was based on their old swish template but I have implemented my Behavioural Command Pattern structure, which drives the deeplinking via SWFAddress. And added in more animations.</p>
<p><a href="http://www.visionaryeyespecialists.com.au/" target="_blank">http://www.visionaryeyespecialists.com.au/</a><br />
It has alternative content using a PHP/Apache to direct non-flash based devices to static based html/css content. There where a lot of issues setting this up as I didn&#8217;t have complete access to the clients server and I must admit the support wasn&#8217;t up to scratch. An example of how it work perfectly on your test server but not the clients <img src='http://blog.elliotrock.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  This is done for SEO as well.</p>
<p>The content is controlled via Wordpress which gives them a free CMS solution.</p>
<p>Overall the main development aspect of this site was time, it took me three days to get the visual design done and another half a day to get the content out of the old site into Wordpress. There are differences in how Flash player interprets xhtml using CSS with image embeds and a long standing  bug with inline images in html textfields that requires a little slapping. There was a few more days spent dealing with the client server issues but that is part of the process (when does something typically work well?)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=414</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jupi Corporation site live</title>
		<link>http://blog.elliotrock.com/?p=408</link>
		<comments>http://blog.elliotrock.com/?p=408#comments</comments>
		<pubDate>Thu, 06 Aug 2009 07:06:15 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.elliotrock.com/?p=408</guid>
		<description><![CDATA[The latest work to finally make it live is Jupi Corporations new site:
http://www.jupicorp.com/
I did the design and development of the majority of the Flash components excluding the lovely chandelier (Mags from Cornerstone design that and I just sorted out the animation). This was a rather challenging project in regards to how certain the client was in his visual branding, it is when a degree in visual communications and 8 years working as a graphic/print design (pre-web, pre-flash) comes in handy. ...]]></description>
			<content:encoded><![CDATA[<p>The latest work to finally make it live is Jupi Corporations new site:</p>
<p><a href="http://www.jupicorp.com/" target="_blank">http://www.jupicorp.com/</a></p>
<p>I did the design and development of the majority of the Flash components excluding the lovely chandelier (Mags from Cornerstone design that and I just sorted out the animation). This was a rather challenging project in regards to how certain the client was in his visual branding, it is when a degree in visual communications and 8 years working as a graphic/print design (pre-web, pre-flash) comes in handy. Also dealing with clients.</p>
<p>The work I did on this site:</p>
<p>- Intro Splash</p>
<p>- Animation of the background</p>
<p>- Conversion of all the FLV and implementation problem solving.</p>
<p>I quite enjoyed doing a timeline animation, it has been a long time doing this style of animation and the result really pleased the client. Who says old Flash Developers have no style!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=408</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Stiring</title>
		<link>http://blog.elliotrock.com/?p=398</link>
		<comments>http://blog.elliotrock.com/?p=398#comments</comments>
		<pubDate>Sat, 04 Apr 2009 11:11:56 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=398</guid>
		<description><![CDATA[Its a strange process building using a heavy component based environment verse pure AS3 development, where you design the structure and GUI from scratch. Flex3 is great for quick UI building, gives you a chance to test usability with the client before full scale implementation. The development process I find is more Test Oriented Development where you can try UI designs quickly, pull back and try a different approach or take the first path further.
This kind of development where you ...]]></description>
			<content:encoded><![CDATA[<p>Its a strange process building using a heavy component based environment verse pure AS3 development, where you design the structure and GUI from scratch. Flex3 is great for quick UI building, gives you a chance to test usability with the client before full scale implementation. The development process I find is more Test Oriented Development where you can try UI designs quickly, pull back and try a different approach or take the first path further.</p>
<p>This kind of development where you get feedback pretty quickly from a user and yourself, I find opens more doors than time can sometime allow. Leading to more backwards and forward stepping than I usually take when developing from a set visual idea and building the structure in AS3 to produce the result.</p>
<p>I also find myself feeling slightly disconnected from the structural process in Flex3, sure things seem to work easily and produce visual results but its not having that pure understand of the structure through scripting the entire application yourself! </p>
<p>I am too obsessive by wanting absolute control? Must admit I did grow up playing with Lego.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=398</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Links &#8211; new work!</title>
		<link>http://blog.elliotrock.com/?p=338</link>
		<comments>http://blog.elliotrock.com/?p=338#comments</comments>
		<pubDate>Fri, 20 Mar 2009 00:55:33 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=338</guid>
		<description><![CDATA[Well its about time I added the recent work that I have completed. This work is done through Cornerstone Technology for the client CLEMENGER Proximity here in Sydney. A range of over flow work, typically tight deadlines. Below are examples of:
- A microsite for Mitsubishi Motors Lancer Platinum edition.
- Design of IMieV eDM, thats the new electric car of Mitsubishi
- Apsire banner ads
Mitsubishi EDM for the new iMiev
- Designed and produced by me based on Clemenger&#8217;s print material. In consultation ...]]></description>
			<content:encoded><![CDATA[<p>Well its about time I added the recent work that I have completed. This work is done through Cornerstone Technology for the client CLEMENGER Proximity here in Sydney. A range of over flow work, typically tight deadlines. Below are examples of:</p>
<p>- A microsite for Mitsubishi Motors Lancer Platinum edition.<br />
- Design of IMieV eDM, thats the new electric car of Mitsubishi<br />
- Apsire banner ads</p>
<h3>Mitsubishi EDM for the new iMiev</h3>
<p>- Designed and produced by me based on Clemenger&#8217;s print material. In consultation with Cornerstone.<br />
<a href="http://www.elliotrock.com/examples/MiEV-eDM-grey_shadow.html" target="_blank">Link to large version</a><br />
<img src="http://www.elliotrock.com/examples/MiEV-eDM-grey_shadow_sm.jpg" width="450" height="723" /></p>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3>Mitsubishi Aspire flash banners</h3>
<p>- Design concept provided, quick out the door lot of 4 banners using similar animation. Go Flash timeline.</p>
<p><img src="http://www.elliotrock.com/examples/Aspire_120x600_.gif" width="120" height="600"/></p>
<p><a href="http://www.elliotrock.com/examples/Aspire_120x600_.html" target="_blank">Aspire_120&#215;600_</a></p>
<p><a href="http://www.elliotrock.com/examples/Aspire_160x600_.html" target="_blank">Aspire_160&#215;600_</a></p>
<p><a href="http://www.elliotrock.com/examples/Aspire_250x300_.html" target="_blank">Aspire_250&#215;300_</a></p>
<p><a href="http://www.elliotrock.com/examples/Aspire_728x90_.html" target="_blank">Aspire_728&#215;90_</a></p>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3>Mitsubishi Platinum Lancer microsite</h3>
<p>- This was done using the existing Flash microsites as a guide, it require superman photoshop skills to draw in part of the road that didn&#8217;t exist! I had to keep the existing style of rollovers, even if they are bugging. Consistency is king.</p>
<p><img src="http://www.elliotrock.com/examples/lancer_cap.jpg" width="450" height="270" /></p>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<p><a href="http://www.mitsubishi-motors.com.au/pages/home.aspx#/microsites/lancer-platinum.aspx" target="_blank">Follow this link to the site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=338</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWFAddress in a Command Pattern: Part 1</title>
		<link>http://blog.elliotrock.com/?p=299</link>
		<comments>http://blog.elliotrock.com/?p=299#comments</comments>
		<pubDate>Thu, 12 Mar 2009 07:10:00 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=299</guid>
		<description><![CDATA[The implementation of Asual SWFAddress 2.2 in a Command List Pattern design pattern was done in a Shared Command manner. This is of interest to those who use the Cairngorm framework.
I separated the events that would drive the changing of the content:

 SWFAddress events responds from the URL call from a server and to internal calls to SWFAddress class via setValue() to change the content, which execute the content change.
The button events of the menu items, these set the value ...]]></description>
			<content:encoded><![CDATA[<p>The implementation of <a href="http://www.asual.com/swfaddress/">Asual SWFAddress 2.2 </a>in a Command List Pattern design pattern was done in a Shared Command manner. This is of interest to those who use the Cairngorm framework.</p>
<p>I separated the events that would drive the changing of the content:</p>
<ol>
<li> SWFAddress events responds from the URL call from a server and to internal calls to SWFAddress class via setValue() to change the content, which execute the content change.</li>
<li>The button events of the menu items, these set the value of the new page uses the setValue() method which drive the event handlers in the first event above.</li>
</ol>
<p>What happens is the button events call the setValue() method of the SWFAddress class, these are instantiated in one invoker. Another invoker is used for the SWFAddress Events and the page address query and its content command. This invoked SWFAddress Command Lists works independently as well as initiated from the button events.</p>
<p>It may seem strange to have a sequence of events instead of one but this is the point of extended the Command List Pattern in a shared command manner &#8211; independence and extension. It also is a clean solution and also supports other events to drive the structure change via the SWFAddress, in the same manner that the button events call the setValue(). It also allowed for a simple retro fit of the SWFAddress system.</p>
<p>Two Invoker panel classes were created to handle these, both with a typical structure as in documented in <a href="http://www.as3dp.com/">Actionscript 3.0 Design Patterns</a> except I have removed the creation of the button elements and just pass a reference to its display instance:</p>
<p>This code below is the <strong>InvokerButton</strong> class</p>
<p><code>package com.elliotrock{<br />
import flash.display.*;<br />
import flash.events.*;<br />
import com.asual.swfaddress.SWFAddress;<br />
import com.asual.swfaddress.SWFAddressEvent;<br />
//<br />
public class InvokerButton extends Sprite {<br />
private var addressList:Array;<br />
private var buttonList:Array;<br />
private var pageTitleList:Array;</code><code><br />
//<br />
//This handles the button events and the call to SWFAddress via setValue<br />
//<br />
public function InvokerButton(list_len:int) {<br />
this.addressList = new Array(list_len);<br />
this.buttonList = new Array(list_len);<br />
this.pageTitleList = new Array(list_len);<br />
}<br />
public function setButton(nSlot:int, btn:SimpleButton):void {<br />
this.buttonList[nSlot]=btn;<br />
btn.addEventListener(MouseEvent.CLICK, buttonClicked);<br />
}<br />
public function setAddress(nSlot:int, adr:String):void {<br />
// when the panel is instantiated, the adr is set from the XML feed link<br />
// which is set from Wordpress<br />
this.addressList[nSlot]=adr;</code><code><br />
}<br />
public function setPageTitle(nSlot:int, pg_title:String):void {<br />
// when the panel is instantiated, the adr is set from the XML feed link<br />
// which is set from Wordpress<br />
this.pageTitleList[nSlot]=pg_title;</code><code><br />
}<br />
// button Events<br />
private function buttonClicked(e:Event) {<br />
for (var i:int = 0; i &lt; buttonList.length; i++) {<br />
try {<br />
if (buttonList[i]===e.target) {<br />
// set SWFAddress<br />
SWFAddress.setValue(this.addressList[i]);<br />
// set browser title<br />
SWFAddress.setTitle(this.pageTitleList[i]);<br />
break;<br />
}<br />
} catch (err) {<br />
i++;<br />
trace(err);<br />
}<br />
}<br />
}<br />
}<br />
}</code></p>
<p>This sets up the buttons events and the associated page address/query string, this is through having the same index in the arrays for the title and address of the pages. I grab these off my RSS feed of my Wordpress CMS, so they could be anything, being a bit geeky I like the numeric query but could easily set up pretty urls in Wordpress.</p>
<p>The next events invoker is the SWFAddress part which response to the setValue call. The top level class of SWFAddress does the majority of the work:</p>
<p>This is the <strong>InvokerSWFAddress</strong> class:</p>
<p><code>package com.elliotrock{<br />
import flash.display.*;<br />
import flash.events.*;<br />
import com.asual.swfaddress.SWFAddress;<br />
import com.asual.swfaddress.SWFAddressEvent;<br />
//<br />
public class InvokerSWFAddress extends Sprite {<br />
private var commandList:Array;<br />
private var addressList:Array;<br />
/*<br />
This handles the EventHandler for the SWFAddress event<br />
*/<br />
public function InvokerSWFAddress(list_len:int) {<br />
this.commandList = new Array(list_len);// may need to pull in the length of the setup object plus the categories<br />
this.addressList = new Array(list_len);<br />
//<br />
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleSWFAddress);<br />
}<br />
public function setCommand(nSlot:int, c:ICommand):void {<br />
this.commandList[nSlot] = c;<br />
}<br />
public function setAddress(nSlot:int, adr:String):void {<br />
// when the panel is instantiated, the adr is set from the XML feed link<br />
// which is set from Wordpress<br />
this.addressList[nSlot] = adr;<br />
}<br />
// SWFAddress handling<br />
private function handleSWFAddress(e:SWFAddressEvent) {<br />
var found:Boolean = false;<br />
try {<br />
for (var i:int; i &lt; addressList.length; i++) {<br />
if (addressList[i] === e.value) {<br />
found = true;<br />
this.commandList[i].execute();<br />
break;<br />
}<br />
}<br />
if(!found){<br />
// if url doesn't exist<br />
this.commandList[1].execute();<br />
}<br />
} catch (err) {<br />
// executes the home page if a URL server query is not found<br />
this.commandList[1].execute();<br />
}<br />
}<br />
}<br />
}</code></p>
<p>The Invoker is setup with the query address from Wordpress and the page build command. The SWFAddressEvent listens for both the page change initiated from the InvokerButton and from page changes via the back, forward and history changes from the browser.</p>
<p>In Part 2 I will show the initialisation of these two invokers. This is done from what ever Creational Pattern or method you use.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=299</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zen &amp; the Mangement of Loaded Content</title>
		<link>http://blog.elliotrock.com/?p=276</link>
		<comments>http://blog.elliotrock.com/?p=276#comments</comments>
		<pubDate>Wed, 12 Nov 2008 02:08:30 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=276</guid>
		<description><![CDATA[This article is purely about being smarter and more creative at handling rich media content in a Flash project. I am talking about avoiding the dreaded preloader with a 300kb + chunk of a large flash project.
Over the course of my role as Senior Flash Developer at SWiSHzone I have had to come up with solutions that work across a massive customer base. Everyone including many whose internet connection isn&#8217;t ADSL2. The content I create is dynamic flash sites, many ...]]></description>
			<content:encoded><![CDATA[<p>This article is purely about being smarter and more creative at handling rich media content in a Flash project. I am talking about avoiding the dreaded preloader with a 300kb + chunk of a large flash project.</p>
<p>Over the course of my role as Senior Flash Developer at SWiSHzone I have had to come up with solutions that work across a massive customer base. Everyone including many whose internet connection isn&#8217;t ADSL2. The content I create is dynamic flash sites, many with multiple pages and image rich content. On top of this the highly interactive interfaces and systems that need to take in order of event issues and limited dependencies.</p>
<p>The methods that I am going to examine to manage loading content are:</p>
<p><strong>On Demand</strong> &#8211; this is the typical method most developers use. Basically you load the required content on interaction or all at the start of the project.</p>
<p><strong>Background Sequential Loading </strong>- this is where you manage the loading of content in chucks, in an order that may be the intended path of narrative of the user. Often this is done in the background whilst the user is interacting with the first part of the content.</p>
<p><strong>Asymmetrical Loading</strong> &#8211; this is my explanation of how a traditional html page loads. Because the elements are naturally broken into small chucks they load and display in their own manner. With skill a creative flash developer can be use this to add to the animated narrative of a flash project.</p>
<h3>On Demand</h3>
<p>Everything has a place in modern Flash development except for forcing a user to sit in front of a preloader as a 300kb swf loads in. On demand loading is highly practical if you are loading in a 30kb large image off a thumbnail but that&#8217;s where it ends. I can&#8217;t really add in many other reasons to use it apart from a combination with the next explained method. Why do I say this? Because there are methods that&#8217;ll make your project a holy grail user experience rather than a beautifully expensive experience that many people may not proceed through because the majority of their time is spent waiting.</p>
<h3>Background Sequential Loading</h3>
<p>Over the length of the narrative of a flash project there are many times where you can sneakily load content whilst the user is engaged with the current content. In a sense your are trying to anticipate the users next navigation choice and load that rich content before they get there. This may mean splitting up a site into small chunks and sequentially loading these so not to bomb their connection. You need to manage this in a way they may add to the interactive experience, an example maybe to only show the menu item of a section when that section has loaded.</p>
<p>I am not opposite to preloaders or providing visual feed back to users of content loading, if fact I tailor these into the experience. It is about giving life to a project so it slowly becomes whole. A case study of this is the Template site <a title="Spacial site111" href="http://www.swishzone.com/products/sites/site111/index.html" target="_blank">Spacial</a>, the sections load one after another and the menu and the visual appearance of the pages are all controlled by the loading of that section. This gives a feeling of the pages being drawn in front of you. This site needed all of the sections to be displayed as part of the visual and interactive design. The sections cannot be access until they are loaded.</p>
<p>You can also use systems where the content is sequentially loading in the background and give an &#8220;On Demand&#8221; override that loads or continues to load that content, stopping any loading to free up the connection. You&#8217;ll need to check the current loading progress and work out whether it is worth stopping it or just load what he user wants as well. I don&#8217;t recommend killing a URLloader at all. You do need to be careful if you build too much complexity, just as much as trying to load too much!</p>
<p>You really need to beware of order of events issues with this style of loading, the point is not to expect anything in the content until it has loaded.</p>
<h3>Asymmetrical Loading</h3>
<p>I mentioned before that the best comparison is to existing web content is a typical html page, where the content is loaded in small chucks and is almost displayed in a ranking based on file size. We all experience this day to day and in someways users are completely use to this.</p>
<p>Flash has always been the fat beast of user experience and has fought hard to be incorporate into the web. Over the last 7 years I have tried to step away from developing the typical embed swf for Flash content and have developed many dynamic solutions for customers and clients. It is a switch of practice where in a sense you consider your project to have a cascading file structure. Animated preloaders are hidden within the experience of the user. Streamed media is embraced to provided rich content. Efficient scripting provides rich animations and reduces file size.</p>
<p>There are many systems to help share content. Browser have a wonderful thing called a cache, you can use this to your advantage. Break your site up into generic files that once they loaded are cached, even if the individual aspects can be changed like text and image content. The practical methods is to separate your layout away from the content, if you have multiple styled pages store those as empty page-styles in a generic place. Once the page-style template has loaded, the content is loaded. Incorporate your art/interactive design into the process. Use the process of loading as part of the visual experience!</p>
<p>Investigate Adobe&#8217;s Shared Libraries, it is an incorporated solution and isn&#8217;t too difficulty for a mid level developer to get their heads around. Its not needed if you have good systems in place.</p>
<p>In a way it is Object Oriented Structure, thinking of your project outside of the embeded chuck that Flash has pushed designers and developers to make. Kill the fat 300kb beast and 30second preloader!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=276</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert XML to an Actionscript Object tree</title>
		<link>http://blog.elliotrock.com/?p=213</link>
		<comments>http://blog.elliotrock.com/?p=213#comments</comments>
		<pubDate>Fri, 07 Nov 2008 04:28:38 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS2]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=213</guid>
		<description><![CDATA[This is a method I came up with for taking a loaded simple XML document and turning it into a top level object in Flash. Basically it trawls through a XML tree and uses the attributes and content to build a object tree recognized by flash.
In AS3 this is the XMLDocument class. But obviously it places the first parent of the XML file at _root which doesn&#8217;t exist  in AS3!
The reasons why I did this was to simplify the retrieval ...]]></description>
			<content:encoded><![CDATA[<p>This is a method I came up with for taking a loaded simple XML document and turning it into a top level object in Flash. Basically it trawls through a XML tree and uses the attributes and content to build a object tree recognized by flash.</p>
<p>In AS3 this is the XMLDocument class. But obviously it places the first parent of the XML file at _root which doesn&#8217;t exist  in AS3!</p>
<p>The reasons why I did this was to simplify the retrieval of information from a XML object and to mash it into the actionscript setup that are used inside my SWiSH Templates. Effectively allowing me to add in a XML setup file. The SWiSH Template use a mock JSON setup inside a SWiSH Max file. Is it is a collecting of inline arguments, strings and arrays that define the content.</p>
<p>Now to the script:</p>
<p><code>function convertNodes (node){<br />
// The process is a forward flow out and down the XML<br />
// tree, and the finParentPath is used to keep track of the<br />
// node branches it is on.<br />
if(node.nodeName != null ){<br />
var new_parent: String = node.nodeName.toLowerCase();<br />
var parent_node: String = node.parentNode.nodeName.toLowerCase();<br />
new_path1 =  findParentPath(node.parentNode.parentNode);//<br />
if(new_path1 == "_root" &amp;&amp; parent_node == "undefined"){<br />
//<br />
_root[new_parent] = new Object();<br />
new_obj = _root[new_parent];<br />
new_obj = node.childNodes;<br />
} </code></p>
<p><code>if(new_path1 == "_root"){<br />
new_obj = eval(new_path1)[parent_node];<br />
new_obj[new_parent] = node.childNodes;<br />
} else {<br />
new_obj = eval(new_path1)[parent_node];<br />
new_obj[new_parent] = node.childNodes;<br />
}<br />
}<br />
for( var child = node.firstChild; child != null; child = child.nextSibling){<br />
convertNodes(child);<br />
}<br />
}<br />
function findParentPath (node2){<br />
var new_path: String = "";<br />
new_node = node2;<br />
while (new_node.nodeName != null){<br />
// from the node, we step back to its parent, test if that as a mc path exisits then step agains, forming the<br />
// path back to _root which the above function will use to build the new object.<br />
new_path += new_node.nodeName.toLowerCase() +".";<br />
var new_node = new_node.parentNode;<br />
};<br />
var final_path1 : Array = new_path.split(".");<br />
var final_path2: Array = final_path1.reverse();<br />
var  final_path: String = "_root"+(final_path2.join("."));<br />
return final_path;<br />
}</code></p>
<p>To initiate the call just throw your well formed XML file at it like this:<br />
<code><br />
convertNodes(siteSpecs_xml);</code></p>
<p>This is for actionscript 2 but I&#8217;ll script out one for AS3 shortly to use the XMLDocument class. The great thing about this method is that it is entirely flexible. I will consider adapting it to  the other forms of XML that AS3 uses, I see issues with some of the XMLList needing distinct variable names, prehaps I could throw XMLList with the same attributes name into an array? There are a few translation issues as well, say what do to with a Namespace definition like &lt;content:section&gt;. Interesting ideas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=213</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Site &#8220;Precious Li&#8217;l Things&#8221;</title>
		<link>http://blog.elliotrock.com/?p=191</link>
		<comments>http://blog.elliotrock.com/?p=191#comments</comments>
		<pubDate>Wed, 05 Nov 2008 13:33:31 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=191</guid>
		<description><![CDATA[This is phase one of an e-commerce site that I am developing. The client needed a web presence quickly so I suggested a simple gallery style setup. This is the final visual design. There are a few standard methods I have used for the setup structure, and product lists. This will make the progression to a e-commerce system a bit smoother (hopefully!).

      
 
 
 
 
 
The logo is designed and illustrated by me. ...]]></description>
			<content:encoded><![CDATA[<p>This is phase one of an e-commerce site that I am developing. The client needed a web presence quickly so I suggested a simple gallery style setup. This is the final visual design. There are a few standard methods I have used for the setup structure, and product lists. This will make the progression to a e-commerce system a bit smoother (hopefully!).<br />
<img title="Precious Li'l Things logo" src="http://www.elliotrock.com/examples/precious_lil_things_logo.gif" alt="" hspace="78" width="394" height="218" /><br />
<strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><br />
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<h3> </h3>
<p>The logo is designed and illustrated by me. Its actually my baby at 6 months and is drawn from memory, no photo reference.</p>
<p><a href="http://www.preciouslilthings.com/" target="_blank">Precious Li&#8217;l Things</a></p>
<p>This is at pre-release state. I will be moving it to live once it has had a good external test.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=191</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Gallery Page</title>
		<link>http://blog.elliotrock.com/?p=164</link>
		<comments>http://blog.elliotrock.com/?p=164#comments</comments>
		<pubDate>Thu, 30 Oct 2008 13:27:30 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=164</guid>
		<description><![CDATA[I finally had a chance to whip out a gallery page. I already had the functionality planned out so it was just a matter of building the classes. I had considered implementing another design pattern to run it but as it is not something that I would manually change and most of the structure is static.
I also used an old Unix style tool called gFind to build the lists directly off a directory of images and outputting it as a ...]]></description>
			<content:encoded><![CDATA[<p>I finally had a chance to whip out a gallery page. I already had the functionality planned out so it was just a matter of building the classes. I had considered implementing another design pattern to run it but as it is not something that I would manually change and most of the structure is static.</p>
<p>I also used an old Unix style tool called gFind to build the lists directly off a directory of images and outputting it as a raw .txt file (just make sure it is UTF-8 not Unicode). Next I will build a tool to write a XML setup up file, best way would probably be with be with PHP.</p>
<p>So please check out my Phone Photos taken on my 2megapixel Nokia.</p>
<p>The next simple step is to extend  the class that loads in the larger image with a FLV loader class. Over ride what you need changed and Boris is your Uncle!</p>
<p><strong> </strong><br />
<strong> </strong><br />
<strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=164</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One from the archives</title>
		<link>http://blog.elliotrock.com/?p=140</link>
		<comments>http://blog.elliotrock.com/?p=140#comments</comments>
		<pubDate>Mon, 27 Oct 2008 08:58:36 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=140</guid>
		<description><![CDATA[I found a folder which had some work from a few years back, 7 years to be exact! The folder was rescued from a Zip disk but majority of the content was lost due to bouncing around in a desk drawer.
A wee gem was in that folder&#8230; an experimental interface for a radio show &#8220;The Electric Company&#8221; on Christchurch&#8217;s RDU98.5FM. The dot typographic logo and shape were from their logo that I designed. Here it is:
The Electric Company Interface
Note:The press ...]]></description>
			<content:encoded><![CDATA[<p>I found a folder which had some work from a few years back, 7 years to be exact! The folder was rescued from a <a href="http://en.wikipedia.org/wiki/Zip_disk" target="_blank">Zip disk</a> but majority of the content was lost due to bouncing around in a desk drawer.</p>
<p>A wee gem was in that folder&#8230; an experimental interface for a radio show &#8220;The Electric Company&#8221; on <a href="http://www.rdu.org.nz/" target="_blank">Christchurch&#8217;s RDU98.5FM</a>. The dot typographic logo and shape were from their logo that I designed. Here it is:</p>
<p><a href="http://www.elliotrock.com/examples/electInter.html" target="_blank">The Electric Company Interface</a></p>
<p><strong>Note:</strong>The press events on the faces lead to pages that don&#8217;t exist! So ignore any warnings. I don&#8217;t have the fla&#8217;s anymore.</p>
<p>It was drawn as flat shapes that I imported and extruded inside 3D max. It was exported using a plug-in from Swift3D as frame by frame animations. I remember having a lot of issues with unclosed faces shooting off artifacts &#8211; you can still see them!</p>
<p>It is amazing how much work you lose over time, I suppose it is the nature of working online &#8211; sites come and go. So I was quite excited to find this piece of work from 2001</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=140</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Gallery &#8211; Unfocused</title>
		<link>http://blog.elliotrock.com/?p=134</link>
		<comments>http://blog.elliotrock.com/?p=134#comments</comments>
		<pubDate>Mon, 27 Oct 2008 05:04:07 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=134</guid>
		<description><![CDATA[Here is the latest non-released gallery template for SWiSHzone.com:
Unfocused
It is set up in the same manner as the other gallery templates, via a setup file and internally using a component that has settings for multiple arrow designs, colour pickers for the graphic devices and scroll orientation (left/right or up/down). Like the other galleries it is quite accepting of how the user sets up the images &#8211; you don&#8217;t need large images for example. It also can be used as a ...]]></description>
			<content:encoded><![CDATA[<p>Here is the latest non-released gallery template for <a href="http://www.SWiSHzone.com" target="_blank">SWiSHzone.com</a>:</p>
<p><a href="http://www.elliotrock.com/SZ/unfocused/" target="_blank">Unfocused</a></p>
<p>It is set up in the same manner as the other gallery templates, via a setup file and internally using a component that has settings for multiple arrow designs, colour pickers for the graphic devices and scroll orientation (left/right or up/down). Like the other galleries it is quite accepting of how the user sets up the images &#8211; you don&#8217;t need large images for example. It also can be used as a video gallery both swf and flv, this ties it into SWiSH Video3 for SWiSHzone.</p>
<p>The idea behind it is a mock depth of vision, focus and unfocused. The technologies that I have developed for this are:</p>
<p>- Destination listeners for the animations. This is a drop in component that allows for simple call back functions to be implemented on the destination complete of animations.</p>
<p>- Sequential loading of thumbnail images. The galleries can host a lot of images and the easiest way to get around pre-loading the majority of the structure is to let the template function as the content loads. The larger images are load on demand.</p>
<p>- Common structure. The structure is the same as the template sites and other galleries. The other developers use this same structure. It is structural based so that designer/developers have a better time with quick turn-around design and development.</p>
<p>-AS2 for compatibility with SWiSH Max2 and SWiSH miniMax2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=134</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Applying CSS to the Wordpress RSS</title>
		<link>http://blog.elliotrock.com/?p=76</link>
		<comments>http://blog.elliotrock.com/?p=76#comments</comments>
		<pubDate>Thu, 23 Oct 2008 03:30:36 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=76</guid>
		<description><![CDATA[UPDATE:
I have installed a system that applies a version of the Wordpress styles.css to this flash front end, this means I can use the styles tags in Wordpress to format my text. I will document the steps soon. Finally I can enjoy reading my own blog without the Typographer in me cringing!
I am currently working on a better way to keep some of the formatting done in Wordpress in the final display in AS3. These are the methods I propose:
1. ...]]></description>
			<content:encoded><![CDATA[<h3>UPDATE:</h3>
<p>I have installed a system that applies a version of the Wordpress styles.css to this flash front end, this means I can use the styles tags in Wordpress to format my text. I will document the steps soon. Finally I can enjoy reading my own blog without the Typographer in me cringing!</p>
<p>I am currently working on a better way to keep some of the formatting done in Wordpress in the final display in AS3. These are the methods I propose:</p>
<p><strong>1. In AS3 load in an external .css file</strong>This file contains the similar style/class tags as used in Wordpress. Apply this to the final text. There will still be some hacking of the content to get the span or paragraph tags in the simple form that flash accepts.</p>
<p><strong>2. Minimize the usage of tags in Wordpress</strong>This means removing most of the extraneous tags and trying to keep the html in Wordpress as clean as possible but keep a range of useful CSS tags (hopefully expandable).</p>
<p><strong>3. Apply a better solution to maintain the space white space and line returns</strong>Flash has a different way it interprets all of the various line returns and white space. Actually every rendering and text formatting system has its own unique methods.</p>
<p><strong>4. It must be expandable to include the media inserts.</strong>What is the use of using a flash front end if you cannot view FLV and images. The image insert should be easy as you can add the images into the html, I will need to experiment with the video objects to come up with an appropriate solution. My initial thoughts are to break up the text field at the point and insert your own FLV object (sounds like more security issues if there are outside the host domain).</p>
<p>Hopefully this will be an easy replicable solution for others as well.</p>
<p><strong></strong><br />
<strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Wordpress Blog</title>
		<link>http://blog.elliotrock.com/?p=73</link>
		<comments>http://blog.elliotrock.com/?p=73#comments</comments>
		<pubDate>Wed, 22 Oct 2008 10:41:54 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=73</guid>
		<description><![CDATA[It isn&#8217;t new but I finally had a chance to install Wordpress and hook my Flash blog system to the front end.
The main differences is the rss2 feed from Wordpress compared to the feed from blogger.
The rss2 feed from Wordpress
The Formatting of the RSS2 adheres to the web standards which is great. In order to deal with the XML feed you need to understand Namespaces to get the correct xml child and general XML usage.
This is part of the feed ...]]></description>
			<content:encoded><![CDATA[<p>It isn&#8217;t new but I finally had a chance to install Wordpress and hook my Flash blog system to the front end.</p>
<p>The main differences is the rss2 feed from Wordpress compared to the feed from blogger.</p>
<h3>The rss2 feed from Wordpress</h3>
<p>The Formatting of the RSS2 adheres to the web standards which is great. In order to deal with the XML feed you need to understand Namespaces to get the correct xml child and general XML usage.</p>
<p>This is part of the feed that I get from Wordpress:<br />
<a href="http://www.elliotrock.com/examples/rssFeed_example.txt">example xml</a></p>
<p>There is a lot of useful information here and may seem a bit of a jumble. But it doesn&#8217;t matter, what I was after was the usual child tags of information contained with the item tags. In this case I want the publishing date, category, heading and the body text. These are the names of the tags I needed:</p>
<p><strong>title</strong> &#8211; the title of the post.<br />
<strong>pubDate</strong> &#8211; the date of publishing.<br />
<strong>category</strong> &#8211; The category associated with this post.<br />
<strong>content:encoded </strong>- this is the body copy of the post, as you&#8217;ll noticed the tag name has a namespace identity of &#8220;content:encoded&#8221;.</p>
<p>This script shows the loading the XML feed and then breaking down the child nodes items into these child tags that we need. These are then placed into an inline argument of an object. This Object is then added to an array. The reason I use an array for the various objects related to the section is that an Array is a position relative variable, meaning that I can use the order to arrange the sections. This is very useful as I finally used the category names to order the array (I&#8217;ll show you later).</p>
<p><code>package com.elliotrock<br />
{<br />
import flash.net.URLRequest;<br />
import flash.net.URLLoader;<br />
import flash.events.*;<br />
import flash.system.Security;<br />
/**<br />
* RSSParser includes methods for<br />
* converting RSS XML data into HTML text.<br />
*/<br />
public class RSSParser extends EventDispatcher {<br />
// this is the url location of the feed<br />
public var url:String = "http://blog.elliotrock.com/?feed=rss2";<br />
public var rssXML:XML;<br />
public var rssTitle:String;<br />
private var myLoader:URLLoader;<br />
private var dataError:Event;<br />
public var setup:Array;<br />
//<br />
public function RSSParser() {<br />
/*<br />
You need to consider your security settings at this point and make sure you have a crossdomain.xml<br />
policy file at your root of your server, if you are trying to load from another domain then you need to<br />
consider the Security.loadPolicyFile(url); method.<br />
*/<br />
var rssXMLURL:URLRequest = new URLRequest(url);<br />
myLoader = new URLLoader(rssXMLURL);<br />
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);<br />
}<br />
public function xmlLoaded(evtObj:Event):void {<br />
rssXML = XML(myLoader.data);<br />
/*<br />
* new_setup is contained within this function<br />
*/<br />
var new_setup:Array = new Array();<br />
if (rssXML.namespace("") != undefined) {<br />
default xml namespace = rssXML.namespace("");<br />
}<br />
for each (var item:XML in rssXML..item) {<br />
/*<br />
* this pulls in the various tags within the rssfeed<br />
*/<br />
var itemTitle:String = item.title.toString();<br />
var itemLink:String = item.link.toString();<br />
var itemPubDate:String = item.pubDate.toString();<br />
var itemCategory: Object = item.category.toString()<br />
/*<br />
*/<br />
var itemDescription:String = item.description.toString();<br />
/*<br />
I need to search through the repetitions of the namespace "content" used in the XML to the<br />
one associated to<br />
*/<br />
var contentNS:Namespace = new Namespace(item.namespace("content"));<br />
default xml namespace = contentNS;<br />
//<br />
// the .. is sort of like asking for this association<br />
var itemContent:String = (item..encoded).toString();<br />
/*<br />
add these items as inline arguments to an object and add to the end of the new_setup array<br />
*/<br />
new_setup.push({title_:itemTitle, description_: itemDescription, content_: itemContent, pubDate_: itemPubDate, category_: itemCategory});<br />
}<br />
setup = new_setup;<br />
}<br />
}</code></p>
<p>The public var setup is the array that contains all of this useful information. How I grabbed the content:encoded tag was using this namespace method:</p>
<p><code>var contentNS:Namespace = new Namespace(item.namespace("content"));<br />
default xml namespace = contentNS;<br />
var itemContent:String = (item..encoded).toString();</code></p>
<p>This is from Colin Moock&#8217;s book Essential Actionscript page(?). It is a nice and re-usable piece of code that first pulls out all the variations of content ( go back and have a look at the raw XML RSS2 feed above) and then looks for the first usage of &#8220;content&#8221; and &#8220;encoded&#8221;. Namespaces is a weird concept to get use to, I suggest doing a it of research or to get Essential Actionscript3 by Colin Moock.</p>
<p>To get the information out of this array use the short cut access methods and get the variable associated with what you want. Say I want the title of the first item then I use:</p>
<p><code>trace(setup[0].title_);<br />
// Flash happenings</code></p>
<p>Just remember that arrays are zero based so they start from zero. I hope that helped.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=73</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash happenings</title>
		<link>http://blog.elliotrock.com/?p=38</link>
		<comments>http://blog.elliotrock.com/?p=38#comments</comments>
		<pubDate>Tue, 21 Oct 2008 05:02:27 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.elliotrock.com/?p=38</guid>
		<description><![CDATA[
Flash Player 10 rolls out! security changes and new features. Expect to see the integration and classes in Flash CS4.

Security changes to their cross-domain policy.I recommend to download the stand alone 9,0,124,0  player, the debug version has reporting features to help notify of cross-domain issues. Developers need to get there heads around this as their will be more changes down the track. Wait till phase 2 and 3 hit! Or am I just being paranoid!
Google SWF search. A wait and ...]]></description>
			<content:encoded><![CDATA[<p><a title="Adobe Flash Player 10" href="http://www.adobe.com/devnet/logged_in/jchurch_flashplayer10.html" target="_blank"><br />
Flash Player 10 rolls out!</a> security changes and new features. Expect to see the integration and classes in Flash CS4.</p>
<p><a title="Policy file changes in Flash Player 9 and Flash Player 10" href="http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html" target="_blank"><br />
Security changes to their cross-domain policy.</a>I recommend to download the stand alone 9,0,124,0  player, the debug version has reporting features to help notify of cross-domain issues. Developers need to get there heads around this as their will be more changes down the track. Wait till phase 2 and 3 hit! Or am I just being paranoid!</p>
<p><a href="http://www.adobe.com/devnet/flashplayer/articles/swf_searchability.html" target="_blank">Google SWF search</a>. A wait and see. How will it work with current deep embedding and site mapping techniques? Will this make Flex a more popular Flash front end?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Case Studies</title>
		<link>http://blog.elliotrock.com/?p=23</link>
		<comments>http://blog.elliotrock.com/?p=23#comments</comments>
		<pubDate>Sat, 18 Oct 2008 02:08:19 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=23</guid>
		<description><![CDATA[Gallery Design and Development
Site85
Site94
Aim:Design and development of Gallery templates. Gallery 85 design was based on an idea of an art gallery wall. Gallery 94 was to continue with a 3D theme from Gallery 73 but was to be a slicker design.
Specification:External loading of media and setup (via a simple.txt document). Sizing based on loaded images or SWF/FLV. Exports to SWF8+. To be used as a stand alone Flash gallery or to be incorporated into an existing Flash or HTML site.
Expertise:All ...]]></description>
			<content:encoded><![CDATA[<h3>Gallery Design and Development</h3>
<p><a href="http://www.swishzone.com/products/sites/site85/index.html" target="_blank">Site85</a><br />
<a href="http://www.swishzone.com/products/sites/site94/index.html" target="_blank">Site94</a></p>
<p><strong>Aim:</strong>Design and development of Gallery templates. Gallery 85 design was based on an idea of an art gallery wall. Gallery 94 was to continue with a 3D theme from Gallery 73 but was to be a slicker design.</p>
<p><strong>Specification:</strong>External loading of media and setup (via a simple.txt document). Sizing based on loaded images or SWF/FLV. Exports to SWF8+. To be used as a stand alone Flash gallery or to be incorporated into an existing Flash or HTML site.</p>
<p><strong>Expertise:</strong>All the Flash development included behavior listeners for the animations, 3D distortions, and a naturally flowing OO structure. The designs were achieved with consultation with my Managing Director.</p>
<p><a href="http://www.swishzone.com/products/sites/site214/index.html" target="_blank">Site214</a></p>
<p><strong>Aim:</strong>To design and develop a gallery template native to SWiSH Max2 and to use Object authoring for internal customisation. Quick turn around.</p>
<p><strong>Specification:</strong>External loading of media and setup. Sizing based on loaded images or SWF/FLV. Exports to SWF9+. To be used as a stand alone Flash gallery or to be incorporated into a existing Flash or HTML site. Uses drop down menus with the parameters panel to set colours and to change the instance of the arrow graphic from a preset selection. Based on same structure as all of the new web site templates so it can be passed to other mid level designers to work from.</p>
<p><strong>Expertise:</strong>All of the Flash Development. Feedback behavior listeners for the animations. Simple structure and procedural scripting. Object authoring. Component colour pickers built by another staff member. Five days to design, construct and 2 days of testing. Photo selection and design done by me.</p>
<h3>Dynamic Web Site Design and Development</h3>
<p><a href="http://www.swishzone.com/products/sites/site111/index.html" target="_blank">Spacial</a></p>
<p><strong>Aim:</strong>To build a 3D styled website and to reuse the 3D engine developed in Gallery 94. Interaction inspired by my iPod Touch. It also draws from ideas I have about spacial libraries, pages and information as part of a space. It is also an experiment in interaction as the pages can be dragged much like an iPhone/iPod Touch. Usability testing resulted in the addition of typical scrollers &#8211; something that a user identifies with page movement.</p>
<p><strong>Specification:</strong>External loading of media, page styles and setup. Sizing based on loaded html text or jpg/ SWF/FLV, Exports to SWF9+. Uses a setup structure based in program and exports as a swf (to encourage use of the SWiSH Max2).</p>
<p><strong>Expertise:</strong>All of the Flash design and development was done by me. Highly independent encapsulated object structure, (external page styles .swf can be tested separately). Listeners for the behavioural animations have call back functions to continue highly interactive animations. Spacial maths.</p>
<p><strong>Note:</strong>All of the Galleries and Dynamic Web Site Templates here are solely designed and developed by me.</p>
<h3>GUI Design for SWiSH Max2</h3>
<p><a href="http://www.swishzone.com/index.php?area=products&amp;product=max&amp;tab=overview" target="_blank"><br />
SWiSH Max2</a></p>
<p><img class="alignnone" title="SWiSH Max2 Toolbars" src="http://www.elliotrock.com/examples/max2_toolbars.gif" alt="" width="514" height="143" /></p>
<p><strong></strong><br />
<strong></strong><br />
<strong></strong><br />
<strong></strong></p>
<p><strong>Aim:</strong>To design and draw all new icons for all the buttons, toolbars and drawing tools. Continue theme set by SWiSH Studio2 and SWiSH Video 2. Increase usability and visual communication. Produce a more professional looking product.</p>
<p><strong>Specifications:</strong>Limited palette bitmap using an index alpha colour for transparency. To work with the API of the new interface. Icons as multiple sized ico’s in the main colour palettes (XP, 24bit, 256 colour). Design had to be visually identifiable and communicate the function of that tool. Compatible across a legacy of Windows OS and Vista.</p>
<p><strong>Expertise:</strong>Many hours of pixel by pixel drawing (reminds me of my Amiga500 and Deluxe Paint). Strict Colour palette process to insure same palette is used by the drawing application (in this case I used Fireworks) through to the final ico creation package (Axialis IconWorkshop 5.0). I would also compile my own test exe of the application (using appTranslator). Batch production method to ensure quality over many bitmaps and ico’s. Continuous testing and communication with application UI developers to work in with the API of the User Interface. Classic and strong visual communication concepts were used to tighten common sets of menu functions and their individual meaning. User testing and analysis.</p>
<p><strong>Example:</strong> Please download a trial of <a href="http://www.swishzone.com/index.php?area=products&amp;product=max" target="_blank">SWiSH Max2</a> to view GUI design.</p>
<h3>Samples for Launch of SWiSH Max2</h3>
<p><a href="http://www.elliotrock.com/examples/ballgame_physics.html"><br />
Ballgame physics</a></p>
<p><strong>Aim:</strong> To produce a physic based sample to show SWiSH Max2 physic class and as an advanced usage of actionscript2.</p>
<p><strong>Expertise:</strong> Circular collisions scripting, vector velocities and simple collision detection.</p>
<p><strong>Example:</strong> ballgame_physics.swi. Please download a trial of SWiSH Max2 to view the scripting. Use the Outline Panel to navigate through the structure and the Script Tab to view the coding.</p>
<p>To view more examples browse through swishzone.com especially the Dynamic Sites and Galleries.</p>
<h3>Development of Elliotrock.com</h3>
<p><strong>Aim:</strong> To develop a site that draws the content from my blog. This is to be my ongoing personal site.</p>
<p><strong>Specifications:</strong> AS3 developed showing a Command Pattern, RSS feed loading, Content structure is based on the RSS feed, expandable to use other page styles such as image/video galleries, easy to add other non section features such as a stand alone classic RSS feed reader.</p>
<p><strong>Expertise:</strong> AS3 OOP Command Pattern, Namespaces, CSS in AS3, Wordpress, Yahoo pipes, RSS2 feeds, OOP coding and a simple crisp design.</p>
<p>The structure is using a Command Pattern that allows me to implement different menu executions off various menu items. The system is a Command List. The main use for this is having an implementation method that allows for flexible structure. I can add new menu functions and pages or function without having to rework a lot of code.</p>
<p>At first I pulled in the feed of my blogger page. The blogger feed is past through yahoo pipes, which is a rss feed aggregate of forms, except it offers a unique tool set to do many things with RSS and JSON feeds. Yahoo pipes has an open cross-domain-policy file setup so you can call this to enable loading to AS3 from their domain. This didn&#8217;t prove to be a stable solution as I was reliant upon pipes.yahoo and blogger, two nodes that I couldn&#8217;t manage. Pipes.yahoo.com had a critical bug that stopped rss feeds from blogger in their system, this made it clear that I need to host and manage as all the systems.</p>
<p>I decided to host my own Wordpress system on my domain on a new server. This has helped me concentrate on developing my AS3 blog system.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=23</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading RSS Feed Content</title>
		<link>http://blog.elliotrock.com/?p=21</link>
		<comments>http://blog.elliotrock.com/?p=21#comments</comments>
		<pubDate>Sat, 18 Oct 2008 01:47:13 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=21</guid>
		<description><![CDATA[UPDATE: This site is now driven by Wordpress which is installed on this server. Even so the information below is still relevant. With the recent issues with pipes.yahoo.com and the critical bug that they had with their system I have decided to remove the two uncontrollable systems that my site is reliant on, blogger.com and yahoo.pipes. I have set up my own Wordpress blog on my server, this will allow me to manage and maintain issues myself. It also reduces ...]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE:</strong> This site is now driven by Wordpress which is installed on this server. Even so the information below is still relevant. With the recent issues with pipes.yahoo.com and the critical bug that they had with their system I have decided to remove the two uncontrollable systems that my site is reliant on, blogger.com and yahoo.pipes. I have set up my own Wordpress blog on my server, this will allow me to manage and maintain issues myself. It also reduces the number of things that can go wrong &#8211; fingers crossed!</p>
<p>The content for this site use to resides on blogger.com and I am reading in the RSS feed as content and structure for this site. If you are viewing this from <a href="http://elliotrock.blogspot.com/">elliotrock.blogspot.com</a> then leap to www.elliotrock.com.The process had to solve these issues:</p>
<p><strong>- Flash cross domain security issues and not being able to load data from Blogger</strong></p>
<p><strong>- Stylesheet difference between AS3 StyleSheet class and the CSS at Blogger</strong></p>
<h3>Flash cross domain security issues and not being able to load data from Blogger</h3>
<p>Blogger doesn&#8217;t provide an open cross-domain-policy file, so you cannot source their feeds directly. One of the issues with Flash expecting authorization to use data from external domains is that public systems like blogger don&#8217;t doffer as yet an open crossdomain.xml. This maybe due to the lack of people using Flash to view RSS feeds.</p>
<p>In order to solve or to use a better term to &#8220;work around&#8221; the Flash security and loading issues, I intially decided to use a RSS feed aggregate. It needed to provided an open cross domain policy in the format that was accept by Flash. An open policy basically gives all domains loading rights. The best service I found was <a href="http://yahoo.pipes.com/">yahoo.pipes</a>. They run an amazing Javascript RIA application that allows you to not only redirect RSS feeds but filter, combine multiple feeds and more.</p>
<p>I set up a url feed reader that I could send from my Flash file, the blogger URL for the RSS feed. Pipes.yahoo then feeds this feed back to me and they give access to the XML file with the cross-domain-policy. Since this lives on their domain when I do a security check from Flash it accepts the RSS feed. You can view the feed pipe I used here <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=01324414f0610a32d5b7688c4fadd62e">generic input feed with catagories</a></p>
<p>The issue I encountered initially with pipes.yahoo was the output feed defaulted to removing the category tags from the blogger feed. I had already used these to organise my Flash site so had to figure out how to add a Rename module to add these back into the feed output.</p>
<p>You need to load and check for this cross_domain_policy.xml before it allows you to load in the RSS feed. This is needed in this case because the policy file isn&#8217;t at the default position, which is normally the root of your domain. With this method the location is at <strong>&#8220;http://pipes.yahooapis.com/crossdomain.xml&#8221;.</strong></p>
<h3>Style Sheet difference between AS3 Style Sheet class and the CSS at Blogger</h3>
<p>There were many things different and incompatible with the loaded XML RSS feed. From difference in definition in the span tags, to odd ways blogger wraps sections of text. Even with basic html tags working with their Stylesheet but once again not compatible with Flash. This is because it is a form of XHTML from what I can gather.</p>
<p>The road I took was to bluntly do a few string hacks to get the xml file in an useful form. I pulled out the style sheet information, applied them to Style Sheet objects and re-wrap the span tags with something that that internal Flash Style Sheet class could associate with the created Style Sheet.</p>
<p>There is an 3rd party class that Adobe hosts called as3syndicationlib. <a href="http://www.mikechambers.com/blog/2008/01/22/parsing-rss-20-feeds-in-actionscript-3/">Mike Chambers blog</a> shows how to use this class. I had already done my own hack to the xml data before I stumble upon this. This article gave me the idea to use pipes.yahoo to solve the initial loading issues.</p>
<p>In all a lot of research, problem solving and work to achieve what I believe to be a great way to maintain and update content for a flash site.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=21</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Site&#8217;s Design Pattern</title>
		<link>http://blog.elliotrock.com/?p=18</link>
		<comments>http://blog.elliotrock.com/?p=18#comments</comments>
		<pubDate>Sat, 18 Oct 2008 01:30:54 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=18</guid>
		<description><![CDATA[Any site that needs interaction between various elements (menu buttons to page builders and more) have a behavioural need. This site uses a Command Pattern with a Command List to control the behaviour of the menu buttons and the content. The other reason to use a Command Patterns is to easily change the function of various menu items, in this case say the links menus.
The structure is based on the catagory tags and the publishing date order from my blogg. ...]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: trebuchet ms;">Any site that needs interaction between various elements (menu buttons to page builders and more) have a behavioural need. This site uses a Command Pattern with a Command List to control the behaviour of the menu buttons and the content. The other reason to use a Command Patterns is to easily change the function of various menu items, in this case say the links menus.</span></p>
<p><span style="font-family: trebuchet ms;">The structure is based on the catagory tags and the publishing date order from my blogg. Once the RSS feed is loaded, the catagories and sections menus are built. This is where a Command pattern works well as the instanisation of the various commands is not static but dynamic. If I wanted to add in different content asides from the RSS2 xml feed like the gallery, I need to create a new command which deals with the creation of this new pagestyle and add a menu to the invoker panel in the main class.</span></p>
<p><span style="font-family: trebuchet ms;">Good OOP allows for easy expansion and change. A Command Pattern in this case suited the dynamic structure and my desire to add in different page styles.</span></p>
<p><span style="font-family: trebuchet ms;">The next stage is to introduce a Creation Pattern to setup the instants of the various Commands.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome</title>
		<link>http://blog.elliotrock.com/?p=13</link>
		<comments>http://blog.elliotrock.com/?p=13#comments</comments>
		<pubDate>Sat, 18 Oct 2008 01:29:38 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.elliotrock.com/?p=13</guid>
		<description><![CDATA[I have always wondered how working Flash Developers have time for self promotion through having a website. The last personal site I had was an experiment project I did in the final year of my degree. Thankfully they are long lost files.
Along comes the blog, an easy way to broadcast ideas, provide solutions at regular pace. But where&#8217;s the flash (wizz bang wow)?
You are looking at it!
What I have developed here is a Flash front end to my blogger.com based ...]]></description>
			<content:encoded><![CDATA[<p>I have always wondered how working Flash Developers have time for self promotion through having a website. The last personal site I had was an experiment project I did in the final year of my degree. Thankfully they are long lost files.</p>
<p>Along comes the blog, an easy way to broadcast ideas, provide solutions at regular pace. But where&#8217;s the flash (wizz bang wow)?</p>
<p>You are looking at it!</p>
<p>What I have developed here is a Flash front end to my blogger.com based blog. This gives me an online and pre made CMS &#8211; yes cheating completely! I have pulled in the RSS feed and organised it dynamic to the categories that I have set up inside my blogger. There is a lot of information you could use within the feed. More on that later.</p>
<p>I hope to get a lot more content up as soon as I can.</p>
<p>Elliot Rock</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elliotrock.com/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
