<?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>Pixel Acres &#187; Flash</title>
	<atom:link href="http://f6design.com/journal/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://f6design.com/journal</link>
	<description>Adventures in web and graphic design</description>
	<lastBuildDate>Wed, 28 Dec 2011 22:41:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Adios Flash</title>
		<link>http://f6design.com/journal/2011/03/09/adios-flash/</link>
		<comments>http://f6design.com/journal/2011/03/09/adios-flash/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 02:32:27 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=1206</guid>
		<description><![CDATA[When I first cut my teeth as a web designer in the late 1990s, the web industry was mired in the first round of the “browser wars”, with Netscape Navigator pitted against Internet Explorer for market dominance. Netscape and Microsoft tried to outdo each other by enhancing their web browser with proprietary features and HTML [...]]]></description>
			<content:encoded><![CDATA[<p>When I first cut my teeth as a web designer in the late 1990s, the web industry was mired in the first round of the <a href="http://en.wikipedia.org/wiki/Browser_wars">“browser wars”</a>, with Netscape Navigator pitted against Internet Explorer for market dominance. Netscape and Microsoft tried to outdo each other by enhancing their web browser with proprietary features and HTML elements that were unavailable in their competitor’s product. For developers wanting to build complex DHTML websites that worked in both Netscape Navigator and Internet Explorer the only option was to fork their code, maintaining an entirely separate code base for each browser, and essentially doubling their workload.</p>
<p>It was in this context that Adobe Flash (formerly Macromedia Flash, and before that FutureSplash) first came to prominence. The Flash plugin worked identically in all web browsers, offering a way free from the browser wars and liberating developers from the tit-for-tat power struggle between Netscape and Microsoft. Build once, view anywhere. Bliss! Not only that, Flash (along with its sibling Shockwave) brought rich interactive animations to the web, a temptation that was too great for web designers to ignore.</p>
<p>Like many other web designers I took to Flash like a duck to water, and by 2001 was employed as a full-time Flash developer. It was an exciting time to be part of the Flash community. Improvements were being made to the Flash platform at a pace that put native browser technologies to shame, and in the wake of the browser wars much of the web’s most innovative work was created with Flash. If someone referred to a site as “slick” or “cutting-edge”, you could bet they were talking about a Flash site. Sure, the Flash authoring tool and browser plugin were proprietary technologies, but that seemed a small price to pay to be at the bleeding edge of web design.</p>
<h3>The fall from grace</h3>
<p>Of course nothing lasts forever, and by the time I struck out on my own as a freelancer in 2004 Flash was starting to lose its shine. The web standards movement was gaining momentum in a big way, and JavaScript powered web apps were grabbing the limelight from Flash applications. Fast forward to the present day and Flash’s utility has been further eroded by the arrival of HTML5, CSS3, and other <a href="http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/">New Exciting Web Technologies</a>.</p>
<p>It is not only web developers who have fallen out of love with Flash, lured away by newer, shinier technologies. Over time the general public have come to view Flash as a bandwidth hogging “skip intro” technology, and a platform for invasive banner advertisements. I too have become increasingly disillusioned with the way that Flash is used as tool for creating slick “here today, gone tomorrow” marketing micro-sites, most of which are overblown advertisements and lack any real substance. I became a web designer because I want to build websites and applications that enrich people’s lives, not shallow marketing gimmicks.</p>
<p>My frustration with Flash isn’t only philosophical, it stems from practical considerations too. Functionality that most web developers would consider intrinsic to the user experience is missing from Flash, or difficult to implement without jumping through hoops. When I develop Flash applications a large percentage of my time is spent trying to achieve functionality which I would take for granted if I were developing an HTML/CSS website:</p>
<ul>
<li>The absence of page refreshes means that bookmarking and deep linking are achievable in Flash only with the help of convoluted workarounds.</li>
<li>Searchability is compromised by the fact that Flash content is not exposed to search engine spiders.</li>
<li>The browser scrollbar doesn&#8217;t respond to changes in Flash content the way that it would to changes in HTML content. Often Flash developers resort to creating their own scrolling functionality from scratch, which is why Flash sites often feature tiny textfields controlled by custom built scrollbars.</li>
<li>CSS support is only partially implemented, and styles can only be applied to text fields.</li>
<li>Interface conventions on which users rely are missing in Flash, for example the Ctrl+C key command won’t copy selected text from a Flash movie and instead the user has to evoke Flash’s contextual menu using a mouse right-click. And if you’ve ever tried to save an image from a Flash website to your hard drive then you will have experienced a similar moment of frustration.</li>
<li>Perhaps worst of all, Flash is excluded from the wealth of plug-n-play APIs that allow websites to interact with third party web applications (Google Maps, Facebook, YouTube and so forth). In some cases workarounds may exist that allow third party functionality to be integrated into Flash applications, but once again Flash developers are required to jump through technical hoops to achieve functionality that is available to everyone else with virtually no effort.</li>
</ul>
<h3>Apple v Flash</h3>
<p>I can’t talk about Flash’s decline in popularity without mentioning Apple’s role in its vilification. It wasn’t until Apple chose to omit the Flash Player from its iOS devices that anti-Flash sentiment truly crossed over into the mainstream. Steve Jobs’ threw fuel on the flames in April 2010 when he <a href="http://www.apple.com/hotnews/thoughts-on-flash/">criticised Flash</a> for being an insecure, buggy, closed platform.</p>
<p>I personally think Apple’s decision to exclude Flash from iOS devices was motivated as much by economic incentives as it was by performance and security considerations &#8211; the ecosystem of free online Flash games poses a direct challenge to Apple’s app store &#8211; but that is beside the point. By banning the Flash Player from their devices Apple have pushed the Flash debate into the public consciousness, and made Flash an untenable proposition for many website owners.</p>
<p>The impact on my own business has been tangible: during the past year almost every project brief I have received has stipulated iOS compatibility as a mandatory requirement. Most of my clients own an iPhone or iPad, and understandably find it unacceptable if their website doesn’t function in mobile Safari.</p>
<h3>So long and thanks for all the Flash</h3>
<p>All these factors make the case for developing a site in Flash extremely difficult to justify. Sure, Flash still has a place &#8211; creating web based games, for example &#8211; but for the vast majority of websites native browser technologies simply make more sense.</p>
<p>So at the start of the year I decided it was time to stop offering Flash development services to my clients. My decision to ditch Flash should come as little surprise given the negative publicity that has surrounded the Flash platform the past few years, and frankly I should have pulled the plug sooner. Nevertheless, Flash has been a part of my toolbox for over a decade, and until a few years ago as many as half the sites I developed were built in Flash. So for me it is kind of a big deal.</p>
<p>The sentimentalist in me is sad to bid farewell to Flash, but for the most part I am relieved. For far too long I have been sitting on the fence, advocating open web standards on the one hand, while continuing to build Flash sites for many of my clients. With Flash out of the picture I can devote myself to what I’m really passionate about: building websites using open standards and native browser technologies.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2011/03/09/adios-flash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash video bufferTime gotcha</title>
		<link>http://f6design.com/journal/2009/05/29/flash-video-buffertime-gotcha/</link>
		<comments>http://f6design.com/journal/2009/05/29/flash-video-buffertime-gotcha/#comments</comments>
		<pubDate>Sat, 30 May 2009 02:27:07 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=339</guid>
		<description><![CDATA[I have recently been working on a website that contains a lot of video content, including some fairly short videos &#8211; less than 20 seconds in length. To ensure uninterrupted playback of these short clips I thought it would be smart to buffer the entire video stream before beginning playback. In AS3 this can be [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been working on a website that contains a lot of video content, including some fairly short videos &#8211; less than 20 seconds in length. To ensure uninterrupted playback of these short clips I thought it would be smart to buffer the entire video stream before beginning playback.</p>
<p>In AS3 this can be achieved using the <code>bufferTime</code> property, which I set to 20 seconds:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> nc<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">NetConnection</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">NetConnection</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
nc.<span style="color: #004993;">connect</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> ns<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">NetStream</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">NetStream</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span>.introVideoConnection<span style="color: #000000;">&#41;</span>;
ns.<span style="color: #004993;">bufferTime</span> = <span style="color: #000000; font-weight:bold;">20</span>;
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> video<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Video</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Video</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">320</span>, <span style="color: #000000; font-weight:bold;">240</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0033ff; font-weight: bold;">this</span>.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>video<span style="color: #000000;">&#41;</span>;
video.<span style="color: #004993;">attachNetStream</span><span style="color: #000000;">&#40;</span>ns<span style="color: #000000;">&#41;</span>;
&nbsp;
ns.<span style="color: #004993;">play</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;myvideo.flv&quot;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p>But when I tested the results on a remote server I discovered that Flash was waiting the entire 20 second duration before starting the video stream, despite the fact that the flv had fully downloaded in just a few seconds.</p>
<p>After scratching my head for a few moments I realised that the problem had to be the high <code>bufferTime</code>. Normally playback would start as soon as the entire video was loaded to memory, regardless of the <code>bufferTime</code> value, but that doesn&#8217;t appear to be the case when the <code>bufferTime</code> exceeds the video duration.</p>
<p>Setting the <code>bufferTime</code> to less than the video duration worked as expected: Video playback began as soon as the buffer was full.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/05/29/flash-video-buffertime-gotcha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Erase an image using your mouse in AS3</title>
		<link>http://f6design.com/journal/2009/05/24/erase-an-image-using-your-mouse-in-as3/</link>
		<comments>http://f6design.com/journal/2009/05/24/erase-an-image-using-your-mouse-in-as3/#comments</comments>
		<pubDate>Sun, 24 May 2009 12:50:11 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=322</guid>
		<description><![CDATA[I recently had to create a simple Flash application that allowed the user to &#8216;erase&#8217; an image using their mouse. I couldn&#8217;t find any examples of the exact effect I wanted, so I cobbled together my own. The effect I came up with is similar to using the eraser tool in Photoshop. Demo Click and [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had to create a simple Flash application that allowed the user to &#8216;erase&#8217; an image using their mouse. I couldn&#8217;t find any examples of the exact effect I wanted, so I cobbled together my own. The effect I came up with is similar to using the eraser tool in Photoshop.</p>
<h3>Demo</h3>
<p>Click and drag your mouse on the image below to erase it. Press the reset button to start over.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_erasable_image_266765641"
			class="flashmovie"
			width="400"
			height="400">
	<param name="movie" value="/projects/erasable_image/erasable_image.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/projects/erasable_image/erasable_image.swf"
			name="fm_erasable_image_266765641"
			width="400"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://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>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>&nbsp;</p>
<h3>Download</h3>
<p><a href="http://www.f6design.com/projects/erasable_image/erasable_image.zip">Download FLA</a> (includes code comments explaining how everything works)</p>
<h3>Credits</h3>
<p>My effect is based on the masking techniques shared by surferboy in an <a href="http://www.ultrashock.com/forums/actionscript/eraser-tool-in-as3-123871.html">Ultrashock forum discussion</a> and a <a href="http://www.flashandmath.com/basic/mousedraw2/index.html">Flash &#038; Math tutorial</a> explaining how to use Flash&#8217;s drawing API to draw using the mouse.</p>
<p>The gorgeous photographs used in this demo are by <a href="http://www.flickr.com/photos/anthonythomas/">wabberjocky</a> and <a href="http://www.flickr.com/photos/exlibris/">ex.libris</a> and are available under a Creative Commons license.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/05/24/erase-an-image-using-your-mouse-in-as3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FlashScaler now works with SWFObject 2</title>
		<link>http://f6design.com/journal/2008/08/08/flashscaler-now-works-with-swfobject-2/</link>
		<comments>http://f6design.com/journal/2008/08/08/flashscaler-now-works-with-swfobject-2/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 23:23:24 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Toolbox]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2008/08/08/flashscaler-now-works-with-swfobject-2/</guid>
		<description><![CDATA[One of my readers, Ren&#233;, asked me if my FlashScaler JavaScript class works with SWFObject 2. I&#8217;m happy to say that yes, it does. The demo and download on my original FlashScaler post now include working examples using SWFObject 2.1.]]></description>
			<content:encoded><![CDATA[<p>One of my readers, Ren&eacute;, asked me if my <a href="http://f6design.com/journal/2006/12/16/scalable-flash-with-scrollbars/#comment-68184">FlashScaler</a> JavaScript class works with SWFObject 2. I&#8217;m happy to say that yes, it does. The demo and download on my original FlashScaler post now include working examples using SWFObject 2.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2008/08/08/flashscaler-now-works-with-swfobject-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Version targeting lessons from Flash</title>
		<link>http://f6design.com/journal/2008/02/08/version-targeting-lessons-from-flash/</link>
		<comments>http://f6design.com/journal/2008/02/08/version-targeting-lessons-from-flash/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 22:55:34 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[News & Reviews]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[backwards compatibility]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[version targeting]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2008/02/08/version-targeting-lessons-from-flash/</guid>
		<description><![CDATA[In my last post I outlined some of the problems that might arise from the proposed version targeting changes to Internet Explorer 8. My major concern was that by removing the motivation for web authors to update legacy sites, version targeting might hamper the adoption of modern web development techniques. During the week I have [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://f6design.com/journal/2008/02/01/breaking-the-web/">last post</a> I outlined some of the problems that might arise from the proposed version targeting changes to Internet Explorer 8. My major concern was that by removing the motivation for web authors to update legacy sites, version targeting might hamper the adoption of modern web development techniques. During the week I have given some more thought to this issue, and it occurred to me that in Adobe Flash we have a fantastic real-world test case from which we might learn if version targeting is a viable strategy for a web browser.</p>
<h3>Version targeting in Flash</h3>
<p>Version targeting in Flash works in much the same way as it will in Internet Explorer: each Flash movie contains embedded information telling the Flash Player which version of Flash it was created for, and the Flash Player itself contains multiple rendering engines to handle legacy content.</p>
<p>This approach to backwards compatibility has been a feature of the Flash Player since its earliest incarnations. The latest version, Flash Player 9, supports content produced for FLV (Flash video), SWF9, SWF8, SWF7, SWF6, SWF5, SWF4, SWF3, SWF2, and FutureSplash. That means that Flash content created in 1995 still renders perfectly in 2008. Flash developers can have a great deal of confidence that an application they create today will continue to work in the future without any need to revisit it*.</p>
<p>Why have Adobe worked so hard to ensure the Flash Player is compatible with legacy content? I think the answer lies in the commercial nature of Flash. Because Adobe relies for its livelihood on the continued patronage of website developers, they need to keep that customer base happy. Flash would never have gained traction if developers were forced to rework their legacy websites every time a new Flash Player version is released &#8211; I can&#8217;t imagine anyone paying $700 for software that generates code that breaks every eighteen months!</p>
<h3>Does backwards compatibility hamper progress?</h3>
<p>Let us consider my concerns about version targeting, and see if they have been borne out in Flash: Has backwards compatibility hampered progress in the Flash industry? Has it slowed adoption of the Flash Player? Has it stalled advances in Flash technology? I think the answer to these questions is &#8220;no&#8221;.</p>
<p>One metric we can use to gauge the rate at which advances in Flash are taking place is to look at <a href="http://www.adobe.com/devnet/logged_in/ehuang_flashplayer9.html">Flash Player adoption rates</a>. A fast adoption rate by end users is a sign that users are encountering Flash content targeting the latest Flash version, and are upgrading their player in response. Even before the introduction of an automatic update feature, adoption rates for the Flash Player were very high. From the time a new Player was released, it would achieve 55%-65% market penetration within 6 months. This is a good indication that Flash developers are quick to take advantage of new features in Flash.</p>
<p>Another measure of technical progress is the rate at which new features are added to the Flash Player (as opposed to the Flash authoring tool, where some changes will be merely cosmetic). During the past four releases there have been three complete overhauls of the Flash programming language, the introduction of powerful video functionality, bitmap effects (motion blur, dropshadows, etc) and filters, to name just a few new features. Because version targeting ensures there is no pressing need for Flash developers to upgrade, Adobe needs to continually improve Flash&#8217;s feature set to give its customers a compelling reason to purchase an upgrade license. Rather than stymieing progress, version targeting actually encourages technical advances in Flash.</p>
<h3>A personal perspective</h3>
<p>I worked as a full-time Flash developer for four years, and Flash development still accounts for about half the work I do. Until this week I hadn&#8217;t given much thought to the impact of version targeting in Flash, but on reflection I see that it has compelling benefits for end-users, seasoned developers, and Flash novices alike.</p>
<p>Flash has a very healthy development community keen to push the boundaries of their medium, and even though version targeting enables many developers to work at a lower level, I don&#8217;t see any evidence that this skill gap impedes advances in the field. I myself still publish content targeting Flash Player 8, and am familiarizing myself with the new ActionScript 3 programming language in the meantime. I certainly don&#8217;t feel that I am holding anyone back by learning at my own pace!</p>
<p>I also consider that version targeting goes a long way towards easing the Flash developer&#8217;s workload. If I build a site targeting Flash Player 8, I know without testing that it works in Flash Player 9 too, and vice versa. I know too that I will never need to &#8220;fix&#8221; that site to comply with a future Flash Player release. This forward compatibility is something that I take for granted when I develop a Flash site, and the idea of &#8216;fixing&#8217; my legacy projects every couple of years seems totally absurd. Yet for some reason this &#8220;break and fix&#8221; cycle is considered perfectly normal for HTML websites.</p>
<h3>What&#8217;s good for the goose</h3>
<p>Of course, comparing Flash Player with a web browser is not like comparing apples with apples: Flash and Internet Explorer have very different business models; Flash has no serious competition whereas Internet Explorer is part of a busy browser ecosystem; Adobe is free to introduce new features to Flash as it sees fit whereas Microsoft is beholden to various working groups; the upgrade cycle of Flash is driven by web developers rather than software vendors. What works for Flash may not necessarily work for Internet Explorer.</p>
<p>Yet I believe there are enough similarities to draw a comparison. Flash shows us that under the right conditions version targeting can actually be beneficial for everyone involved in the development, delivery, and consumption of content for the web.</p>
<h3>Footnotes</h3>
<p>* There is only once exception I can think of: new &#8216;sandbox security&#8217; restrictions introduced in Flash Player 7 caused some older Flash applications to break.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2008/02/08/version-targeting-lessons-from-flash/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Papervision 3D</title>
		<link>http://f6design.com/journal/2007/07/30/papervision-3d/</link>
		<comments>http://f6design.com/journal/2007/07/30/papervision-3d/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 22:41:03 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Toolbox]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/07/30/papervision-3d/</guid>
		<description><![CDATA[If you work with Flash at all, by now you will have heard of Papervision 3D, the open source project that has turned the Flash world on its head by introducing a 3rd dimension. I had a quick play with Papervision 3D a few months ago and found it surprising easy to pick up. It [...]]]></description>
			<content:encoded><![CDATA[<p><img class="contentImg matte" src='http://f6design.com/journal/wp-content/uploads/2007/07/papervision_logo.jpg' alt='Papervision 3D logo' /></p>
<p>If you work with Flash at all, by now you will have heard of <a href="http://www.papervision3d.org/">Papervision 3D</a>, the open source project that has turned the Flash world on its head by introducing a 3rd dimension. I had a quick play with Papervision 3D a few months ago and found it surprising easy to pick up. It is now in <a href="http://blog.papervision3d.org/2007/07/07/papervision3d-public-beta/">public beta</a> so I decided to dust off my old project and rewrite it in Actionscript 3.</p>
<h3>3D image gallery demo</h3>
<p><img class="contentImg matte" src='http://f6design.com/journal/wp-content/uploads/2007/07/3dgallery.jpg' alt='Papervision 3D Gallery' /></p>
<p>Inspired by Antti Kupila&#8217;s stunning <a href="http://www.anttikupila.com/development/flame-3d-music-in-actionscript-3/">3D interface for last.fm</a>, I created a simple gallery of album covers using Papervision 3D. For the reflections of the album covers I have used Pixelfumes&#8217; <a href="http://pixelfumes.blogspot.com/2006/06/actionscript-3-reflection-class-source.html">Reflection class</a>.</p>
<h4>View demo</h4>
<p><a href="http://f6design.com/projects/3dgallery/" target="_blank">View my 3D image gallery</a></p>
<h4>Download source</h4>
<p>If you&#8217;re curious to see how I put this demo together, take a look at my <a href="http://f6design.com/projects/3dgallery/3dgallery.zip">Flash source files</a>.</p>
<h3>Using Papervision 3D</h3>
<p>The biggest challenge for me was porting my code to Actionscript 3, as it was the first time I had written AS3 code. But as far as Papervision 3D itself, it really is a piece of cake to get your head around. The documentation that comes with Papervision 3D is a bit hard to follow, but if you download the zipped version of Papervision 3D from <a href="http://code.google.com/p/papervision3d/">Google Code</a> it contains a bunch of great examples which help to introduce the basic concepts.</p>
<p>The cool thing about Papervision is how it can be adapted to all kinds of 3D applications. My main interest is in the possibilities for creating 3D application interfaces, but people have also created <a href="http://www.rockonflash.com/blog/?p=37">3D games</a>, <a href="http://www.papervision3d.org/">models</a> and <a href="http://www.rhythmoflines.co.uk/">animations</a>. Expect to see a lot more 3D Flash in the next couple of years!</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/07/30/papervision-3d/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Safari 3 fixes Flash flicker bug</title>
		<link>http://f6design.com/journal/2007/07/11/safari-3-fixes-flash-flicker-bug/</link>
		<comments>http://f6design.com/journal/2007/07/11/safari-3-fixes-flash-flicker-bug/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 09:41:57 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[News & Reviews]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/07/11/safari-3-fixes-flash-flicker-bug/</guid>
		<description><![CDATA[After a quick play with Safari 3 beta on a Mac, I am happy to report that the infamous Safari Flash &#8220;flicker&#8221; bug has been fixed. If you are a Safari user then I&#8217;m sure you have encountered this bug before &#8211; it occurs when HTML content containing hover effects appears over Flash, such as [...]]]></description>
			<content:encoded><![CDATA[<p>After a quick play with <a href="http://www.apple.com/safari/download/">Safari 3 beta</a> on a Mac, I am happy to report that the infamous Safari <a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&#038;productId=1&#038;postId=1801">Flash &#8220;flicker&#8221; bug</a> has been fixed. If you are a Safari user then I&#8217;m sure you have encountered this bug before &#8211; it occurs when HTML content containing hover effects appears over Flash, such as when a dropdown menu overlaps a Flash movie embedded further down the page.</p>
<p>If you want to see the flicker bug in action, visit the homepage of the <a href="http://www.adobe.com/">Adobe website</a> using Safari 2, and open one of the dropdowns from the main menu. You will notice a brief flicker as you move your mouse over the links overlapping the Flash movie.</p>
<p><a class="imagelink" href='http://www.adobe.com/' title='Adobe dropdown menu'><img class="contentImg matte" src='http://f6design.com/journal/wp-content/uploads/2007/07/adobe_dropdown.jpg' alt='Adobe dropdown menu' /></a></p>
<p>Another long standing quirk that I notice has been fixed in Safari 3 is the <a href="http://www.tjkdesign.com/articles/keyboard_friendly_dropdown_menu/test_case.asp">&#8220;dropdown stays open&#8221; bug</a>. In worst case scenarios this bug would lead to dropdown menus which refuse close without refreshing the page.</p>
<p>As someone who regularly uses both Flash and <a href="http://www.htmldog.com/articles/suckerfish/dropdowns/">Suckerfish</a> dropdown menus, these two bugs have been nagging me for quite some time, and I&#8217;m pleased that Apple has finally kicked them to the curb. The only bad news is that Safari 3 is only available to users of OS X 10.4.9 or higher, so it will be a while before we can kiss Safari 2 goodbye once and for all.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/07/11/safari-3-fixes-flash-flicker-bug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Will Silverlight really kill Flash?</title>
		<link>http://f6design.com/journal/2007/06/22/will-silverlight-really-kill-flash/</link>
		<comments>http://f6design.com/journal/2007/06/22/will-silverlight-really-kill-flash/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 01:58:41 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[News & Reviews]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/06/22/will-silverlight-really-kill-flash/</guid>
		<description><![CDATA[Silverlight is Microsoft&#8217;s new browser plugin for Rich Internet Applications, and since the unveiling of the latest alpha version it has been dubbed a &#8220;Flash killer&#8221; by many commentators. Silverlight is a Flash competitor to be sure, but a Flash killer? I think that may be overstating the case. Amongst all the hype about the [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://f6design.com/journal/wp-content/uploads/2007/06/silverlight_logo.jpg' alt='Silverlight logo' /></p>
<p><a href="http://silverlight.net/">Silverlight</a> is Microsoft&#8217;s new browser plugin for Rich Internet Applications, and since the unveiling of the latest alpha version it has been dubbed a <a href="http://arstechnica.com/news.ars/post/20070501-microsofts-flash-killer-steals-the-show-at-mix07.html">&#8220;Flash killer&#8221;</a> by many commentators. Silverlight is a Flash <em>competitor</em> to be sure, but a Flash <em>killer</em>? I think that may be overstating the case.</p>
<p>Amongst all the hype about the death of Flash I have also found a handful of articles that <a href="http://www.zdnet.com.au/news/software/soa/Lights-out-for-Silverlight/0,130061733,339278334,00.htm">cast doubt</a> on Silverlight&#8217;s chances of success, but on the whole I think they miss the mark somewhat. Two criticisms leveled against Silverlight are its lack of availability on the Linux platform, and potential indifference from end users, neither of which I see as the major challenge to Silverlight adoption.</p>
<p>Let&#8217;s consider the issue of Linux support. For a long time Flash support for Linux was very poor, yet that did little to hinder the adoption of Flash on other platforms. Even if Microsoft themselves don&#8217;t deem it worthwhile porting the Silverlight plugin to Linux, there are already independent developers <a href="http://en.wikipedia.org/wiki/Moonlight_%28runtime%29">working at the task</a>, and it&#8217;s just a matter of time until the OS is catered for.</p>
<p>As for the issue of end user adoption, to my mind what is actually more crucial is Silverlight&#8217;s acceptance by developers and designers. It is not a question of users seeing no need to switch <em>away</em> from Flash, but rather website developers feeling compelled to make the switch <em>to</em> Silverlight. If developers take Silverlight to heart, get excited about the platform and promote it in the web community, its adoption rate could be very fast. If that happens, end users will have no choice but to follow. After being welcomed to three or four websites with the greeting &#8220;you need to download the Silverlight plugin to view this site&#8221;, only the most stubborn user would still resist. On the other hand, if web designers and developers fail to become excited about the potential of Silverlight it will gain only a negligible market share, and end users will remain blithely unaware of its existence.</p>
<p>In my opinion this is the real challenge Silverlight faces, capturing the hearts of web designers and developers, especially those who currently work with Flash.</p>
<p>Microsoft certainly have their work cut out for them. If Silverlight is going to &#8220;kill&#8221; Flash, it stands to reason that the current field of Flash developers will need to abandon Flash and defect to Silverlight. Flash has a 10 year history and a robust developer community who will be unlikely to jump ship unless Silverlight proves to be a vastly superior product.</p>
<p>The other scenario in which Silverlight might &#8220;kill&#8221; Flash is if the flood of Silverlight applications is so enormous that Flash&#8217;s current market share seems insignificant by comparison. For this to happen, Silverlight will need to appeal to developers who are intrigued by RIAs, but don&#8217;t see Flash as a compelling proposition. However I expect Microsoft will face stiff opposition on this front too. After all, whichever way you slice it Silverlight still relies on a proprietary browser plugin, which is precisely what turns so many web designers off Flash to begin with. Silverlight does offer a &#8220;language neutral&#8221; scripting interface, as opposed to Flash&#8217;s reliance on Actionscript, which ought to ease the transition for newbies, but whether this is sufficient to eclipse its single vendor affiliation remains to be seen.</p>
<p>Regardless of whether Silverlight proves to be a runaway success, the next few years are bound to be a very interesting time for RIAs! </p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/06/22/will-silverlight-really-kill-flash/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>swfIR &#8211; a new twist for web images</title>
		<link>http://f6design.com/journal/2007/02/27/swfir-a-new-twist-for-web-images/</link>
		<comments>http://f6design.com/journal/2007/02/27/swfir-a-new-twist-for-web-images/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 21:48:42 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/02/27/swfir-a-new-twist-for-web-images/</guid>
		<description><![CDATA[You&#8217;re probably already familiar with sIFR, a technique that replaces boring HTML text with spiffy Flash text, without messing up your HTML markup. In the same vein comes swfIR, which uses Flash to perform a host of desirable modifications to images: borders, rounded corners, rotation and drop shadows. In the past it would have taken [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re probably already familiar with <a href="http://www.mikeindustries.com/sifr/">sIFR</a>, a technique that replaces boring HTML text with spiffy Flash text, without messing up your HTML markup. In the same vein comes <a href="http://www.swfir.com/">swfIR</a>, which uses Flash to perform a host of desirable modifications to images: borders, rounded corners, rotation and drop shadows.</p>
<p><img class="contentImg" src="http://f6design.com/journal/wp-content/uploads/2007/02/swfir_example.jpg" alt="swfIR example" /></p>
<p>In the past it would have taken a lot of repetitive Photoshop work to apply these sort of visual effects to images, and god forbid you ever redesigned the site and had to remove the effects from every single image. swfIR answers that problem by applying effects in automated, non-destructive fashion.</p>
<p>swfIR is the brainchild of <a href="http://www.danielmall.com/">Dan Mall</a> from <a href="http://www.happycog.com/">Happy Cog</a>, and is designed with progressive enhancement and standards compliance in mind. Each &#8216;swfIRized&#8217; image must be wrapped in a span tag and have an additional css class applied to it, but otherwise the original markup remains untouched. JavaScript is then used to replace the HTML image with a Flash movie into which the original image is loaded, and visual effects are applied.</p>
<p>The technique is not without its drawbacks however. One thing I don&#8217;t like about it is that the image replacement does not occur until the window.onload event is triggered, which means that the unstyled image must load into the page before it is replaced. I wonder if the replacement should be triggered using a JavaScript event that is fired when the <a href="http://www.thefutureoftheweb.com/blog/2006/6/adddomloadevent">DOM has loaded</a>, not the entire page. Apparently there are small Camino/Mac rendering bugs too. I understand that the swfIR developers are working on these issues, so it will be interesting to see what they come up with.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/02/27/swfir-a-new-twist-for-web-images/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash + Web 2.0 = yourminis</title>
		<link>http://f6design.com/journal/2007/02/25/flash-web-20-yourminis/</link>
		<comments>http://f6design.com/journal/2007/02/25/flash-web-20-yourminis/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 21:33:54 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[News & Reviews]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/02/25/flash-web-20-yourminis/</guid>
		<description><![CDATA[yourminis is Goowy&#8217;s foray into the &#8216;customizable homepage&#8217; space, a veritable smoragasbord of RSS feeds and widgets. The service is very similar to Netvibes, but with one big difference &#8211; yourminis is a Flash application. I&#8217;ve always thought it a shame that Flash hasn&#8217;t played a bigger part in the emergence of Web 2.0. AJAX [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yourminis.com/start">yourminis</a> is <a href="http://www.goowy.com/">Goowy&#8217;s</a> foray into the &#8216;customizable homepage&#8217; space, a veritable smoragasbord of RSS feeds and widgets. The service is very similar to <a href="http://www.netvibes.com/">Netvibes</a>, but with one big difference &#8211; yourminis is a Flash application.</p>
<p><img class="contentImg" src="http://f6design.com/journal/wp-content/uploads/2007/02/yourminis_screenshot.jpg" alt="yourminis screenshot" /></p>
<p>I&#8217;ve always thought it a shame that Flash hasn&#8217;t played a bigger part in the emergence of Web 2.0. AJAX is the technology that&#8217;s grabbed the headlines, yet Flash is purpose built to create cross-platform Rich Internet Applications (RIA&#8217;s). Sure, some of the big Web 2.0 player such as YouTube and Google use Flash Player to deliver their videos, and Yahoo Maps is a Flash app, but yourminis is far and away the most comprehensive Flash RIA I&#8217;ve seen. I was quite amazed to see how many public APIs Flash can successfully hook into: YouTube, ebay, Amazon, Yahoo Maps, Flickr, Digg, delicious, Gmail, iTunes &#8211; even Dilbert!</p>
<p>yourminis has a slick &#8216;aero&#8217; style interface, which can be customized with the user&#8217;s own &#8216;desktop wallpaper&#8217;. This is bound to make it appealing to a young user base who might be turned off by the corporate look of NetVibes. In fact it is actually possible to embed yourminis widgets in myspace profiles &#8211; or on any other webpage for that matter.</p>
<p>The one thing that&#8217;s noticeably absent at this stage is a yourminis API. Despite the swag of official widgets already on offer, this is going to slow down its evolution. Supposedly the API will be released in the very near future, and it will be fascinating to see what Flash developers do with it.</p>
<p>Lately I&#8217;ve been underwhelmed with Flash sites, but yourminis is a fantastic example of Flash the way it ought to be done. I hope that we see more sites like it in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/02/25/flash-web-20-yourminis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

