<?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>Archonic - Ottawa Web Media &#187; Flash</title>
	<atom:link href="http://archonic.com/blog/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://archonic.com</link>
	<description>A digital interactive agency in Ottawa Ontario, founded on elegance and effectiveness.</description>
	<lastBuildDate>Wed, 14 Jul 2010 17:19:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>The Future of Flash Part II &#8211; HTML5 vs Flash</title>
		<link>http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=future-of-flash-html5-vs-flash</link>
		<comments>http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/#comments</comments>
		<pubDate>Fri, 07 May 2010 21:56:56 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=313</guid>
		<description><![CDATA[While part I focused on the quarrel between Adobe and Apple, the future of Flash is much larger than the ramblings of an over-dramatic control freak. Flash has been a definitive tool for web interaction. It&#8217;s lived through the indirect blow of AJAX by being more animation-centric and object oriented. It&#8217;s lived through the increasing [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_323" class="wp-caption aligncenter" style="width: 460px"><a href="http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/"><img class="size-full wp-image-323 " title="Flash vs HTML5" src="http://archonic.com/files/2010/05/flashvshtml5.jpg" alt="Flash vs HTML5" width="450" height="300" /></a><p class="wp-caption-text">Flash vs HTML5</p></div>
<p>While <a href="http://archonic.com/blog/2010/04/29/the-future-of-flash-part-1/">part I</a> focused on the quarrel between Adobe and Apple, the future of Flash is much larger than the <a href="http://www.apple.com/hotnews/thoughts-on-flash/" target="_blank">ramblings of an over-dramatic control freak</a>. Flash has been a definitive tool for web interaction. It&#8217;s lived through the indirect blow of AJAX by being more animation-centric and object oriented. It&#8217;s lived through the increasing functionality of Java by, again, being more animation centric and having a very hands-on design view in the Flash development environment. HTML5 however, is taking direct aim at animation, graphics, video and even 3D applications. Beyond the momentum of the current Flash-comfortable army of web developers, <strong>where will Flash sit in the future of the web?</strong></p>
<p>Adobe has proven to be adaptive and intelligent. There is no doubt in my mind that right now, in various offices, at various desks, there are well paid people looking for ways to have Flash outlive this next battle. According to the W3C, HTML5 will reach recommendation by late 2010. That&#8217;s not a lot of time to come out with dramatic advances in Flash&#8217;s functionality. Lets take a look at where the battle fronts lay.</p>
<h2>Video</h2>
<p>Right now, there are a number of barriers to entry for placing videos on the web. If you don&#8217;t have your own Flash video player, getting one is confusing enough to give up on. Using YouTube or Vimeo has you sign up for an account and be subjected to their quality limit, censoring, upload times, user interface, ads, and terms of service. Windows Media Player embeds are dead due to their poor handling of codecs and even Apple&#8217;s .mov &#8220;embedding&#8221; technique is terrible. YouTube, Vimeo or one of the many other video uploading communities are almost always your best bet.</p>
<p>The W3C thankfully recognizes the web video problem and has brought us the salvation that is the &#8220;&lt;video&gt;&#8221; tag. Browsers will be able to see video files much like the way they see image files. Video files are however very, very different. The video playback controls for HTML5 are built in (and customizable) but the video file codec is a beggar. While H.264 is a real winner in terms of compression, quality and streaming abilities, it&#8217;s a huge mess in terms of legal use. If you want to use the codec for commercial purposes (which so many people would), you have to pay royalties. OGG is the other codec available for HTML5 and is completely free, but not as impressive in quality and compression.</p>
<p>Right now, Flash accounts for around 70% of the web&#8217;s video. The biggest player here is YouTube which accounts for around 40% of all web video. While YouTube is the child of Google, who has shown extensive co-operation with Adobe to bring Flash to their mobile platform Android, YouTube has also co-operated with Apple to stream videos in the Apple-friendly H.264 format. It seems YouTube will (rightfully) innovate to keep their grip on internet video, firm. YouTube has already dabbled with HTML5 and was in fact one of the first to offer a demo. You can opt-in to their <a href="http://www.youtube.com/html5" target="_blank">HTML5 beta here</a>. So far though, HTML5 videos don&#8217;t have the in-video ad-showing abilities of their Flash counterparts. Until HTML5 offers a way to do this, Flash will be a part of the YouTube and the overall web video mix.</p>
<p><strong>Verdict:</strong> Let&#8217;s not lose perspective. HTML5 allows you to embed videos with the H.264 and OGG codecs and has built in controls. Flash is a <em>platform</em> capable of streaming video in a variety of codecs, any video control scheme imaginable, overlays, in-video links, advertisements, subtitles, keyboard interaction.. and&#8230; well the list is ever-expanding. Flash&#8217;s interactivity both server-side and user-side will earn its place in the future of web video. Both HTML5 video and Flash embedding (via <a href="http://code.google.com/p/swfobject/" target="blank">swfObject</a>) offer alternative content. If a browser doesn&#8217;t support Flash, it can seemlessly display an HTML5 video in its place.</p>
<p><strong>Read on:</strong></p>
<ul>
<li>See the HTML5 video tag in action &#8211; <a href="http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_video">w3schools.com</a></li>
<li>H.264 is a codec, Flash is a platform. One can not kill the other. &#8211; <a href="http://blog.streamingmedia.com/the_business_of_online_vi/2010/05/h264-is-a-codec-flash-is-a-platform-one-cant-kill-off-the-other.html" target="_blank">streamingmedia.com</a></li>
<li>A developers perspective on HTML5 vs Flash. A little homegrown but good points are raised. &#8211; <a href="http://www.youtube.com/watch?v=aVjIsL8qwNw" target="_blank">YouTube.com</a></li>
</ul>
<h2>Animation &amp; Graphics</h2>
<p>Unless you seek out things like Flash games, most of a web users experience with Flash animation is (unfortunately) ads. Flash&#8217;s ability to distract you is worth billions (I&#8217;m definitely not kidding). HTML5 currently lacks the timeline animation environment of Flash, but coded animations could be on par with Flash via a canvas tween library. The idea behind browser add-ons like <a href="https://addons.mozilla.org/en-US/firefox/addon/433">Flash Block</a> is to protect your web experiance from animated and invasive advertisements. Ironically, it&#8217;s because of such programs that there will undoubtedly be HTML5 animated ads. Flash has been in this game a <em>long</em> time though and I have no doubt their verteran status will trump HTML5 for the next few years.</p>
<p>Graphics are a different story. With HTML5, the web will support vector graphics directly. This doesn&#8217;t really conflict with Flash however since embedding static non-interactive vector images, with Flash, doesn&#8217;t make much sense. The benefit lies mostly on the side of developers that will be able to scale images without making/saving multiple copies of an image or scale a logo with a liquid layout. The benefit on the user side lies with reduced loading times.</p>
<p><strong>Verdict:</strong> Put simply, Flash will win. HTML5 through the canvas API has the potential for animation engines like the popular <a href="http://www.greensock.com/" target="_blank">GreenSock suite</a>. The performance thus far has been lacking though and unless Adobe themselves come up with an HTML5 compiling animation environment (<a href="http://blog.digitalbackcountry.com/2010/05/were-going-to-try-to-make-the-best-tools-in-the-world-for-html5/" target="_blank">which they might</a>), developers will be sticking with Flash. Web vector graphics on the other hand are filling a need that Flash never filled anyways. Apples and oranges.</p>
<h2>Connectivity</h2>
<p>This is a much more convoluted battle ground. Through Java, browsers have plenty of live peer connection abilities. Flash has fought back with a number of connection services. Firstly, there&#8217;s <a href="http://www.amfphp.org" target="_blank">AMFPHP</a>. Not made by Adobe but still very powerful; if PHP can do it, so can Flash. There&#8217;s the barrier to entry with interface setup and complications around dealing with that interface, but the capability is there. Plenty of todays Flash applications connect with databases and display PHP-retrieved data. Then there&#8217;s RTMP (Real Time Messaging Protocol). This is what ChatRoulette uses for it&#8217;s awkward magic. RTMP enables a Flash player to stream a file (such as a .flv Flash video) from a Flash Server. Another punch came with the Adobe Labs release of the &#8220;Stratus&#8221; service.</p>
<div id="attachment_324" class="wp-caption aligncenter" style="width: 535px"><img class="size-full wp-image-324 " title="Adobe Stratus" src="http://archonic.com/files/2010/05/adobe-stratus.png" alt="Adobe Stratus" width="525" height="294" /><p class="wp-caption-text">Adobe Stratus</p></div>
<p>Stratus 1.0 (<a href="http://archonic.com/blog/2010/01/17/adobe-labs-stratus/">which I wrote about here</a>), released in 2008, offered an exciting new way to connect Flash instances. When 2 Flash instances can connect directly to each other, this removes all server responsibility except the initial connection. The implications for chat and gaming were (and are) exciting. Then came Stratus 2.0, seen in the right panel above. <em>Very</em> exciting. Imagine the performance increase in gaming, conferencing and video streaming when you can receive information from your neighbors instead of a server half-way around the world. The only people more excited than Flash media users would be Flash media suppliers. The performance increase and server load decrease on something like YouTube would be <em>phenomenal</em>.</p>
<p><strong>Verdict:</strong> This is the area in which Adobe has been advancing in leaps and bounds. Peer-to-peer connections are beyond the responsibility of the HTML5 specifications (or HTML6 for that matter). I don&#8217;t see HTML ever advancing to duplicate Adobe Stratus 2.0 functions. Flash wins this one in a big way.</p>
<h2>3D</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="384" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uofWfXOzX-g&amp;hl=en_US&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="384" src="http://www.youtube.com/v/uofWfXOzX-g&amp;hl=en_US&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Let&#8217;s get something strait. This is not HTML5. It&#8217;s a Google Code project call <a href="http://code.google.com/apis/o3d/" target="_blank">O3D</a>. In their own words &#8211; &#8220;Originally built as a browser plug-in, this new implementation of O3D is a JavaScript library implemented on top of WebGL&#8221;. While it&#8217;s not native HTML5, it makes use of HTML5, and it renders much more complex 3D environments, much better than Flash. 3D in Flash is sort of a hack &#8211; Adobe never intended for it to be a 3D engine. <a href="http://blog.papervision3d.org/">Papervision</a> blazed the 3D Flash path and has since made a couple impressive advances. <a href="http://away3d.com/" target="_blank">Away3D</a>, <a href="http://www.flashsandy.org/" target="_blank">Sandy 3D</a> and <a href="http://www.sophie3d.com/website/index_en.php" target="_blank">Sophie 3D</a> are other Flash 3D engines. With the release of Flash Player 10, Adobe recognized the 3D applications of Flash and made it much easier to render with it&#8217;s native 3D transformations. While it only allows 3D transformations of completely flat objects, this takes the calculation burden off of the imported library and dramatically improved performance. You can see what Papervision is capable of at <a href="http://www.papervisionshowcase.com/" target="_blank">papervisionshowcase.com</a> (not currently working, but I assume it will be back soon).</p>
<p><strong>Verdict:</strong> So far it&#8217;s a toss up which only time can settle. Even with Adobe offering performance enhancements and the dedication of the Papervision team, 3D in Flash is an exercise in how far you can push a hack. O3D is very young, but being a 3D-from-the-start development, it has a more solid foundation. It&#8217;s hard to say what will be developers&#8217; mainstream choice. Sites that use 3D Flash, usually use to it to immerse a user in a product-centric environment. Flash&#8217;s animation abilities have proved much more immersive than any O3D (or Java based) implementation I&#8217;ve ever seen. I see that trend continuing for the next little while.</p>
<h2>Games</h2>
<p>Flash is without doubt the undisputed internet gaming king. Flash wins. By a lot. That was until my world was shaken&#8230; with this.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="384" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/XhMN0wlITLk&amp;hl=en_US&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="384" src="http://www.youtube.com/v/XhMN0wlITLk&amp;hl=en_US&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Quake II. In a browser. Don&#8217;t let the April 1st post date fool you &#8211; that&#8217;s Quake II running as well as it ever could. In a browser. This changes everything.</p>
<p><strong>Verdict:</strong> Flash has an army of game developers behind it and a world of libraries such as <a href="http://flixel.org/">Flixel</a>. Developers are fickle and curious creatures though. I can see browser gaming exploding into 3D in the coming years and it will play out like the release of a new console. There will be communities and advocates for &#8220;retro&#8221; flash games, but the focus of internet gaming could entirely become HTML5 based Java ports like the one above. It&#8217;s a movement I would whole heartedly support.</p>
<h2>In Conclusion&#8230;</h2>
<p>The W3C aren&#8217;t bent on replacing Flash and it&#8217;s not what they&#8217;ve aimed for; Steve Jobs is responsible for any notion otherwise. HTML5 will change the role of Flash, but it is far from ever replacing it. I&#8217;d go as far to say that the role change would be minor &#8211; mainly simple video embeds and image rotators. The possibilities of Java and WebGL are very exciting and may largely replace Flash extensions such as Papervision, but not completely.</p>
<p>Read more on HTML5 vs Flash:</p>
<blockquote><p>“We are scrapping three years of Flash development and betting the company on HTML5 because we believe HTML5 is a dramatically better reading experience than Flash. Now any document can become a Web page” Jared Friedman, CTO, Scribd</p></blockquote>
<p>Scribd ditches 3 years of Flash development for HTML5 &#8211; <a href="http://www.slashgear.com/scribd-scrapping-3-years-of-flash-development-for-html5-0684639/" target="_blank">slashgear.com</a></p>
<ul>
<li>W3School&#8217;s HTML5 Tag Reference &#8211; <a href="http://www.w3schools.com/html5/html5_reference.asp" target="_blank">w3schools.com</a></li>
<li>HTML5 experiance on the iPad &#8211; <a href="http://www.youtube.com/watch?v=rfmbZkqORX4" target="_blank">YouTube.com</a></li>
<li>Introduction to HTML5 by Google developer Brad Neuberg (a must-see!) &#8211; <a href="http://www.youtube.com/watch?v=siOHh0uzcuY">YouTube.com</a></li>
</ul>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;title=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;t=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;title=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;title=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/&amp;title=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=The+Future+of+Flash+Part+II+-+HTML5+vs+Flash+-+http://bit.ly/cg3gqp&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2010/05/07/future-of-flash-html5-vs-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FITC Toronto 2010</title>
		<link>http://archonic.com/blog/2010/04/25/fitc-toronto-2010/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fitc-toronto-2010</link>
		<comments>http://archonic.com/blog/2010/04/25/fitc-toronto-2010/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 18:43:56 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=295</guid>
		<description><![CDATA[FITC 2010 is well underway, here at the Hilton Hotel in Toronto. Saturday&#8217;s free &#8220;Get a Job!&#8221; event managed to be considerably larger than last year and while success is in the eye of the resume-holder, I&#8217;d call it a big success. The same goes for the presentations. We&#8217;ve seen great talks from Lee Brimelow [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_296" class="wp-caption aligncenter" style="width: 510px"><a href="http://archonic.com/files/2010/04/FITC_Toronto2010_500x180.jpeg"><img class="size-full wp-image-296" title="FITC Toronto 2010" src="http://archonic.com/files/2010/04/FITC_Toronto2010_500x180.jpeg" alt="FITC Toronto 2010" width="500" height="180" /></a><p class="wp-caption-text">FITC Toronto 2010</p></div>
<p><a href="http://www.fitc.ca/">FITC 2010</a> is well underway, here at the Hilton Hotel in Toronto. Saturday&#8217;s free &#8220;Get a Job!&#8221; event managed to be considerably larger than last year and while success is in the eye of the resume-holder, I&#8217;d call it a big success. The same goes for the presentations. We&#8217;ve seen great talks from <a href="http://www.fitc.ca/events/speakers/speaker.cfm?event=102&amp;speaker_id=10778">Lee Brimelow</a> about <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=102&amp;presentation_id=1161">multi-touch</a>, great (and hilarious) advice derived from an <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=102&amp;presentation_id=1105">important mantra</a> from <a href="http://www.fitc.ca/events/speakers/speaker.cfm?event=102&amp;speaker_id=2234">Hoss Gifford</a> and a wonderful look into <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=102&amp;presentation_id=1157">inspirational works of the past</a> from <a href="http://www.fitc.ca/events/speakers/speaker.cfm?event=102&amp;speaker_id=12782">James White</a>. In just a few moments Adobe presenters Richard Galvan and Mark Anders will wrap up their keynote where Flash and Adobe patriots were enticed with CS5 and wooed with Adobes future plans. The full three day schedule <a href="http://www.fitc.ca/events/schedule/?event=102">is here</a>. I suspect my favorite event will be the last one.</p>
<p>It&#8217;s too bad a fair number of people couldn&#8217;t make it. <a href="http://www.fitc.ca/news/?p=764">Ash clouds</a>. Think they own the place. No matter where you are, don&#8217;t forget to <a href="http://fitc.influxis.com/">tune in online</a>!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;title=FITC+Toronto+2010" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;t=FITC+Toronto+2010" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;title=FITC+Toronto+2010" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;title=FITC+Toronto+2010" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/&amp;title=FITC+Toronto+2010" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2010/04/25/fitc-toronto-2010/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=FITC+Toronto+2010+-+http://bit.ly/9RBdL5&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2010/04/25/fitc-toronto-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From the Vault: The BitBox!</title>
		<link>http://archonic.com/blog/2010/01/28/bit-box/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=bit-box</link>
		<comments>http://archonic.com/blog/2010/01/28/bit-box/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:24:56 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[OpenSurface]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=188</guid>
		<description><![CDATA[It&#8217;s almost a year old, but a recently put together video showcases a past project much better than previous ones. The BitBox was a school project for the IMD program at Carleton University. Put together from scratch by 5 guys in 3 months while attending full-time school, we were all surprised with the results. We [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s almost a year old, but a recently put together video showcases a past project much better than previous ones. The <strong>BitBox</strong> was a school project for the <a href="http://www.bitdegree.ca" target="_blank">IMD program</a> at <a href="http://www.carleton.ca" target="_blank">Carleton University</a>. Put together from scratch by 5 guys in 3 months while attending full-time school, we were all surprised with the results. We now have a second version on the way which will employ IR lasers instead of LEDs and be encased in a arcade quality cabinet. Where that second version leads is unknown but I&#8217;m happy to have reserved <a href="http://www.opensurface.org" target="_blank">OpenSurface.org</a>. This is my excitement face.</p>
<p><center><object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9046302&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9046302&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object></center></p>
<p>People on the project were myself &#8211; Joshua Mark, Chris Atallah, Chris Burt, Kevin Paquette and Matt McLean. If you&#8217;d like to learn more or build a touch table yourself visit the project &#8220;learning center&#8221; at <a href="http://www.bitbox.archonic.com" target="_blank">BitBox.Archonic.com</a>. The touch input to Flash is driven by open source software called <a href="http://ccv.nuigroup.com/" target="_blank">CCV (Community Core Vision)</a> developed by the good people at the <a href="http://nuigroup.com/" target="_blank">NUI Group</a>. If you want to make one yourself, NUI Group is an invaluable resource. Let me (and the NUI forums) know of your multi-touch creations!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2010/01/28/bit-box/&amp;title=From+the+Vault%3A+The+BitBox%21" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2010/01/28/bit-box/&amp;t=From+the+Vault%3A+The+BitBox%21" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2010/01/28/bit-box/&amp;title=From+the+Vault%3A+The+BitBox%21" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2010/01/28/bit-box/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2010/01/28/bit-box/&amp;title=From+the+Vault%3A+The+BitBox%21" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2010/01/28/bit-box/&amp;title=From+the+Vault%3A+The+BitBox%21" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2010/01/28/bit-box/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=From+the+Vault%3A+The+BitBox%21+-+http://bit.ly/9VWA1O&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2010/01/28/bit-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Greensock&#8217;s Tweening Platform v11 released!</title>
		<link>http://archonic.com/blog/2009/11/17/gs-tween-v11-released/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=gs-tween-v11-released</link>
		<comments>http://archonic.com/blog/2009/11/17/gs-tween-v11-released/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 18:13:04 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=147</guid>
		<description><![CDATA[It&#8217;s here! Greensock&#8217;s already very useful and comprehensive tweening platform has evolved into an entire suite of even more light weight and powerful animation engines. I try my best to avoid Flash&#8217;s default timeline animations due to their reliance on frame rate, choppiness, lack of easing options and inconvenient editing. There&#8217;s other tweening engines out [...]]]></description>
			<content:encoded><![CDATA[<p><center><a href="http://blog.greensock.com/v11" target="_blank"><img src="http://archonic.com/wp-content/uploads/2009/11/greensock_tweener_v11.jpg" border="1px" /></a></center></p>
<p>It&#8217;s here! <a href="http://greensock.com/" target="_blank">Greensock&#8217;s</a> already very useful and comprehensive tweening platform has evolved into an entire suite of even more light weight and powerful animation engines. I try my best to avoid Flash&#8217;s default timeline animations due to their reliance on frame rate, choppiness, lack of easing options and inconvenient editing. There&#8217;s other tweening engines out there such as <a href="http://code.google.com/p/tweener/" target="_blank">caurina&#8217;s</a>, but you won&#8217;t find one as versatile, fast, lightweight, well documented and well supported as the ones produced by <a href="http://greensock.com/" target="_blank">Greensock</a>.</p>
<p><a href="http://blog.greensock.com/v11/" target="_blank">Version 11</a> appears to be the most changed release since the tweening platforms inception and there&#8217;s a small learning curve to get over. So, here&#8217;s the breakdown&#8230;</p>
<p><strong>TweenNano</strong></p>
<p>It&#8217;s 1.6k! TweenNano can handle your tweening needs for BLANK but it stops there with no support for timeline functions and limited overwrite controls.</p>
<p><strong>TweenLite</strong></p>
<p>This is currently the most commonly used class of the group. It&#8217;s gained a little weight (1.9k) which may seem surprising, but the with the utility it&#8217;s gained with timeline methods and with the introduction of TweenNano, you shouldn&#8217;t have any file size issues. The most comprehensive update to TweenLite is the pause(), resume(), reverse(), play(), and restart() methods, which you can see the power of in the animation on the <a href="http://blog.greensock.com/" target="_blank">Greensock blog</a>.</p>
<p><strong>TweenMax</strong></p>
<p>A personal favorite. On top of TweenLite&#8217;s functionality, TweenMax adds performance enhancements, overwrite management, tweens for filters, hex colours, volume, tint, and even do bezier tweening.
<p><strong>TimelineLite</strong></p>
<p>A new class that brings timeline controls for building and managing sequences at just 2.5k (8.1k with OverwriteManager and TweenLite).</p>
<p><strong>TimelineMax</strong></p>
<p>On top of TimelineLite&#8217;s utility, this brings infinite timeline nesting, time scale manipulation, listeners for START, UPDATE, REPEAT, REVERSE_COMPLETE, COMPLETE events and much more.</p>
<p>The full breakdown is of course on <a href="http://blog.greensock.com/v11/" target="_blank">greensock&#8217;s version 11 page</a>. All of the above are frequently updated for both AS3 and AS2. I&#8217;ll be using TweenMax and TimelineMax in my current project &#8211; a suite of 4 Flash touch games for the Royal Canadian Mint&#8217;s Vancouver 2010 Olympics campain playable on an HP Touchsmart dx9000.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;title=Greensock%27s+Tweening+Platform+v11+released%21" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;t=Greensock%27s+Tweening+Platform+v11+released%21" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;title=Greensock%27s+Tweening+Platform+v11+released%21" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;title=Greensock%27s+Tweening+Platform+v11+released%21" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/&amp;title=Greensock%27s+Tweening+Platform+v11+released%21" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2009/11/17/gs-tween-v11-released/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Greensock%27s+Tweening+Platform+v11+released%21+-+http://bit.ly/aSudKD&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2009/11/17/gs-tween-v11-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First site with gesture and voice navigation</title>
		<link>http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=first-site-with-gesture-and-voice-navigation</link>
		<comments>http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 17:15:44 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=16</guid>
		<description><![CDATA[Andreas Lutz has created what seems to be the first site with mostly mouseless and keyboardless navigation. Visit the site and enable web cam and mic access and you can navigate with voice commands and gestures. A very cool concept indeed. You can see how it&#8217;s supposed to work in the demo video but judging [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreaslutz.com/" target="_blank">Andreas Lutz</a> has created what seems to be the first site with mostly mouseless and keyboardless navigation. Visit the site and enable web cam and mic access and you can navigate with voice commands and gestures. A very cool concept indeed.</p>
<p><center><object width="640" height="352"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7095188&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7095188&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="352"></embed></object></center></p>
<p>You can see how it&#8217;s supposed to work in the demo video but judging by the comments on <a href="http://abduzeedo.com/surfing-net-your-hands-and-mouth" target="_blank">abduzeedo</a> and my own attempt to navigate, it doesn&#8217;t work terribly well.</p>
<p>I wonder if and when we&#8217;ll ever trump the mighty mouse&#8230;</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;title=First+site+with+gesture+and+voice+navigation" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;t=First+site+with+gesture+and+voice+navigation" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;title=First+site+with+gesture+and+voice+navigation" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;title=First+site+with+gesture+and+voice+navigation" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/&amp;title=First+site+with+gesture+and+voice+navigation" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=First+site+with+gesture+and+voice+navigation+-+http://bit.ly/90A8ol&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2009/10/27/first-site-with-gesture-and-voice-navigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five Life-saving tips for beginner Flash developers</title>
		<link>http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=five-tips-beginner-flash-developers</link>
		<comments>http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 13:42:33 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=165</guid>
		<description><![CDATA[My break in Flash developing came, as it did for many others, when I was introduced to some powerful industry standard classes and tools. It can be hard to keep up with the times, particularly for intermittent developers, since something new and amazing comes out pretty much every week. For at least today however, here [...]]]></description>
			<content:encoded><![CDATA[<p>My break in Flash developing came, as it did for many others, when I was introduced to some powerful industry standard classes and tools. It can be hard to keep up with the times, particularly for intermittent developers, since something new and amazing comes out pretty much every week. For at least today however, here are 5 very useful tips for Flash developers looking to broaden their horizons.</p>
<h4>0. Get with the times.</h4>
<p>This is point zero because I imagine most reading this (who actually do Flash) are using ActionScript 3 and CS3. If you are, move on to point 1.</p>
<p>I&#8217;ve done an unfortunate number of ActionScript 2.0 to 3.0 conversions recently. We&#8217;re now on Flash player version 10 and CS4, so making projects in Flash 8 and AS2 is downright anti-social. Some advertisers specs require Flash 8 for things like <a href="http://www.iabcanada.com/clicktag/" target="_blank">click tags</a>, which is just unfortunate (I feel your pain). If you&#8217;re stuck in the past and afraid to make the jump, a <a href="http://www.adobe.com/downloads/" target="_blank">free 30-day CS4 trial</a> and a visit to <a href="http://www.8bitrocket.com/seriesdisplay.aspx?seriesid=5&amp;catid=206" target="_blank" class="broken_link">8BitRocket&#8217;s AS2 to AS3 series</a> should get you rolling. A great resource for automatic up converting is <a href="http://jobemakar.blogspot.com/2007/05/convert-actionscript-2-to-actionscript.html">Jobe Makar&#8217;s Upconverter</a>. For motivation, check out some of the <a href="http://www.unitzeroone.com/labs/alchemyPushingPixels/" target="_blank">cool</a> <a href="http://ge.ecomagination.com/smartgrid/#/augmented_reality" target="_blank">things</a> you can do with Flash 10 and AS3. Eventually that is&#8230;</p>
<h4>1. Use Classes</h4>
<p>This seems like a totally trivial point, but they are plenty of Flash developers not taking advantage of the power of classes. With Flash&#8217;s inherently object based environment, it&#8217;s an excellent place to implement reusable structures. One of a design firms greatest assets is their reusable class library. A powerful collection of classes can cut project time down by well over half. If you&#8217;re new, <a href="http://www.actionscript.org/resources/articles/698/1/Make-your-own-reusable-classes-using-Flash-and-AS3/Page1.html" target="_blank">ActionScript.org</a> has a great place to start. The rest of this article is a collection of classes that can make your platform vastly more powerful.</p>
<h4>2. GreenSock&#8217;s Tweening engine: <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">TweenLite</a> and <a href="http://blog.greensock.com/tweenmaxas3/" target="_blank">TweenMax</a></h4>
<p>I use this in about every project I make. This is the most full featured, stable and well documented tweening engine out there. If your flash project needs a refined series of tweens and/or is more interactive than a basic 1-click banner (which should be just about all of them), the benefits are vast. Even if it is just a quick banner, the ability to enter fractions of a second for roll over tweens will separate you from the unenlightened masses. Where this class set shines is in it&#8217;s ease of use, <a href="http://blog.greensock.com/tweening-speed-test/" target="_blank">speed</a>, and documentation. Jack (a.k.a. GreenSock) is an admirably dedicated developer and the <a href="http://forums.greensock.com/forum.php" target="_blank">GreenSock support forum</a> is basically a one on one classroom. Very handy.</p>
<h4>2. <a href="http://www.uza.lt/codex/as3-global-object/" target="_balnk">Uza&#8217;s Global Class</a></h4>
<p>So you&#8217;ve started using classes. You love them. You start dabbling in a more complex project, but wrapping your head around the communication between class and main variables and references to positions on the stage and within class objects has you beating your head against your keyboard. AS2 has native global variables but AS3 discontinued them. <a href="http://www.uza.lt/" target="_blank">Uza.lt</a> to the rescue! This class uses something called a singleton. All you need to know is you can create variables and functions which will be accessible anywhere. I recently used it in <a href="http://www.mint.ca/store/mint/learn/history-timeline-4000020" target="_blank">this project</a> for the <a href="http://www.mint.ca" target="_blank">Royal Canadian Mint</a>. Those dates at the top are members of a small class. Getting each instance of that class to react to the scroll bar would be cumbersome without the use of a global class. Speaking of scroll bars&#8230;</p>
<h4>3. <a href="http://www.archonic.com/2009/08/the-archonic-flash-scroll-bar/">Archonic&#8217;s scrollbar</a></h4>
<p>My own creation! Ever tried using Adobe&#8217;s component scrollbar? It&#8217;s not very fun. This (as you may have guessed) is a dynamically added scrollbar which will mask the movieclip you are scrolling and work out all your scroll ratios and distances automatically. The best part is you can customize each and every bit to look and feel any way you like. And don&#8217;t worry, the collection of event listeners on each part and mouse wheel handling makes it behave just like a scrollbar should. Kudos to Kyle Brekke who provided the starting point.</p>
<h4>4. <a href="http://code.google.com/p/bulk-loader/" target="_blank">MIT&#8217;s Bulk Loader</a></h4>
<p>MIT is a wonderful provider of all things brainy and useful. This class set is a large and powerful extension of Flash&#8217;s ability to make requests for external information. I&#8217;d recommend this particularly for larger projects which are subject to having external assets maintained by a client or anyone other than you. All it takes is a capital letter or under score in the wrong place and Flash can have a crippling hissy fit of a crash. With the bulk loader however, that crash is much more graceful, and may allow the project to continue functioning (just without whatever failed to load). The ease of syntax is also a strong point.</p>
<p>There you have it! Those are just a small collection of general tools to whet your appetite. Here&#8217;s some more resources which, if you&#8217;re your keen, can keep you busy indefinitely. And I do mean indefinitely.</p>
<ul>
<li><a href="http://www.gotoandlearn.com/" target="_blank">GoToAndLearn</a>
<p>Possibly the greatest resource for both bleeding edge and beginner Flash, Flex, Photoshop and any combination of Adobe publishing tools.</p>
</li>
<li><a href="http://www.adobe.tv" target="_blank">Adobe.tv</a>
<p>This isn&#8217;t as widely known as it should be. Adobe&#8217;s own library of video tutorials on everything Adobe.</p>
</li>
<li><a href="http://www.senocular.com/flash/actionscript.php" target="_blank">Senocular&#8217;s ActionScript Library</a>
<p>If you&#8217;ve ever posted your Flash woes on various forums out there then you know senocular (who has his own Flash blog <a href="http://www.senocular.com/" target="_blank">here</a>).</p>
</li>
<li><a href="http://kirupa.com/forum/" target="_blank">Kirupa Forums</a>
<p>A very enthusiastic community with lots of extra curricular chat.</p>
</li>
<li><a href="http://www.actionscript.org/forums/" target="_blank">ActionScript.org Forums</a>
<p>Quite busy &#8211; your question might go unanswered. Make sure to do some extensive searching though, your answer is probably there.</p>
</li>
<li><a href="http://www.gotoandlearnforum.com/" target="_blank">GoToAndLearn Forums</a></li>
<p>The most professional of the bunch. No matter the complexity of your problem, the experts here have tackled it.</p>
</ul>
<p>If you&#8217;re to take just one point from this post, make it this: Be active! Be a member of the community and you&#8217;ll find yourself swimming in no time.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;title=Five+Life-saving+tips+for+beginner+Flash+developers" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;t=Five+Life-saving+tips+for+beginner+Flash+developers" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;title=Five+Life-saving+tips+for+beginner+Flash+developers" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;title=Five+Life-saving+tips+for+beginner+Flash+developers" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/&amp;title=Five+Life-saving+tips+for+beginner+Flash+developers" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Five+Life-saving+tips+for+beginner+Flash+developers+-+http://bit.ly/dnckyl&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2009/07/21/five-tips-beginner-flash-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archonic Flash scroll bar</title>
		<link>http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=archonic-flash-scroll-bar</link>
		<comments>http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 17:05:20 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://archonic.com/?p=11</guid>
		<description><![CDATA[The Flash community is a generous one. So here&#8217;s my first small gift back to a community that has already given me quite a bit. Scroll bars in Flash are largely taken for granted. Until you try to craft your own from scratch, you don&#8217;t realize the math and combination of mouse listeners that go [...]]]></description>
			<content:encoded><![CDATA[<p>The Flash community is a generous one. So here&#8217;s my first small gift back to a community that has already given me quite a bit.</p>
<p>Scroll bars in Flash are largely taken for granted. Until you try to craft your own from scratch, you don&#8217;t realize the math and combination of mouse listeners that go into a seemingly simple but proper scroll bar.  In frustration, some settle for an even more frustrating user experience with just arrows that scroll content a painfully small amount with each click. There is of course the Flash components scroll bar, but try to edit it&#8217;s look and feel and you&#8217;re presented with a limited and confusing interface. Although editing components in CS4 is notably easier than previous versions, I found a scroll bar class by fellow Flash blogger Kyle Brekke which did just what I needed it to. What I&#8217;ve added to Kyle&#8217;s framework is this:</p>
<ul>
<li>A stage presence in form of a blue box. Resize this box (presence_mc) and the scroll bar will adopt the appropriate dimensions.</li>
<li>The container movie clip the scroll bar is dynamically added to allows you to use layers to cover and tween it&#8217;s properties. This is more adaptive than adding it to the stage.</li>
<li>Added scroll track click and hold functionality (more like conventional scroll bars).</li>
<li>No support for horizontal scrollbars. No one likes using them and it slims down the code.</li>
</ul>
<p><strong>A word of caution</strong>: If you&#8217;re using GreenSock&#8217;s TweenLite, make sure this scrollbar and your project use the same version.</p>
<p>Here&#8217;s the example:<br />
<script type="text/javascript">
swfobject.embedSWF("http://www.archonic.com/flash_assets/_projects/scrollbar/ArchonicScrollbar_example.swf", "scrollbarExample", "500", "300", "10.0.0", "http://www.archonic.com/flash_assets/expressInstall.swf");
</script></p>
<div style="width:500px;margin-left:auto;margin-right:auto;border: 1px solid #000">
<div id="scrollbarExample">
<h1>You require Flash to view the Archonic Scroll bar example.</h1>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</p></div>
</div>
<p>And here&#8217;s the source:</p>
<pre class="brush: as3;">
/**
 * Archonic Customizable Scrollbar Component
 *
 * Derived from Kyle Brekke's Scrollbar
 * 	Derived from Li Jiansheng's Scollbar
 *
 * @author Joshua Mark
 * @date 31/07/2009
 * @version 1.0.0
 * @website http://www.Archonic.com
 */

package com.archonic.utils {

	import com.greensock.TweenLite;
	import flash.display.*;
	import flash.events.*;
	import flash.geom.Rectangle;
	import flash.geom.Point;

	public class scrollbar extends MovieClip {

		// Private Get/Set Type Constants
		private const XY:String = &amp;quot;xy&amp;quot;;
		private const WH:String = &amp;quot;widthHeight&amp;quot;;
		private const TB:String = &amp;quot;topBottom&amp;quot;;

		// Speed of Content Scroll
		private const arrowMove:Number = 10;
		private const scrollSpeed:Number = 10;
		private const transSpeed:Number = 0.1;//seconds to tween

		// Assets used in Drawing the Class
		private var _arrowProgress:arrowProgress = new arrowProgress();
		private var _arrowRegress:arrowRegress = new arrowRegress();
		private var _scrollTrack:scrollTrack = new scrollTrack();
		private var _scrollButton:scrollButton = new scrollButton();

		// Standard Vars Set in Constructor
		private var _target:MovieClip;
		private var _stage:Stage;
		private var _container:MovieClip;

		// Numbers used in Calculating Slide Ratio
		private var trackTop:Number;
		private var dragBot:Number;
		private var trackRange:Number;
		private var slideRect:Rectangle;

		// Allow user to click and hold arrows and continue to scroll
		private var isUp:Boolean = false;
		private var isDown:Boolean = false;
		private var trackDown:Boolean = false;

		// Constructor
		public function scrollbar(s:Stage, c:MovieClip, target:MovieClip, maskWidth:Number, maskHeight:Number):void {
			_stage = s;
			_container = c;
			_target = target;			// Set the _target
			_target.startPoint = new Point(_target.x, _target.y);// Set the _target's original point

			// Set positions of the assets (into scrollbar form)
			initAssets();
			// Sets all listeners in one place
			initListeners();
			// Find the sliding range with which to create the ratio
			initTrack();
			// Draws and sets the mask
			initMask(maskWidth, maskHeight);
		}
		private function initAssets():void {
			var targetWidth = _container.presence_mc.width;
			var targetHeight = _container.presence_mc.height - (2*targetWidth);

			_scrollTrack.width = targetWidth;
			_scrollTrack.height = targetHeight;

			_scrollButton.width = targetWidth;
			_scrollButton.y += _scrollButton.height/2;//stops jumping when scrolling up with _scrollTrack

			_arrowRegress.height = targetWidth;
			_arrowRegress.width = targetWidth;
			_arrowRegress.y = _arrowRegress.height * -1;

			_arrowProgress.height = targetWidth;
			_arrowProgress.width = targetWidth;
			_arrowProgress.y += _scrollTrack.height;

			// Set arrows as buttons
			_arrowRegress.buttonMode = true;
			_arrowProgress.buttonMode = true;
			_scrollButton.buttonMode = true;

			// Add assets to this class
			addChild(_scrollTrack);
			addChild(_scrollButton);
			addChild(_arrowProgress);
			addChild(_arrowRegress);
			y = _container.presence_mc.y + _arrowRegress.height;

			// Add this class to the timeline container
			_container.addChild(this);
		}
		private function initListeners():void {
			// Event listeners for dragging and scroll wheel
			_scrollButton.addEventListener(MouseEvent.MOUSE_DOWN, dragScroll);
			_scrollButton.addEventListener(MouseEvent.MOUSE_OVER, stopTrackScroll);
			_stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll);
			_stage.addEventListener(MouseEvent.MOUSE_WHEEL,mouseWheelHandler);

			// Event listeners for arrows
			_arrowRegress.addEventListener(Event.ENTER_FRAME, _arrowRegressHandler);
			_arrowRegress.addEventListener(MouseEvent.MOUSE_DOWN, upScroll);
			_arrowRegress.addEventListener(MouseEvent.MOUSE_UP, stopScroll);
			_arrowProgress.addEventListener(Event.ENTER_FRAME, _arrowProgressHandler);
			_arrowProgress.addEventListener(MouseEvent.MOUSE_DOWN, downScroll);
			_arrowProgress.addEventListener(MouseEvent.MOUSE_UP, stopScroll);

			// Event listeners for track
			_scrollTrack.addEventListener(Event.ENTER_FRAME, _trackHandler);
			_scrollTrack.addEventListener(MouseEvent.MOUSE_DOWN, trackScroll);
			_scrollTrack.addEventListener(MouseEvent.MOUSE_UP, stopScroll);
		}
		private function initTrack():void {
			trackTop = _get(XY, _scrollTrack) + (_scrollButton.height/2);
			trackRange = _get(WH, _scrollTrack) - _get(WH, _scrollButton);
			dragBot = trackTop + trackRange;

			slideRect = new Rectangle(0, trackTop, 0, trackRange);
		}
		private function initMask(w:Number, h:Number):void {
			if (_target.mask == null) {
				var square:Sprite = new Sprite();
				square.graphics.beginFill(0xFF0000);
				square.graphics.drawRect(_target.x, _target.y, w, h);
				_stage.addChild(square);
				_target.mask = square;
			}
		}

		// Next 4 functions deal with hitting the up/down arrows on the scrollbar
		private function upScroll(e:MouseEvent):void {
			isUp = true;
		}
		private function downScroll(e:MouseEvent):void {
			isDown = true;
		}
		private function _arrowRegressHandler(e:Event):void {
			if (isUp) {
				if ( _get(XY, _scrollButton) &amp;amp;gt; trackTop ) {
					_set(XY, _scrollButton, _get(XY, _scrollButton) - arrowMove);
					if ( _get(XY, _scrollButton) &amp;amp;lt; trackTop ) {
						_set(XY, _scrollButton, trackTop);
					}
					startScroll();
				}
			}
		}
		private function _arrowProgressHandler(e:Event):void {
			if (isDown) {
				if ( _get(XY, _scrollButton) &amp;amp;lt; dragBot ) {
					_set(XY, _scrollButton, _get(XY, _scrollButton) + arrowMove);
					if ( _get(XY, _scrollButton) &amp;amp;gt; dragBot ) {
						_set(XY, _scrollButton, dragBot);
					}
					startScroll();
				}
			}
		}
		private function _trackHandler(e:Event):void {
			if((isUp || isDown) &amp;amp;amp;&amp;amp;amp; trackDown) {
				if(mouseY &amp;amp;lt; _scrollButton.y) {
					_arrowRegressHandler(null);
				} else if (mouseY &amp;amp;gt; _scrollButton.y) {
					_arrowProgressHandler(null);
				}
			}
		}
		private function trackScroll(e:MouseEvent):void
		{
			isUp = true;
			isDown = true;
			trackDown = true;
		}
		private function stopTrackScroll(e:MouseEvent):void
		{
			trackDown = false;
		}

		// Next 3 functions deal with dragging and mouse wheel
		public function dragScroll(e:MouseEvent):void {
			_scrollButton.startDrag(false, slideRect);
			stage.addEventListener(MouseEvent.MOUSE_MOVE, moveScroll);
		}
		public function mouseWheelHandler(e:MouseEvent):void {
			if (e.delta &amp;amp;lt; 0) { //Scrolling Down
				if ( _get(XY, _scrollButton) &amp;amp;lt; dragBot ) {
					_set(XY, _scrollButton, _get(XY, _scrollButton) - (e.delta * scrollSpeed));
					if ( _get(XY, _scrollButton) &amp;amp;gt; dragBot ) {
						_set(XY, _scrollButton, dragBot);
					}
					startScroll();
				}
			} else { // Scrolling Up
				if ( _get(XY, _scrollButton) &amp;amp;gt; trackTop ) {
					_set(XY, _scrollButton, _get(XY, _scrollButton) - (e.delta * scrollSpeed));
					if ( _get(XY, _scrollButton) &amp;amp;lt; trackTop ) {
						_set(XY, _scrollButton, trackTop);
					}
					startScroll();
				}
			}
		}

		// Replicates the startScroll function except it works during the drag
		// because it runs off the MOUSE_MOVE event
		public function moveScroll(e:MouseEvent):void {
			startScroll();
		}
		private function stopScroll(e:MouseEvent):void {
			isDown = false;
			isUp = false;
			_scrollButton.stopDrag();

			stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveScroll);
		}
		// Major controlling function
		private function startScroll():void {
			var ratio:Number = ( _get(WH, _target) - trackRange ) / trackRange;
			var sPos:Number =  ( (_get(XY, _scrollButton) - trackTop) * ratio ) - _get(XY, _target.startPoint);

			TweenLite.to( _target, transSpeed, {y:-sPos} );
		}

		// Functions used to minimize code switch for verticle/horizontal bars
		private function _set(type:String, targ:*, val:Number):void {
			if (type == XY) {
				targ.y = val;
			} else if (type == WH) {
				targ.height = val;
			} else if (type == TB) {
				targ.bottom = val;
			}
		}
		private function _get(type:String, targ:*):Number {
			if (type == XY) {
				return targ.y;
			} else if (type == WH) {
				return targ.height;
			} else if (type == TB) {
				return targ.bottom;
			}
			return 0;
		}
	}
}
</pre>
<p><a href="http://www.archonic.com/flash_assets/_projects/scrollbar/ArchonicScrollbar.zip"><img src="http://www.archonic.com/sys_img/download.gif" border="0px" /> Download the Archonic scrollbar</a></p>
<p>The license is <a href="http://creativecommons.org/licenses/MIT/" target="_blank">MIT open source</a> &#8211; use it, distribute it, edit it. Enjoy!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-caring-old">
<ul class="socials">
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;title=Archonic+Flash+scroll+bar" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;t=Archonic+Flash+scroll+bar" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;title=Archonic+Flash+scroll+bar" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;title=Archonic+Flash+scroll+bar" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/&amp;title=Archonic+Flash+scroll+bar" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Archonic+Flash+scroll+bar+-+http://bit.ly/apA4ey&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://archonic.com/blog/2009/07/05/archonic-flash-scroll-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
