<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx</link><description>How do we decide whether to implement a feature that isn’t included in a standards specification? Like all browser providers, we often have to make this decision. In this post, I’ll use some real-world JavaScript examples to illustrate some of the principles</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10057094</link><pubDate>Thu, 02 Sep 2010 03:30:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10057094</guid><dc:creator>grinder mill</dc:creator><description>&lt;p&gt;haha&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10057094" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10056723</link><pubDate>Wed, 01 Sep 2010 09:31:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10056723</guid><dc:creator>Mitch074</dc:creator><description>&lt;p&gt;@André R.: +1&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10056723" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10056706</link><pubDate>Wed, 01 Sep 2010 08:29:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10056706</guid><dc:creator>André R.</dc:creator><description>&lt;p&gt;&amp;gt; &amp;nbsp;function declarations anywhere in a statement&lt;/p&gt;
&lt;p&gt;Simple, allow with a notice or warning in console if your running IE9 mode and disallow totally in &amp;quot;use strict&amp;quot;; mode.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10056706" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10056352</link><pubDate>Tue, 31 Aug 2010 16:11:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10056352</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;Your first example about the /]/ vs /\]/ RE inadequately demonstrates what you want to convey. &amp;nbsp;First, you admit that the standard specifically says /]/ is illegal, you tell us why, then you imply this is a form of &amp;quot;consensus feature.&amp;quot; &amp;nbsp;You define &amp;quot;consensus feature&amp;quot; as an implemented &amp;quot;feature&amp;quot; that&amp;#39;s not part of a standard. &amp;nbsp;You saying the illegal /]/ (by the standard) is a feature not part of a standard conflicts with itself.&lt;/p&gt;
&lt;p&gt;For this example it&amp;#39;s best to note that this broken-ness is ultimately the website implementor&amp;#39;s fault for not coding for standards, but also the browser maker&amp;#39;s fault for also not implementing the standards. &amp;nbsp;In this example, neither party followed the standards, and thus both have made this standard worthless. &amp;nbsp;Implementing /]/ as if it were legal simply because there isn&amp;#39;t a matching [ and thus it is parsable is a standards implementation issue and ultimately not relevant.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10056352" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055468</link><pubDate>Sun, 29 Aug 2010 08:11:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055468</guid><dc:creator>Mitch074</dc:creator><description>&lt;p&gt;@Allen Wirfs-Brock: I didn&amp;#39;t mean that IE copies the other browser (you&amp;#39;d have integrated Webkit&amp;#39;s KHTML if that were the case), &amp;nbsp;but that in cases where practices deviate from the standard in a not-too-dangerous way, you do as other browsers do. Which is not so bad, after all.&lt;/p&gt;
&lt;p&gt;However, I&amp;#39;d really like an answer on my idea of warnings in case of standards-deviating code that is still parsed and run by IE - is it possible? Can it still be implemented? That would be darn useful if built-in.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055468" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055439</link><pubDate>Sun, 29 Aug 2010 01:08:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055439</guid><dc:creator>Brophy</dc:creator><description>&lt;p&gt;&amp;quot;The whole codec war is over anyway. With MPEG-LA&amp;#39;s announcement of royalty-free streaming for non-pay content forever, WebM is stillborn.&amp;quot;&lt;/p&gt;
&lt;p&gt;Okay. There&amp;#39;s not much I can do for you here. It&amp;#39;s immensely disappointing that you seem to profoundly misunderstand what the MPEG LA&amp;#39;s &amp;quot;announcement&amp;quot; actually means. Whether you&amp;#39;re paying for it or not, it is the MPEG LA&amp;#39;s contention that no usage of H.264 can occur without the largess of their licencing grace. On the bright side, it is with some considerable amusement that I watch people actually defend the abject absurdity of licencing required for the mere *transmission* of a file over the Internet. It really is quite an astonishing case of Stockholm Syndrome.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055439" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055352</link><pubDate>Sat, 28 Aug 2010 15:01:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055352</guid><dc:creator>Clue</dc:creator><description>&lt;p&gt;&amp;lt;&amp;lt;does this mean you&amp;#39;ll be deciding to bundle WebM in IE9 by default&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;Of course not. Instead, they&amp;#39;ll wait for one of their competitors to bundle it (Google, prolly), wait until they distribute a few million copies, and then have MPEG-LA sue for billions.&lt;/p&gt;
&lt;p&gt;The whole codec war is over anyway. With MPEG-LA&amp;#39;s announcement of royalty-free streaming for non-pay content forever, WebM is stillborn.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055352" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055329</link><pubDate>Sat, 28 Aug 2010 11:27:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055329</guid><dc:creator>Brophy</dc:creator><description>&lt;p&gt;&amp;quot;How do we decide whether to implement a feature that isn’t included in a standards specification? Like all browser providers, we often have to make this decision.&amp;quot;&lt;/p&gt;
&lt;p&gt;Extending this line of reasoning, does this mean you&amp;#39;ll be deciding to bundle WebM in IE9 by default?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055329" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055253</link><pubDate>Sat, 28 Aug 2010 00:23:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055253</guid><dc:creator>Allen Wirfs-Brock [MSFT]</dc:creator><description>&lt;p&gt;@Irakli Gozalishvili @ced&lt;/p&gt;
&lt;p&gt;Regarding getter/setter definitions in object literals and trailing commas. &amp;nbsp;Those are features of ES5 and are supported in IE9 standards mode. &amp;nbsp; See my previous post about ES5 support in IE9 for details &amp;nbsp;and a link to the actual ES5 specification. See &amp;nbsp;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more.aspx"&gt;blogs.msdn.com/.../enhanced-scripting-in-ie9-ecmascript-5-support-and-more.aspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;@mitch074&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; IE 9 seems to stick to &amp;quot;what other browsers do&amp;quot;&lt;/p&gt;
&lt;p&gt;Actually I was trying to say something quite different. We don’t just do what other browsers do. We prefer to have a standard to guide us. &amp;nbsp;When we don’t &amp;nbsp;we evaluate each issue in a principled manner as explained in the post. Sometimes the result is that we do “what other browsers do” and sometimes is isn’t. Two of the example I used are for issues where we decided not to do what other browsers currently do. &amp;nbsp;I chose those specific issues to talk about because I wanted to explain exactly why IE9 is not providing some JavaScript features that exist in other browsers.&lt;/p&gt;
&lt;p&gt;@orcmid&lt;/p&gt;
&lt;p&gt;You’re exactly right. &amp;nbsp;The big problem with consensus features is that they are not written down anywhere. &amp;nbsp;Even browser &amp;nbsp;implementers don’t necessarily know what they all are until the go back and reread 10 year old code. &amp;nbsp;This is really a failing of the standards creation process. &amp;nbsp;True consensus features should be incorporated into the appropriate standards. &amp;nbsp; The consensus regexp extensions probably should have been added to ES5. &amp;nbsp;However, as far as I can recall nobody suggested it. &amp;nbsp;Things that are already implemented and work just aren’t thought about a lot. &amp;nbsp;This is something I hope we can do better in the next edition of the &amp;nbsp;ECMAScript specification.&lt;/p&gt;
&lt;p&gt;@David Bruant&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; I think that the correct behavior is to throw an error since an interpreter should help detecting obvious semantic errors and this is clearly one&lt;/p&gt;
&lt;p&gt;The correct semantics isn’t so obvious. &amp;nbsp;If it was, you wouldn’t see different browsers implementing different semantics for const. Typically there are many possible and plausible semantics for a programming language feature. That’s why standards are important. &amp;nbsp;They tell implementers which of the many possible alternatives is the one that is supposed to be interoperable with other browsers. &lt;/p&gt;
&lt;p&gt;Allen Wirfs-Brock&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055253" width="1" height="1"&gt;</description></item><item><title>re: Chakra: Interoperability Means More Than Just Standards</title><link>http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx#10055235</link><pubDate>Fri, 27 Aug 2010 22:42:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10055235</guid><dc:creator>Sigh</dc:creator><description>&lt;p&gt;Troll elsewhere, sloth. You clearly haven&amp;#39;t bothered to read anything about how the web browser market actually works (Hint: users uninstall browsers that don&amp;#39;t work on the sites they like.) and claims that IE doesn&amp;#39;t support &amp;quot;the most basic CSS specifications&amp;quot; indicates that you don&amp;#39;t have any clue what you&amp;#39;re talking about. IE8 has better support for CSS2.1 (the latest recommendation from the W3C) than any other browser.&lt;/p&gt;
&lt;p&gt;Publishing HTML doesn&amp;#39;t make you a &amp;quot;professional web developer&amp;quot;. Professionals have enough pride and integrity to post their rants under their own name.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10055235" width="1" height="1"&gt;</description></item></channel></rss>