<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Going full circle: could falling back to Flash solve IE&#8217;s lack of canvas support?</title>
	<atom:link href="http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Neon22</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272245</link>
		<dc:creator>Neon22</dc:creator>
		<pubDate>Mon, 23 Mar 2009 03:52:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272245</guid>
		<description>Its been quiet for a long time but:
http://www.aflax.org/</description>
		<content:encoded><![CDATA[<p>Its been quiet for a long time but:<br />
<a href="http://www.aflax.org/" rel="nofollow">http://www.aflax.org/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272221</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Fri, 20 Mar 2009 15:30:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272221</guid>
		<description>With the massive speed benefits of Adobe Alchemy and the convenience of compiling existing C/C++ code - I wonder if there is any benefit in attempting to port WebKit or Mozilla&#039;s Canvas implementation to Alchemy: http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/</description>
		<content:encoded><![CDATA[<p>With the massive speed benefits of Adobe Alchemy and the convenience of compiling existing C/C++ code &#8211; I wonder if there is any benefit in attempting to port WebKit or Mozilla&#8217;s Canvas implementation to Alchemy: <a href="http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/" rel="nofollow">http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272186</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Thu, 19 Mar 2009 16:41:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272186</guid>
		<description>@gonchuki

At least three separate versions of the Vorbis decoder have been ported to the Flash Platform. There&#039;s the alchemy port here: http://labs.adobe.com/wiki/index.php/Alchemy:Libraries , and the HaXe port here: http://barelyfocused.net/blog/2008/10/03/flash-vorbis-player/ . There is an older AS3 port (of Tremor I think) but I don&#039;t think the source is available, and I can&#039;t remember where the demo is. :-)

It&#039;s fairly easy to get any of these up and running, so it would just be a matter of wrapping them in an interface, and then you&#039;re done. They are pretty light on the CPU usage too - though, obviously they&#039;ll never be as efficient as Flash&#039;s built in mp3 decoder...</description>
		<content:encoded><![CDATA[<p>@gonchuki</p>
<p>At least three separate versions of the Vorbis decoder have been ported to the Flash Platform. There&#8217;s the alchemy port here: <a href="http://labs.adobe.com/wiki/index.php/Alchemy:Libraries" rel="nofollow">http://labs.adobe.com/wiki/index.php/Alchemy:Libraries</a> , and the HaXe port here: <a href="http://barelyfocused.net/blog/2008/10/03/flash-vorbis-player/" rel="nofollow">http://barelyfocused.net/blog/2008/10/03/flash-vorbis-player/</a> . There is an older AS3 port (of Tremor I think) but I don&#8217;t think the source is available, and I can&#8217;t remember where the demo is. :-)</p>
<p>It&#8217;s fairly easy to get any of these up and running, so it would just be a matter of wrapping them in an interface, and then you&#8217;re done. They are pretty light on the CPU usage too &#8211; though, obviously they&#8217;ll never be as efficient as Flash&#8217;s built in mp3 decoder&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gonchuki</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272148</link>
		<dc:creator>gonchuki</dc:creator>
		<pubDate>Wed, 18 Mar 2009 15:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272148</guid>
		<description>@CaptainN
Flash does not have native support for the Vorbis audio codec so someone would have to write a decoder in AS, and that&#039;s plain nuts.</description>
		<content:encoded><![CDATA[<p>@CaptainN<br />
Flash does not have native support for the Vorbis audio codec so someone would have to write a decoder in AS, and that&#8217;s plain nuts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272137</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Wed, 18 Mar 2009 15:05:32 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272137</guid>
		<description>Oh, all that was to answer the question of &quot;would anyone care enough about IE&quot; - I think the answer is unfortunately yes - out of a need to be concerned more than a desire. Microsoft&#039;s position with IE seems to put the effort of supporting their browser on developer&#039;s shoulders, instead of on their own initiative. I wonder if they understand the effect that has on their perception from web developers, and the community in general.</description>
		<content:encoded><![CDATA[<p>Oh, all that was to answer the question of &#8220;would anyone care enough about IE&#8221; &#8211; I think the answer is unfortunately yes &#8211; out of a need to be concerned more than a desire. Microsoft&#8217;s position with IE seems to put the effort of supporting their browser on developer&#8217;s shoulders, instead of on their own initiative. I wonder if they understand the effect that has on their perception from web developers, and the community in general.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272136</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Wed, 18 Mar 2009 15:01:31 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272136</guid>
		<description>I personally believe the way forward with IE (and other legacy browsers) is to write JS libraries (utilizing bits of proprietary tech, like Java, Flash and Silverlight - perhaps even utilizing other browser enhancements from Mozilla, like screaming monkey), that extend IE with standards based features (like DOM events, and canvas support) in a transparent way.

The reality of the way browser support evolves even among the standards based browsers, is that you always need a way to apply the new technology (like html 5 video tags) to the legacy browsers, at least in the short term, while the newer browsers take up market share.

I&#039;d love to see the focus of many of these &quot;Ajax&quot; libraries to basically add new standards based features to old browsers, in a very opt-in and modular way. John Resig did this with Sizzle, a small JS library that adds the Selectors API to old browsers (including IE), and uses the native support where available (and enhances it, where necessary to add smaller subsets of features?).

Another example would be that it should be currently possible to implement audio tag support (with ogg vorbis support) using a combination of Flash and Javascript to browsers that don&#039;t currently support ogg vorbis, or the audio tag, and could even be used to enhance those browsers that support the audio tag but not ogg vorbis.</description>
		<content:encoded><![CDATA[<p>I personally believe the way forward with IE (and other legacy browsers) is to write JS libraries (utilizing bits of proprietary tech, like Java, Flash and Silverlight &#8211; perhaps even utilizing other browser enhancements from Mozilla, like screaming monkey), that extend IE with standards based features (like DOM events, and canvas support) in a transparent way.</p>
<p>The reality of the way browser support evolves even among the standards based browsers, is that you always need a way to apply the new technology (like html 5 video tags) to the legacy browsers, at least in the short term, while the newer browsers take up market share.</p>
<p>I&#8217;d love to see the focus of many of these &#8220;Ajax&#8221; libraries to basically add new standards based features to old browsers, in a very opt-in and modular way. John Resig did this with Sizzle, a small JS library that adds the Selectors API to old browsers (including IE), and uses the native support where available (and enhances it, where necessary to add smaller subsets of features?).</p>
<p>Another example would be that it should be currently possible to implement audio tag support (with ogg vorbis support) using a combination of Flash and Javascript to browsers that don&#8217;t currently support ogg vorbis, or the audio tag, and could even be used to enhance those browsers that support the audio tag but not ogg vorbis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ThomasHansen</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272106</link>
		<dc:creator>ThomasHansen</dc:creator>
		<pubDate>Wed, 18 Mar 2009 00:14:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272106</guid>
		<description>There is always the option of just don&#039;t caring about non-standard conforming browsers. I think the way bespin and timepedia are going here is pretty brutally cool to be honest ... ;)
.
In fact I invented a word a couple of years ago for this (which I haven&#039;t dared to speak out loudly) which is &quot;lock-out&quot;...
.
But hey, anything that can prove that ActiveX2.0 (Flash, Silverlight and JavaFX) are slower then pure JS, DOM and Canvas must be good, right...? ;)</description>
		<content:encoded><![CDATA[<p>There is always the option of just don&#8217;t caring about non-standard conforming browsers. I think the way bespin and timepedia are going here is pretty brutally cool to be honest &#8230; ;)<br />
.<br />
In fact I invented a word a couple of years ago for this (which I haven&#8217;t dared to speak out loudly) which is &#8220;lock-out&#8221;&#8230;<br />
.<br />
But hey, anything that can prove that ActiveX2.0 (Flash, Silverlight and JavaFX) are slower then pure JS, DOM and Canvas must be good, right&#8230;? ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shadedecho</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272104</link>
		<dc:creator>shadedecho</dc:creator>
		<pubDate>Tue, 17 Mar 2009 20:50:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272104</guid>
		<description>@CaptainN i think that&#039;s a very smart idea. It seems like a good portion of the canvas api might not need return values.
.
@Brad good find on the EI overriding. I may use this (or captainN&#039;s idea) for flXHR to speed it up.
.
The question is, will anyone care enough about IE to put in this extra work.</description>
		<content:encoded><![CDATA[<p>@CaptainN i think that&#8217;s a very smart idea. It seems like a good portion of the canvas api might not need return values.<br />
.<br />
@Brad good find on the EI overriding. I may use this (or captainN&#8217;s idea) for flXHR to speed it up.<br />
.<br />
The question is, will anyone care enough about IE to put in this extra work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272100</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Tue, 17 Mar 2009 18:09:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272100</guid>
		<description>CaptainN is right; use fscommand and setVariable/play/stop on IE for Flash communication. It is extremely fast, but a pain to program for. Another alternative is to hook deeper into the ExternalInterface architecture to avoid an eval() statement, which the ExternalInterface does on each call and which slows things down. More info on overriding ExternalInterface to get more control on an old blog post on my blog here: http://codinginparadise.org/weblog/2006/02/how-to-speed-up-flash-8s.html</description>
		<content:encoded><![CDATA[<p>CaptainN is right; use fscommand and setVariable/play/stop on IE for Flash communication. It is extremely fast, but a pain to program for. Another alternative is to hook deeper into the ExternalInterface architecture to avoid an eval() statement, which the ExternalInterface does on each call and which slows things down. More info on overriding ExternalInterface to get more control on an old blog post on my blog here: <a href="http://codinginparadise.org/weblog/2006/02/how-to-speed-up-flash-8s.html" rel="nofollow">http://codinginparadise.org/weblog/2006/02/how-to-speed-up-flash-8s.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272099</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Tue, 17 Mar 2009 16:39:05 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272099</guid>
		<description>Using alternative communication techniques (like calling fscommand from flash and using swfRef.setVariable from javascript), might actually be faster than using ExternalInterface, which actually serializes everything into XML, and sets callbacks (and waits for them), rather than just sending strings, like setVariable and fscommand.

Of course, where you do need a return value, ExternalInterface is the way to go, but where you don&#039;t, there can be performance gains through setVariable and fscommand.

(Note: this is based on very old knowledge, it could be outdated).</description>
		<content:encoded><![CDATA[<p>Using alternative communication techniques (like calling fscommand from flash and using swfRef.setVariable from javascript), might actually be faster than using ExternalInterface, which actually serializes everything into XML, and sets callbacks (and waits for them), rather than just sending strings, like setVariable and fscommand.</p>
<p>Of course, where you do need a return value, ExternalInterface is the way to go, but where you don&#8217;t, there can be performance gains through setVariable and fscommand.</p>
<p>(Note: this is based on very old knowledge, it could be outdated).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zonakusu</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272077</link>
		<dc:creator>Zonakusu</dc:creator>
		<pubDate>Tue, 17 Mar 2009 12:14:43 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272077</guid>
		<description>Well this is another &#039;fix&#039; to make something work on IE. Ok it&#039;s not really a standard so far (@SergeyIlinsky), but that doesn&#039;t change that fact that once again, we need a fix to make something work for IE.</description>
		<content:encoded><![CDATA[<p>Well this is another &#8216;fix&#8217; to make something work on IE. Ok it&#8217;s not really a standard so far (@SergeyIlinsky), but that doesn&#8217;t change that fact that once again, we need a fix to make something work for IE.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SergeyIlinsky</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272076</link>
		<dc:creator>SergeyIlinsky</dc:creator>
		<pubDate>Tue, 17 Mar 2009 11:44:30 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272076</guid>
		<description>&quot;You can code away, happily using open standards and then use FlashCanvas to forcefully and silently upgrade IE to also being standards compliant.&quot;

If I am not mistaken, canvas tag is not part of any open standard (yes, it is part of an attempt to develop and standardize on HTML5). So blaming IE for not being standards compliant here is actually at least a little bit premature...</description>
		<content:encoded><![CDATA[<p>&#8220;You can code away, happily using open standards and then use FlashCanvas to forcefully and silently upgrade IE to also being standards compliant.&#8221;</p>
<p>If I am not mistaken, canvas tag is not part of any open standard (yes, it is part of an attempt to develop and standardize on HTML5). So blaming IE for not being standards compliant here is actually at least a little bit premature&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marcelbeumer</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272073</link>
		<dc:creator>marcelbeumer</dc:creator>
		<pubDate>Tue, 17 Mar 2009 11:15:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272073</guid>
		<description>If its just the ActionScript call that has a price, why not &#039;caching&#039; all canvas API calls and send the flash object a whole batch of instructions every x-amount of API calls or using a context.updateForFlash()....</description>
		<content:encoded><![CDATA[<p>If its just the ActionScript call that has a price, why not &#8216;caching&#8217; all canvas API calls and send the flash object a whole batch of instructions every x-amount of API calls or using a context.updateForFlash()&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cromwellian</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272068</link>
		<dc:creator>cromwellian</dc:creator>
		<pubDate>Tue, 17 Mar 2009 04:37:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272068</guid>
		<description>The problem is, it&#039;s nearly impossible to replicate 100% of the CanvasRenderingContext2D API on VML in a way that looks correct, and performs reasonable. Most of the excanvas implementations are missing features for this reason, and a shim that&#039;s missing a bunch of functionality and performs poorly can also encourage bad dev behavior.</description>
		<content:encoded><![CDATA[<p>The problem is, it&#8217;s nearly impossible to replicate 100% of the CanvasRenderingContext2D API on VML in a way that looks correct, and performs reasonable. Most of the excanvas implementations are missing features for this reason, and a shim that&#8217;s missing a bunch of functionality and performs poorly can also encourage bad dev behavior.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shadedecho</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272066</link>
		<dc:creator>shadedecho</dc:creator>
		<pubDate>Tue, 17 Mar 2009 01:08:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272066</guid>
		<description>I happen to believe that using Flash, or SL, or VML, or even Java (ugh) is a perfectly valid &quot;shim&quot; approach to creating fallbacks for misbehaving browsers (like IE). It allows developers to continue to consolidate on a single API, which makes all our lives easier, and it holds off the &quot;problem&quot; until such a time as browsers can implement better approximates to the almighty &quot;standards&quot;.
.
Performance can suffer, yes, but that&#039;s a better/lesser cost (IMHO) than poor dev behavior (that is, different coding for different browsers), or even worse yet, flat out lost behavior for certain users because of their unlucky bad browser environment. Again, shims are specifically intended to prop up the site/app experience until such a time as a better thing can be brought along. So, we know it&#039;s a tradeoff right?
.
In fact, this is exactly the approach I took with flXHR [ http://flxhr.flensed.com ], which implements the identical API to native XHR, but does so with a javascript+invisible flash solution as the shim. This &quot;solves&quot; the problem of having a consistent API for cross-domain Ajax calls.
.
I think it&#039;s the same logic that makes flXHR successful which can make a Flash or VML backed canvas hack a viable solution for now. Keep up the good work.</description>
		<content:encoded><![CDATA[<p>I happen to believe that using Flash, or SL, or VML, or even Java (ugh) is a perfectly valid &#8220;shim&#8221; approach to creating fallbacks for misbehaving browsers (like IE). It allows developers to continue to consolidate on a single API, which makes all our lives easier, and it holds off the &#8220;problem&#8221; until such a time as browsers can implement better approximates to the almighty &#8220;standards&#8221;.<br />
.<br />
Performance can suffer, yes, but that&#8217;s a better/lesser cost (IMHO) than poor dev behavior (that is, different coding for different browsers), or even worse yet, flat out lost behavior for certain users because of their unlucky bad browser environment. Again, shims are specifically intended to prop up the site/app experience until such a time as a better thing can be brought along. So, we know it&#8217;s a tradeoff right?<br />
.<br />
In fact, this is exactly the approach I took with flXHR [ <a href="http://flxhr.flensed.com" rel="nofollow">http://flxhr.flensed.com</a> ], which implements the identical API to native XHR, but does so with a javascript+invisible flash solution as the shim. This &#8220;solves&#8221; the problem of having a consistent API for cross-domain Ajax calls.<br />
.<br />
I think it&#8217;s the same logic that makes flXHR successful which can make a Flash or VML backed canvas hack a viable solution for now. Keep up the good work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oopstudios</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272064</link>
		<dc:creator>oopstudios</dc:creator>
		<pubDate>Tue, 17 Mar 2009 00:45:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272064</guid>
		<description>Yeah, I think Spocke has found the right caveat to exploit for this one, still, the Flash fix is definitely a worthy pursuit!</description>
		<content:encoded><![CDATA[<p>Yeah, I think Spocke has found the right caveat to exploit for this one, still, the Flash fix is definitely a worthy pursuit!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spocke</title>
		<link>http://ajaxian.com/archives/going-full-circle-could-falling-back-to-flash-solve-ies-lack-of-canvas-support/comment-page-1#comment-272063</link>
		<dc:creator>Spocke</dc:creator>
		<pubDate>Mon, 16 Mar 2009 22:51:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6345#comment-272063</guid>
		<description>What about Silverlight. Isn&#039;t that was MS want us to use instead anyway. Can&#039;t we just make a SVG to XAML converter, a few XSL files and your done. ;) Don&#039;t know if the JS bride between the runtimes is faster.</description>
		<content:encoded><![CDATA[<p>What about Silverlight. Isn&#8217;t that was MS want us to use instead anyway. Can&#8217;t we just make a SVG to XAML converter, a few XSL files and your done. ;) Don&#8217;t know if the JS bride between the runtimes is faster.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

