<?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>The Sea of Ideas &#187; standards</title>
	<atom:link href="http://paulbakaus.com/tag/standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://paulbakaus.com</link>
	<description>Capturing the thoughts of Paul Bakaus</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:34:15 +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>How library developers help defining standards</title>
		<link>http://paulbakaus.com/2008/09/02/how-library-developers-help-defining-standards/</link>
		<comments>http://paulbakaus.com/2008/09/02/how-library-developers-help-defining-standards/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 10:13:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://paulbakaus.com/?p=60</guid>
		<description><![CDATA[For the last couple of months, many people have been frightened that the Browser Wars are beginning to happen once again. It&#8217;s easy to come to such a conclusion if you see all these new standards in today&#8217;s browsers: Even only in CSS, Mozilla added a &#8220;-moz&#8221; scope for new CSS syntax, Webkit a &#8220;-webkit&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>For the last couple of months, many people have been frightened that the Browser Wars are beginning to happen once again. It&#8217;s easy to come to such a conclusion if you see all these new standards in today&#8217;s browsers: Even only in CSS, Mozilla added a &#8220;-moz&#8221; scope for new CSS syntax, Webkit a &#8220;-webkit&#8221; one &#8211; and let&#8217;s not even talk about Internet Explorer.</p>
<p>We&#8217;re seeing a lot of move recently &#8211; Mozilla pushes their JavaScript API, Webkit adds <a href="http://webkit.org/blog/130/css-transforms/">CSS coolness</a>, Opera comes up with <a href="http://my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension">Canvas 3D</a> and Internet Explorer with awesome new events like recently featured <a href="http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx">hashchange</a>. Now even Google comes up with <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">their own browser</a> and Gears is therefore becoming a own standard for that very own browser.</p>
<p>If you look at all that development however, it&#8217;s becoming very clear that it&#8217;s NOT the same than 10 years ago. I believe the overall idea behind it is different: Browser vendors are not actively trying to lure people to exclusively use their browser, but they&#8217;re trying to push the standards for the first time in 10 years &#8211; <strong>they want to push the web  </strong>.</p>
<p>As a web developer, one might think it&#8217;s all a big mess now, and it does help nothing to their very own situation, because they cannot use the new standards of one browser in their new product &#8211; what about the other 75% of their target audience? And then, I&#8217;m not even sure if that feature survives in 2009!</p>
<p>Here is the point where I come in, as a JavaScript library developer. What we library developers can do is smoothen the path for these poor web devs. There are two ways of doing so:</p>
<ol>
<li><strong>The Copy approach</strong>: Replicate an existing standard on other platform with the help of JavaScript</li>
<li><strong>The &#8220;Lowest common multiple&#8221; approach</strong>: Take a couple of different standards across browsers and create a subset that can be used across browsers</li>
</ol>
<p>Let me show you one example for each approach to better show you pros and cons:</p>
<ol>
<li><strong>The Copy approach: Google&#8217;s <a href="http://excanvas.sourceforge.net/">excanvas</a></strong><br />
<em>excanvas</em> tries to bring the <em>&lt;canvas&gt;</em> element to Internet Explorer by using VML. While I think it&#8217;s a great project, it has some fundamental flaws: <em>excanvas</em> is not able to replicate the whole canvas API using VML. Although they&#8217;ve done a fair job of porting most of the features, some are missing simply because it&#8217;s not possible/too slow/too much work to port them.This makes developing for it fairly difficult, because you never now exactly what behaves how.</li>
<li><strong>The &#8220;Lowest common multiple&#8221; approach: <a href="http://api.dojotoolkit.org/jsdoc/dojox/HEAD/dojox.gfx">Dojox GFX</a></strong><br />
The Graphics engine of Dojo creates a own API and uses several different standards to render the exact same result. The advantage here is pretty clear: By defining what to support and what not in a limited subset, a web developer can be sure that whatever he uses here, even the most awesome, cutting-edge features, will work on every platform.</li>
</ol>
<p>In my personal option, the second approach is the one that helps defining new standards. It&#8217;s the library developer in the end that reviews all standards and tries out what&#8217;s possible and what&#8217;s not, and therefore, the library developers opinion weights a lot. The library developers are the ones that have the power to bring new features to web devs as early as possible &#8211; not the browser vendors.</p>
<p>Cheers!<br />
Paul</p>
<p>(What I talked about in this post is something i will feature again in <a href="http://ajaxexperience.techtarget.com/east/html/effects.html#PBakausJS">my session for the Ajax Experience</a>. If you have a change, I invite to check it out!)</p>
]]></content:encoded>
			<wfw:commentRss>http://paulbakaus.com/2008/09/02/how-library-developers-help-defining-standards/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

