<?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>CodeDread Blog &#187; canvas</title>
	<atom:link href="http://www.codedread.com/blog/archives/tag/canvas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codedread.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2012 15:30:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SVG/Canvas Marketshare: Nov 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/12/21/svgcanvas-marketshare-nov-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/12/21/svgcanvas-marketshare-nov-2010/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 17:31:48 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=995</guid>
		<description><![CDATA[I’ve updated my marketshare spreadsheet for Nov 2010 charting the percentage of web users who can view SVG and Canvas: 44.57% I&#8217;m also tracking what percentage of web users can see SVG in an &#60;img&#62; tag: 18.41%]]></description>
			<content:encoded><![CDATA[<p><img width="100" height="100" style="float:right" src="http://codedread.com/clipart/svg.svgz" alt="I want to believe. SVG as an image format."></img>I’ve updated my marketshare spreadsheet for Nov 2010 charting the percentage of web users who can view SVG and Canvas:  <strong>44.57%</strong></p>
<p><iframe width="400" height="440" src="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html"/></p>
<p>I&#8217;m also tracking what percentage of web users can see SVG in an &#60;img&#62; tag: 18.41%</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/12/21/svgcanvas-marketshare-nov-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG/Canvas Marketshare: Aug 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/09/12/svgcanvas-marketshare-aug-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/09/12/svgcanvas-marketshare-aug-2010/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 16:33:21 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=921</guid>
		<description><![CDATA[I’ve updated my marketshare spreadsheet for Aug 2010 charting the percentage of web users who can view SVG and Canvas: 41.08% Still looking for more stats sites &#8211; it seems that W3Counter is also not reliable (their public web stats for August were still not generated as of Sep 12th).]]></description>
			<content:encoded><![CDATA[<p><img width="100" height="100" style="float:right" src="http://codedread.com/clipart/svg.svgz" alt="I want to believe. SVG as an image format."></img>I’ve updated my marketshare spreadsheet for Aug 2010 charting the percentage of web users who can view SVG and Canvas:  <strong>41.08%</strong></p>
<p><iframe width="300" height="360" src="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html"/></p>
<p>Still looking for more stats sites &#8211; it seems that W3Counter is also not reliable (their public web stats for August were still not generated as of Sep 12th).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/09/12/svgcanvas-marketshare-aug-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG/Canvas Marketshare: June 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/07/11/svgcanvas-marketshare-june-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/07/11/svgcanvas-marketshare-june-2010/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 06:47:33 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=912</guid>
		<description><![CDATA[[clipart]I’ve updated my marketshare spreadsheet for June 2010 charting the percentage of web users who can view SVG and Canvas: 41.49% Note that I added &#8220;Canvas&#8221; back into the title of these blog posts, now that it is public that IE9 is supporting the HTML5 &#60;canvas&#62; element. I&#8217;ve also added SVG-as-an-image (usable inside &#60;img&#62; or [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/svg.svgz">[clipart]</object>I’ve updated my marketshare spreadsheet for June 2010 charting the percentage of web users who can view SVG and Canvas:  <strong>41.49%</strong></p>
<p><iframe width="300" height="360" src="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html"/></p>
<p>Note that I added &#8220;Canvas&#8221; back into the title of these blog posts, now that it is public that IE9 is supporting the HTML5 &#60;canvas&#62; element.  I&#8217;ve also added SVG-as-an-image (usable inside &#60;img&#62; or as a CSS background-image), since that&#8217;s something that seems likely to be supported soon by all browsers (Firefox 4, IE9).</p>
<p>P.S. This figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or excanvas shims, so this is really a worst-case number.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/07/11/svgcanvas-marketshare-june-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG/Canvas Marketshare: Mar 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/04/05/svgcanvas-marketshare-mar-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/04/05/svgcanvas-marketshare-mar-2010/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 01:16:42 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[RIA]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=804</guid>
		<description><![CDATA[[clipart]I&#8217;ve updated my marketshare spreadsheet for March 2010 charting the percentage of web users who can view SVG/Canvas: 39.99% Link to spreadsheet P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/svg.svgz">[clipart]</object>I&#8217;ve updated my marketshare spreadsheet for March 2010 charting the percentage of web users who can view SVG/Canvas:  <b>39.99%</b></p>
<p><iframe width="300" height="350" src="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html"/><br />
<a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=htm">Link to spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/04/05/svgcanvas-marketshare-mar-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To And Fro</title>
		<link>http://www.codedread.com/blog/archives/2010/03/31/to-and-fro/</link>
		<comments>http://www.codedread.com/blog/archives/2010/03/31/to-and-fro/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 13:45:23 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=782</guid>
		<description><![CDATA[[clipart]Issue 70 has been open for awhile now. In fact it&#8217;s one of just a handful of two-digit bugs left in SVG-edit. Now that all browsers have heralded support for SVG into the future, one might argue that the need for this bug will evaporate in a couple years. However, one would be wrong. First, [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/recycling.svgz">[clipart]</object><a href="http://code.google.com/p/svg-edit/issues/detail?id=70" title="Convert SVG to PNG">Issue 70</a> has been open for awhile now.  In fact it&#8217;s one of just a handful of two-digit bugs left in <a href="http://code.google.com/p/svg-edit/issues/list">SVG-edit</a>.  Now that all browsers have heralded support for SVG into the future, one might argue that the need for this bug will evaporate in a couple years.  However, one would be wrong.  First, there are lots of mobile browsers out there.  Second, in some cases it could be easier to just tell the browser how to draw a collection of dots rather than mathematical instructions (think thumbnails).  So how to solve it?<span id="more-782"></span></p>
<p>One thought that occurred to me is if I can shove the SVG into a HTML5 Canvas element, I can then call <a href="http://dev.w3.org/html5/canvas-api/canvas-2d-api.html#dom-canvas-todataurl">toDataURI()</a> on it to generate a PNG.  Unfortunately only <a href="http://lists.w3.org/Archives/Public/public-html/2007Oct/0320.html">Opera seems to have experimented</a> with loading SVG into a Canvas directly.  Also, there are many effects that can be done in SVG that cannot be done in Canvas (filters, fonts, and more).</p>
<p>The <a href="http://dev.w3.org/html5/canvas-api/canvas-2d-api.html#section-canvas-interface-element">Canvas2D API</a> does mention that in the future, the svg:image element may support <a href="http://dev.w3.org/html5/canvas-api/canvas-2d-api.html#the-canvas-interface-element">the CanvasElement DOM interface</a>.  I&#8217;m anticipating Microsoft to announce &#60;canvas&#62; support for IE9 later this year and probably to support this interface on svg:image elements.  It&#8217;s one way they can innovate on the web standards front while they continue to catch up to other modern browsers.</p>
<p>This would be good, but why only the <a href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">svg:image element</a>?  I&#8217;d argue that any element that contains some geometry could gain the toDataURI() method (particularly useful would be the &#60;svg&#62; element here).</p>
<p>Until such time as browsers all get in sync, there are other options.  <a href="http://canvg.googlecode.com/">canvg</a> is one such option and I&#8217;ve been dutifully raising bugs and writing teeny patches but there&#8217;s a long ways to go for a robust solution.</p>
<p>Ultimately this is another case of <a href="http://www.codedread.com/blog/archives/2009/06/27/oh-the-things-youll-learn/">why am I doing something in script that all browsers already know how to do</a>?  You really have to think long-term in the web space, don&#8217;t you? <img src='http://www.codedread.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Other ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/03/31/to-and-fro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Know The Beast</title>
		<link>http://www.codedread.com/blog/archives/2010/03/22/know-the-beast/</link>
		<comments>http://www.codedread.com/blog/archives/2010/03/22/know-the-beast/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 01:07:09 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=757</guid>
		<description><![CDATA[[clipart]Cameron Adams decided to benchmark Flash, SVG, Canvas and HTML5 using a particle engine he created. Not surprising (to me anyway), the SVG scores were the worst of the bunch. This stands to reason: does each particle really need to be a DOM element? Nonetheless, I decided to see what I could do to make [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/tools.svgz">[clipart]</object><a href="http://www.themaninblue.com/writing/perspective/2010/03/22/">Cameron Adams</a> decided to benchmark Flash, SVG, Canvas and HTML5 using a particle engine he created.  Not surprising (to me anyway), the SVG scores were the worst of the bunch.  This stands to reason:  does each particle really need to be a DOM element?  Nonetheless, I decided to see what I could do to make the SVG scores suck less.  I thought I&#8217;d use it as an opportunity to also teach some techniques.</p>
<p><strong>Update: Added some browser scores for Nov 2011</strong></p>
<p><span id="more-757"></span></p>
<h3>Particle Creation</h3>
<p>Cameron initializes the particles this way:</p>
<pre>
	var domNode = document.createElementNS(SVG_NS, "circle");
	var benchmark = document.getElementById("benchmark");
	benchmark.appendChild(domNode);

	// Set initial position to middle of screen
	domNode.setAttribute("cx", x + PARTICLE_RADIUS);
	domNode.setAttribute("cy", y + PARTICLE_RADIUS);
	domNode.setAttribute("r", PARTICLE_RADIUS);

	// Set colour of element
	domNode.setAttribute("fill", COLORS[Math.floor(Math.random() * COLORS.length)]);
</pre>
<p>That is, he creates a svg:circle element, then appends it to the DOM, then modifies its attributes.  Every time an attribute is changed in the DOM it has the potential to cause a layout/render change.  Thus, it makes more sense (to me) to attach the circle to the DOM only after you&#8217;re done initializing the element (i.e. after all the setAttribute calls).</p>
<p>This doesn&#8217;t affect the frame-rate, since creation only happens at the beginning, but it might affect the startup time of the animation so I thought I&#8217;d drop it in this post.</p>
<h3>DOM Animation &#8211; the Naive Approach</h3>
<p>Next, he has a function that is called as fast as possible to animate the particles.  The animate function does a simple loop over all particles and calls a draw() function.  The particle&#8217;s draw function does this:</p>
<pre>
		// lots of other JS code here
		domNode.setAttribute("cx", nextX + PARTICLE_RADIUS);
		domNode.setAttribute("cy", nextY + PARTICLE_RADIUS);
</pre>
<p>The problem with this again is that each DOM call can cause a re-render.  This means if you have 500 particles, there are 1000 DOM calls affecting the rendering with every call to animate().  Depending on how stupid the browser is, this could be expensive.</p>
<ul>
<li><a href="http://codedread.com/browser-tests/particle/particle.xhtml">Click here to try the original demo</a></li>
</ul>
<table>
<thead>Original Results</thead>
<tr>
<th>Browser</th>
<th>Frame Rate</th>
</tr>
<tr>
<td>Firefox 3.6 (OSX)</td>
<td>1.75 fps</td>
</tr>
<tr>
<td>Firefox 3.7 Nightly (OSX)</td>
<td>1.9 fps</td>
</tr>
<tr>
<td>Firefox 8 Beta (OSX)</td>
<td><strong>3.8 fps</strong></td>
</tr>
<tr>
<td>Opera 10.10 (OSX)</td>
<td>12.5 fps</td>
</tr>
<tr>
<td>Opera 10.50 (OSX)</td>
<td>14.5 fps</td>
</tr>
<tr>
<td>IE9 Preview 1 (Win7 VM)</td>
<td>28 fps</td>
</tr>
<tr>
<td>Safari 4.0.5 (OSX)</td>
<td>32 fps</td>
</tr>
<tr>
<td>Chrome 5 Nightly (OSX)</td>
<td>40 fps</td>
</tr>
<tr>
<td>Chromium 17 Nightly (OSX)</td>
<td><strong>55 fps</strong></td>
</tr>
</table>
<h3 id="suspendredraw">Suspension</h3>
<p>My first attempt was to use suspendRedraw() and unsuspendRedraw() around the for-loop that calls particle.draw().  This is the SVG-recommended way to do a bunch of operations &#8216;off-screen&#8217; and then have the results updated in one-shot.  This <em>did</em> have an effect on Firefox&#8217;s frame rate.  </p>
<p>But it didn&#8217;t really seem to affect WebKit&#8217;s performance at all.  Looking at the WebKit source (svg/SVGSVGElement.cpp) it&#8217;s pretty easy to see why:</p>
<pre>
unsigned SVGSVGElement::suspendRedraw(unsigned /* maxWaitMilliseconds */)
{
    // FIXME: Implement me (see bug 11275)
    return 0;
}
</pre>
<p>Maybe WebKit will one day implement this and the technique will become more broadly useful. <strong>[Update Nov 2011: This has been implemented in WebKit]</strong></p>
<ul>
<li><a href="http://codedread.com/browser-tests/particle/particle-suspend.xhtml">Click here to try the demo that uses suspendRedraw</a></li>
</ul>
<table>
<thead>SuspendRedraw Results</thead>
<tr>
<th>Browser</th>
<th>Frame Rate</th>
</tr>
<tr>
<td>Firefox 3.6 (OSX)</td>
<td>3.2 fps</td>
</tr>
<tr>
<td>Firefox 3.7 Nightly (OSX)</td>
<td>3.4 fps</td>
</tr>
<tr>
<td>Firefox 8 Beta (OSX)</td>
<td><strong>8 fps</strong></td>
</tr>
<tr>
<td>Opera 10.10 (OSX)</td>
<td>8.2 fps</td>
</tr>
<tr>
<td>Opera 10.50 (OSX)</td>
<td>23.5 fps</td>
</tr>
<tr>
<td>IE9 Preview 1 (Win7 VM)</td>
<td>N/A</td>
</tr>
<tr>
<td>Safari 4.0.5 (OSX)</td>
<td>32 fps</td>
</tr>
<tr>
<td>Chrome 5 Nightly (OSX)</td>
<td>40 fps</td>
</tr>
<tr>
<td>Chromium 17 Nightly (OSX)</td>
<td><strong>45 fps</strong></td>
</tr>
</table>
<p>NOTE: IE9 Preview 1 has not implemented suspendRedraw() and the demo does not run.</p>
<h3 id="manual-offscreen">Manually Doing Off-Screen Rendering</h3>
<p>I then went and did something crazy.  </p>
<p>I added a svg:g (group) element to the particle test, added all the particles to it.  Then with each call to render, I remove the &#60;g&#62; from the DOM, call all the particle draw() functions, then re-add the &#60;g&#62; to the DOM.  </p>
<p>This had a <em>dramatic</em> effect on Firefox&#8217;s performance, but it seemed to slow down Safari and Opera.  Not sure why that would be, but I guess they have much more sensible ways of updating the rendered state of the DOM than Firefox so that removing and adding an element to the DOM becomes more expensive.</p>
<ul>
<li><a href="http://codedread.com/browser-tests/particle/particle-g.xhtml">Click here to try the demo with manual off-screen rendering</a></li>
</ul>
<table>
<thead>Manual Offscreening Results</thead>
<tr>
<th>Browser</th>
<th>Frame Rate</th>
</tr>
<tr>
<td>Safari 4.0.5 (OSX)</td>
<td>12.75 fps</td>
</tr>
<tr>
<td>Opera 10.10 (OSX)</td>
<td>14 fps</td>
</tr>
<tr>
<td>Firefox 3.6 (OSX)</td>
<td>21.5 fps</td>
</tr>
<tr>
<td>Firefox 3.7 Nightly (OSX)</td>
<td>21.5 fps</td>
</tr>
<tr>
<td>Opera 10.50 (OSX)</td>
<td>23.5 fps</td>
</tr>
<tr>
<td>IE9 Preview 1 (Win7 VM)</td>
<td>25 fps</td>
</tr>
<tr>
<td>Chrome 5 Nightly (OSX)</td>
<td>26.5 fps</td>
</tr>
<tr>
<td>Firefox 8 Beta (OSX)</td>
<td><strong>37 fps</strong></td>
</tr>
<tr>
<td>Chromium 17 Nightly (OSX)</td>
<td><strong>49 fps</strong></td>
</tr>
</table>
<h3>Conclusion</h3>
<p>This blog post is really just an attempt to share the knowledge about some of the challenges in using SVG for high-performance demos.  Basically don&#8217;t change the live DOM if you can avoid it.</p>
<p>Note that I still stand by my original statement that SVG is not the right technology for particle effects unless you need mouse interactivity.  This type of demo is much more suitable for HTML5&#8242;s &#60;canvas&#62; element.  Let&#8217;s hope IE9 also implements a GPU-accelerated version of this element too!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/03/22/know-the-beast/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Canvas/SVG Marketshare: Feb 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 01:44:03 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=705</guid>
		<description><![CDATA[[clipart]I&#8217;ve updated my marketshare spreadsheet for February 2010 charting the percentage of web users who can view SVG/Canvas: 37.92% Link to spreadsheet P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/svg.svgz">[clipart]</object>I&#8217;ve updated my marketshare spreadsheet for February 2010 charting the percentage of web users who can view SVG/Canvas:  <b>37.92%</b></p>
<p><iframe width="300" height="300" src="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html"/><br />
<a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=htm">Link to spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canvas/SVG Marketshare: Jan 2010</title>
		<link>http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/</link>
		<comments>http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 21:24:00 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=654</guid>
		<description><![CDATA[[clipart]I&#8217;ve updated my marketshare spreadsheet for January 2010 charting the percentage of web users who can view SVG/Canvas: 36.86% Spreadsheet P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so this is [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/svg.svgz">[clipart]</object>I&#8217;ve updated my marketshare spreadsheet for January 2010 charting the percentage of web users who can view SVG/Canvas:  <b>36.86%</b></p>
<p><a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html">Spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG Marketshare: Dec 2009</title>
		<link>http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/</link>
		<comments>http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 13:25:53 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://www.codedread.com/blog/?p=616</guid>
		<description><![CDATA[[clipart]I decided to start publishing the percentage of web users who can view SVG/Canvas, starting with December 2009: 35.62% Spreadsheet P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so this is [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" style="float:right" data="http://codedread.com/clipart/svg.svgz">[clipart]</object>I decided to start publishing the percentage of web users who can view SVG/Canvas, starting with December 2009:  <b>35.62%</b></p>
<p><a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&#038;output=html">Spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

