Condividi tramite


ECMAScript 3 and Beyond

There have been a number of blog posts recently about JavaScript developments, e.g. Gabriele Renzi’s "ECMAScript 4, the fourth system syndrome". For ECMAScript, we here on the IE team certainly believe that thoughtful evolution is the right way to go; as I've frequently spoken about publicly, compatibility with the current web ecosystem - not "breaking the Web" - is something we take very seriously. In our opinion, a revolution in ECMAScript would be best done with an entirely new language, so we could continue supporting existing users as well as freeing the new language from constraints (including the constraint of performantly supporting scripts written in the old language). My colleague Pratap (our representative on the ECMAScript Technical Committee) with the JScript team, just posted on their blog about some work they've done on this topic. We're also very interested in feedback from JavaScript web and framework developers on their thoughts about their needs and the future of the language.

Chris Wilson
IE Platform Architect

Comments

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    I don't think the answer is "don't touch it, it's (mostly) working" - but it is a call for caution as we evolve Javascript.

  • Anonymous
    October 30, 2007
    I would be quite happy if IE supported the existing ECMAScript DOM Methods, Properties and Events (DOM level 1, and DOM level 2) IF IE can accomplish this, then anything beyond would just be icing on the cake. Forget 2 years ahead, IE needs to catch up to 2 years ago! tony

  • Anonymous
    October 30, 2007
    Actually, I would like to just state that a link to the "JScript" blog would have been much better if we had known about this yonks ago! http://blogs.msdn.com/jscript/ I didn't know there was such a beast! (maybe it should be in the sidebar?) ah, wait, it appears to have magically appeared! thanks

  • Anonymous
    October 30, 2007
    I'm not sure where "2 years ahead" comes from.  Note that the Javascript language implementation and runtime, and the IE object model (including DOM L1/2 P/M/E) are separate beasts.  The DOM is specified by the W3C DOM specs, not the ECMAScript language specification.

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    Appendix E http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html

  • Anonymous
    October 30, 2007
    I am really loving the new ECMAScript, however I agree that IE needs to take a more practical approach and focus on supporting already well-established standards.

  • Anonymous
    October 30, 2007
    I'd hardly call the changes over-engineered. They seem largely practical to me. Oh, and Java shares only a single syllable with JavaScript, they are otherwise unrelated. As for parallel language hosting, IE could always start using the correct MIME-type for javascript for the version of the language that exposes the new features: script type="application/x-javascript"

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    I'd like to see IE supporting <canvas>, SVG and th e none accomplished ARIA Specifications. Tx ;)

  • Anonymous
    October 30, 2007
    JScript isn't even ECMAScript compliant, let alone JavaScript compliant. The linked blog-entry is suggesting that some JavaScript behaviours in other browsers are actually bugs and that JScript's behaviour in these cases is better. Well, if Microsoft thinks so I guess they will have to contact the Mozilla Foundation since they are maintaining JavaScript...

  • Anonymous
    October 30, 2007
    « not "breaking the Web" » The web is already broken, so just fix your browser and we're going to fix the web.

  • Anonymous
    October 30, 2007
    Don't sweat it Chris, it's going to be an open standard, IE doesn't concern itself with those pesky things.

  • Anonymous
    October 30, 2007
    Please fix your JScript and DOM first. document.getElementById should NOT return elements by NAME. allow prototyping of ALL objects, including DOM and XMLHttpRequest Fix you DOM Event model element.getAttribute should return the EXACT VALUE OF THE ATTRIBUTE, for all attributes on all elements. Should I go on?

  • Anonymous
    October 30, 2007
    And would you please let us pass additional arguments to setInterval and setTimout? http://developer.mozilla.org/en/docs/DOM:window.setInterval#Syntax

  • Anonymous
    October 30, 2007
    This is clearly FUD. You mention ES3 in the headline and then link to a negative article about ES4. You suggest a new language but have not participated in the design of ES4 at all. You say that "Microsoft" think that the web is best served by the creation of a new language. Your name is at the bottom of this article. What do you think?

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    "For ECMAScript, we here on the IE team certainly believe that thoughtful evolution is the right way to go; as I've frequently spoken about publicly, compatibility with the current web ecosystem - not "breaking the Web" - is something we take very seriously." This seems to imply that es4 is not compatible with ES3.  Is that what you mean to say?  The second sentence of the es4 whitepaper starts with "ES4 is compatible with ES3..."  Section III details compatibility starting with "The goal of TG1 is that ES4 will be backward compatible with ES3 and that ES4 implementations will be able to run ES3 programs correctly.  This goal has been met, with a small number of qualifications. "   The fifth paragraph of that section says "Behavioral changes in ES4 are the result of specifying behavior more precisely than in ES3 (thus reducing the scope for variation among implementations)"  which is I believe what you are advocating here in terms of converging implementations. So if you are raising specific concerns about es4 "breaking the web" can you please elaborate?   Or are you arguing that no backward-compatible additions should be allowed to the language?  C# 2.0 added generics, generators with yield, closures, covariance and contravariance for delegates, Coalesce operator, etc. 3.0 adds "features inspired by functional programming languages such as Haskell and ML. (to quote wikipedia).   Why didn't that occur in a new language instead of as a new version of C#?  Why is it appropriate to add new stuff to C#, Java, Python, etc but not JS? http://www.ecmascript.org/es4/spec/overview.pdf

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 30, 2007
    Who wrote the code to implement document.getElementById(id) ? And are they still on the team?  If so, can you please direct them to the specs so they can fix it! Its only a completely messed up and embarassing implementation. Bug #152, Wrong elements returned http://webbugtrack.blogspot.com/2007/08/bug-152-getelementbyid-returns.html And lets not forget Bug #154, Matches case insensitively http://webbugtrack.blogspot.com/2007/09/bug-154-getelementbyid-is-not-case.html Bug #235, createElement is broken too! http://webbugtrack.blogspot.com/2007/10/bug-235-createelement-is-broken-in-ie.html Bug #242, the setAttribute implementation is a joke http://webbugtrack.blogspot.com/2007/08/bug-242-setattribute-doesnt-always-work.html Bug #256, DOM constants are not implemented http://webbugtrack.blogspot.com/2007/10/bug-256-dom-nodetype-constants-are-not.html Come on!  Never mind ECMAScript 4, fix what has already shipped! David

  • Anonymous
    October 30, 2007
    At this point, shouldn't you be fired?

  • Anonymous
    October 30, 2007
    What we need most regarding JavaScript in IE is a clear statement of Microsoft, which way you will go. There is nothing more annoying than uncertainty. We just need something we can plan with. If Microsoft decides not to update JavaScript in IE I would like to know it so I can plan with it. If Microsoft plans to update their JavaScript implementation I would like to know this as well. Personally I'm not that excited about ES4 but what I really would like to see are the newer additions to JavaScript like the generator stuff in JS1.7 or E4X. If I knew this will be supported by IE in a timely manner I may start using this right away and wait for MS to catch up. And of cause better performance is always needed ;-)

  • Anonymous
    October 30, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    >  Note that the Javascript language implementation and runtime, and the IE object model (including DOM L1/2 P/M/E) are separate beasts. Well, there's your problem right there.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    Why in the world are you saying this now. ES4 has been in development for forever now. Theres already a reference implementation written, and half of the other browsers out there have implemented large parts of it. And just now, when everything is said and done , the stardards are set, people are working on real complete implementations, just now you decide to speak up and say, "We don't like this. We're going to make something else instead?" and then sit back shocked and appalled when people are kinda miffed. You should have spoken up a year ago. Luckily, Mozilla is working on writing your ES4 implementation for you and fixing your ES3 one, so regardless of what you do people can keep working.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    ScreamingMonkey to save the day. Hopefully soon.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    @Dan - <em>And would you please let us pass additional arguments to setInterval and setTimout?</em> I fixed both some month ago (my blog) and the hilarious thing is that to fix them You need to use an IE bug (ooops ... do You prefere to call them feature?) :D "<blockquote>Please note that usage of window.setTimeout, instead of direct setTimeout assignment is a must, because if You remove window from left side IE will tell You that operation is not valid while if You remove window from righ side, IE simply will never do anything with those two functions.</blockquote>" http://webreflection.blogspot.com/2007/06/simple-settimeout-setinterval-extra.html

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    For the viewing readership, "violating" my NDA, seems to largely consist of speaking as a former Microsoft insider who worked on four versions of IE. Chris is of the opinion that if I wasn't allowed to say something in public a year and a half ago when I worked at Microsoft, I still cannot say it now, so I believe he's referencing my comments about the Scripting team at Microsoft. I will keep this in mind in the future but I still think this seems like a fairly petty (and arguable) example, along with the one you made about my post on my blog about the demise of MS Connect. It is pretty common knowledge, for example, that the IE team was broken up after Windows XP shipped for several years. Do I violate my NDA by stating something that people outside MS already know, just not officially? Maybe I need to make a "Fake Dean Hachamovitch" blog and be anonymous when posting comments on my blog about the state of IE.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    Many of us are not so concerned about the direction we are going, but instead, that everyone is going in the same direction. If the large majority of the community decides to follow a path different to that proposed by Microsoft, will Microsoft support the community or go its own way?

  • Anonymous
    October 31, 2007
    I agree with Garrett, Alex, Al and Dean.   MSFT would be wise to start concentrating more on engineering than FUD.  By not subscribing to ES4 or cooperatively helping to evolve it, etc it seems to me to be yet another bad decision leading to their continued demise in the browser space. Good riddance, the way it's been going. They have continued to clearly demonstrate they are not interested in what is best for the web or consumers.  Quite the contrary. (FF has 35% market share and rising) "no matter how far down the wrong road you've gone... turn back" - proverb.

  • Anonymous
    October 31, 2007
    @Mark Holton - Microsoft employees HAVE been attempting to cooperatively help evolve it in the EMCAScript TG-1 committee.

  • Anonymous
    October 31, 2007
    and @Al Billings, I would TOTALLY read the Fake Dean Hachamovitch blog.  On a daily basis.

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    October 31, 2007
    Except the rest of the browsers will be implementing ES4 and web developers are going to be forced to choose again whether they want to restrict what they develop based on Microsoft's support or lack of support for a technology or standard or to just go ahead and continue to try to move people off of IE. I expect it is going to wind up as the latter.

  • Anonymous
    October 31, 2007
    ...or perhaps we could all just work together and cooperatively define a standard that we all agree on, and we wouldn't have that problem, Al.

  • Anonymous
    October 31, 2007
    I thought that's what had been going on for the last while with ECMAScript 4, Chris. That's kind of the point of a standard and a standards process. Microsoft may not get entirely what it wants out of it but it has a say, just like anyone else. The question is whether, after you have your say, if you'll implement the resulting standard or not.

  • Anonymous
    October 31, 2007
    You know what would be funny.  If roles were reversed.  I remember Apple being the little kid that tagged behind Microsoft's great achievements in development and the wide variety of applications.  Heck, up until a few years ago, Apple ran IE.  Now, it seems, Apple is the innovator.  Maybe, Microsoft (and IE specifically) should tuck their tail between their legs and switch to Safari or a Webkit-based engine for IE.  That would fix a lot of problems that exist in IE's rendering engine.  Apparently the old one is not being fixed for a reason, so switch it out.  Some would say Gecko would be a better option, but looking at the codebase, I would disagree.  Webkit is cleaner and leaner and has more potential in my opinion.  Either way, the time has come for change or application demise.

  • Anonymous
    October 31, 2007
    Can someone give me one 'thing' that can't be done in ES3 that can in ES4?  I'm not talking about making things easier.  I'm talking about actually producing something different, like XMLHTTP gave us (of course, this could be done with IFrames). Until then, I think the millions of 'average' programmers would rather just have the bugs worked out.

  • Anonymous
    October 31, 2007
    Again no mention of anything going on with IE8. The lack on information on the subject of this blog makes me wonder. Should you not rename this blog the NoIE Blog?

  • Anonymous
    October 31, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    In the 10+ years I've been doing web development,  limitations of ECMAScript/Javascript have ALMOST NEVER (99.9% of the time) been an issue.  My obstacles have usually been browser implementation of existing standards -- or rather, the lack thereof. I suspect that the IE team and Microsoft in general will be facing an increasingly hostile crowd when it comes to web standards.  Your company's silence on its future direction leaves many of us with the impression that IE will (once again) be abandoned. IE has the lion's share of users right now: by not focusing on the LONG-EXISTING STANDARDS Microsoft doesn't "break the web": it merely causes it to stagnate. Everything else at this point is like debating about what color you're going to paint your personal space station, or spending your winnings before even playing the lottery. Stop these token "rah rah, we're still alive" blog posts and start making some substantial announcements.  

  • Anonymous
    November 01, 2007
    @Cal Jacobson: focusing on the LONG-EXISTING STANDARDS is precisely what the IE team has been doing for, oh, the past three years.

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    @Jason: clearly, Javascript runtime was not a major focus in IE7.  We fixed some garbage collection problems, and a few other relatively scoped issues.  Our focus was on CSS layout improvement, and to a much lesser degree object model/ajax apis (such as the native XHR object).  I don't think I claimed otherwise?

  • Anonymous
    November 01, 2007
    But that begs the question, Chris, of what the focus is for IE8 since we all know, as of more than a year ago, what the focus for IE7 was...

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    "@Cal Jacobson: focusing on the LONG-EXISTING STANDARDS is precisely what the IE team has been doing for, oh, the past three years." My choice of the word "focusing" was poor.  What I meant (and should have written) was implementing. IE7 does not fully implement CSS2, a standard that has been out since 1998.   "Focusing" (and again, I admit, the choice of the term was mine) is a weasel word, since one can focus on something all day and not accomplish a thing. I didn't come here eager to throw stones, Chris -- but there are a LOT of technical folks out there (many far more talented than I) who are less than thrilled with the pace at which Microsoft has moved and the priorities it has chosen. More specifically, I am unhappy with the lack of communication out of Microsoft regarding the future of Internet Explorer.  If I were a betting man, I'd say Microsoft plans on a repeat of its post-IE6 performance from 2001-2004...that is, very little in the way of innovation or even evolution. I hope I'm wrong.  But I haven't heard anything concrete to the contrary, and for the live of me I can't figure out why IE8 is such a friggin' state secret when the other browser developers work out in the open.

  • Anonymous
    November 01, 2007
    Chris, I understand what you mean to say when you talk about "breaking the Web." And it's a convenient shorthand for the IE team's self-imposed requirement of 100% backwards compatibility for the next version of IE. But it's starting to feel like a talking point — like "support the troops" — that only serves to polarize. Though I'm sure it's not your intent, the phrase suggests that the answers are clear-cut — that there's no room for disagreement among smart people about what will "break" the web and what won't. The IE team's definition of a "broken" Web is similar to, but not wholly compatible with, my definition of a "broken" Web. I don't speak for others, but I sense this is a source of conflict between IE and many web designers and developers.

  • Anonymous
    November 01, 2007
    The comment has been removed

  • Anonymous
    November 01, 2007
    Personally I'm not that excited about ES4 but what I really would like to see are the newer additions to JavaScript like the generator stuff in JS1.7 or E4X. If I knew this will be supported by IE in a timely manner I may start using this right away and wait for MS to catch up.

  • Anonymous
    November 01, 2007
    well i would love to see IE supporting CSS2.1 and CSS 3.0 beta, the correct way of using javascript standards, SVG images (wikipedia is full of them), transparant .png-8, .png-24 images, ... etc :)

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    As a person who works with Microsoft technologies and Javascript every day, I have my opinion on this matter. ASP.NET AJAX (Microsoft!) developers had to implement ugly get_/set_ accessors since IE does not support property accessors. They had to introduce another level of event abstraction, since "both Safari and Firefox have extensible DOM Element prototypes whereas IE doesn't" (http://weblogs.asp.net/bleroy/archive/2006/11/06/DOM-events-in-the-Microsoft-AJAX-Library.aspx). There is Microsoft fighting to workaround itself. If IE will implement ES4 as described in the spec preview I've read, I, as a JS developer, would applause. I do not care much if I would have to opt-in my script to be ES4 -- as long as my opted-out scripts will function. Alternative languages are good -- IronPython, IronRuby, JScript.NET, whatever. But ES is a must. Because it is a standard, and it is much easy to have a wide adoption of a single standard language than of a number of them. Also, personally, I think that ES4 is one the most interesting and promising programming languages I have seen in the latest time. It has some features I wanted from C# for years. It would be great if ES4 gained widespread adoption. Does your new language have such a beautiful operator overloading model and does it have multimethods? If it doesn't, sorry, I would vote for ES4.

  • Anonymous
    November 02, 2007
    @Cal Jacobson "I can't figure out why IE8 is such a friggin' state secret when the other browser developers work out in the open." Because there is no development of IE 8 at this time. Maybe in the beginning of 2008 they will only start doing something.

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    "Define the opt-in proceedure, for IE(next) to ensure that .getElementById(id) does in fact ONLY return elements with a matching id attribute! (only by id, and CAse-SEnsITivE!)" They already said they're not going to do that (it would break code on the web, and it appears Microsoft values compatibility - seems like keeping things "working" is more important than appeasing whiners). I do not know why people keep going after this particular thing, but I NEVER run into this problem at my job. Of course, I typically give form elements the same value for their CLASS and ID attributes (since the LABEL tag FOR attribute expects an ID, not a NAME, and wrapping the control inside the LABEL tag does not always work - and for people who do not know what a LABEL tag is and develop pages with any sort of form elements, "thanks" for not valuing accessibility). Please implement Live Bookmarks (RSS) if you guys can in IE8 (regardless of the UI problems menus have, they're good for displaying a list of headlines!). It's one of those gotta-have features for me that keeps me from using your browser when I am not at work.

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 02, 2007
    The comment has been removed

  • Anonymous
    November 03, 2007
    The comment has been removed

  • Anonymous
    November 03, 2007
    @Anphanax: If you like Firefox's Live Bookmarks, you'll probably like Dave Risney's free addon.  Check it out here: http://www.enhanceie.com/ie/FeedFolder.asp

  • Anonymous
    November 03, 2007
    As a professional web developer, I'm glad to see that the IE team is finally concerned with not “breaking the web”. The rest of the world caught up with that idea about five years ago: welcome to the party. As at least one other person has suggested, do the switch based on the MIME type. It's simple, it's easy, and anybody who wants the new features will be smart enough to read the by-then-gazillion-warnings that will have been posted up to instruct them to do the right think on their servers/in their markup. Does IE even check the type attribute, actually, or is it just on the nonstandard “language” value? In any case, the IE team is in no position to kick up a fuss about breaking the web. IE broke it in the first place, and those of us who get paid to build sites on a daily basis have been picking up the pieces ever since. You know how most standards-compliant accessible web development shops work? They build on KHTML or Gecko, and then once it's done, they go back and patch it all up for IE7, IE6 and IE 5.5 (in that order) with conditional comments and the like. There's a whole separate build cycle just to make sites work in various versions of IE. Do you guys understand the significance of that, or the cost to the industry? Sure, IE 7 is less trouble than IE 6, and IE 6 is less trouble than IE 5.5, but compared to everything else out there they're all still a complete mess. Seriously, right now, none of us care about ES4. It's a hypothetical for at least the next five years anyway (because of backwards-compatibility constraints), and the solution to forward compatibility issues in the browser is trivial when you've ignored the standards indicators for so long. What we DO care about is what you people plan to do next in terms of mopping up this spilt milk—whether it's IE 7.1, IE 8, or “IE Next Generation”: engage, inform, and get web developers on side for once.

  • Anonymous
    November 03, 2007
    IE didn't break the web. IE lead the way for the better part of a decade. I'm not all that concerned that IE doesn't fully support CSS2, nor am I concerned that IE doesn't support CSS3 at all. What does concern me is that CSS is the only standard we have for the presentation of (X)HTML, and I think it is severely broken. Why does it not harness dynamicity of DOM objects for layout capabilities? Something as simple as making columns with relative and bound sizing is an effort and a half compared to what we did before CSS with tables! Anyhow, my personal feeling about JavaScript is that I would rather see it buried and die than be re-invigorated. I hate developing with JavaScript, and not because of IE specific bugs. Sure, the standard might be alright and the language might be well written, but I don't think it's as suited to the web now as it was many years ago. I'm very much in support of breaking away from ECMAScript and formulating a new spec that's vastly more suited for web programming and AJAX-type applications. Where my opinions lie, however, is that said spec should be implementable as an API with bindings to multiple lanaguges, much like .net.

  • Anonymous
    November 04, 2007
    "Where my opinions lie, however, is that said spec should be implementable as an API with bindings to multiple lanaguges, much like .net." ES4 lets you write a variety of code styles; procedural, functional, (prototype or class based) OOP. Further, GWT and Haxe prove javascript is a realistic compilation target. I suggest you look at IronMonkey and screamingmonkey, it's a shame Mozilla/Adobe are having to do this work but as the bugs in JScript and MSIE DOM prove -- Microsoft don't care.

  • Anonymous
    November 04, 2007
    @Keith I don't know what kind of work you do, but the great majority of web developers most certainly do care. The fact that CSS 3 has been moving so slow, is the reason you don't have better support for things like columns. All browser manufacturers except for MS have implemented parts of CSS 3. Previous versions of javascript were tailored for what was envisioned that they would be used for. At this point, like or not, that includes rich internet applications. As Actionscript and PHP developers found out, such a switch in focus requires major changes in the core language. Both development communities have lived through that transition just fine thank you very much. We don't need another language or a bloated, confusing multilanguage runtime. ES4 is more suited to AJAX. I suggest you read the spec. The typing system and the fact that you no longer need to run JSON through eval, make it much more secure for starters. The OOP structure and the package namespace, in my opinion will cause open source javascript development of frameworks and other scripts to explode. None of this, including somehow managing to stuff a server side language like python or ruby into a suitably secure sandbox environment will fix IE's IMPLEMENTATION of the DOM and event models. That is a separate issue. As I said before, I don't really buy the excuses on that, but the idea that it isn't important, is simply not true.

  • Anonymous
    November 04, 2007
    The comment has been removed

  • Anonymous
    November 04, 2007
    A new language all together? Isn't that what ECMAScript is? Microsoft implemented JScript, which is their implementation of JavaScript. If they start with the ECMA-specs and the W3-DOM-specs we would be well on our way!

  • Anonymous
    November 04, 2007
    "Compatibility with the current web ecosystem - not "breaking the Web" - is something we take very seriously." All I have to say is that it's hard to take this seriously when IE7 doesn't respect web standards. Unlike Firefox.

  • Anonymous
    November 05, 2007
    I haven't seen one on this blog yet, but a survey/poll would be very handy. Put out a poll, with a simple set of answers that cover all your needs.  Let them run, analyze the results, and take them into consideration for future releases. Suggesting for your first poll. Q.#1) The JavaScript implementation of document.getElementById( id ) in Internet Explorer deviates from the specification (add link to it).  Based on this, please choose the statement that best matches your view as a developer: a.) Does not affect me, I am diligently ensuring my code does not trigger this bug. b.) I depend on the broken implementation in IE. c.) I am aware of the bug, but have written/used wrapper code to workaround the bug, therefore it does not affect me. d.) I have no idea if the bug affects me or not. Q.#2) Based on your reply to question #1, which approach to fixing this would you prefer? a.) Fix the method. b.) Leave it broken. c.) Fix the method, but allow developers a way to access the old version (for compatibility). d.) Either a or c. I would be voting for: 1c, and 2a or 2d. Once all the votes are in, take a look and see if anyone is answering 1b, or 2b. I honestly can't imaging any developers choosing these options, but maybe I'm mistaken. ron

  • Anonymous
    November 05, 2007
    @Howard: "Second, the label tag was never meant to "wrap" the input field, and as you've noted, doing so in IE will render unpredictable results." Time to brush up on your specs: http://www.w3.org/TR/html4/interact/forms.html#h-17.9.1 The definition of the "for" attribute states: "When absent, the label being defined is associated with the element's contents." There is also an example of such "implicit" association. It is only IE that does not propagate focus on such label to the associated control element. By the way, the best way to deal with the "for"-attribute in JS is to use element.htmlFor='feature_3345' - that works consistently across browsers contrary to using setAttribute()

  • Anonymous
    November 06, 2007
    Generally, I think I can understand your scepticism towards the rampant growth of in ES4, which I share (e.g. turning a prototype-based language into a class-based language with interfaces seems pretty strange to me). But some also pointed out, that your company may just have come late to the party, when ES4 had been pretty settled. There is another area, where something similar could be happening, namely WHATWG/"html5". I don't know if I entirely like the fact that an html5 effort from the W3C had to come about, but just like ES4 it will come. I hope that at that time Microsoft will not state that nobody has talked to them, that the standard is broken and that Microsoft is rather committed to "not breaking the web" as it presently exists. This is not meant as an offence but I get the impression that MS as a company is not terribly interested in evolving technical specifications unless your own company dominates them (e.g. Silverlight, .NET, OOXML).

  • Anonymous
    November 06, 2007
    I meant: I don't know if I entirely like the fact that an html5 effort separate from the W3C had to come about...

  • Anonymous
    November 06, 2007
    @ronald: No, no one would answer 1b or 2b.  That's exactly the point-- the people who built the sites that rely on broken behavior aren't going to bother answering a poll any more than they are going to bother writing correct HTML/Script code. Why should IE make the user suffer for the web developer's laziness?  He doesn't care, he probably got paid and left the building a looooooong time ago.

  • Anonymous
    November 06, 2007
    Can we get a heads up on how far along the fixes are for the DOM before we get into a heated ES4 debate? Please tell me that all the methods are fixed now (based on an opt-in flag), and that IE8 will be shipping with this fixed. and if you are not going to tell us that, do you mind telling us what you are working on? its not like you haven't had time to fix this mess by now!

  • Anonymous
    November 06, 2007
    "Why should IE make the user suffer for the web developer's laziness?  He doesn't care, he probably got paid and left the building a looooooong time ago." The same could be said to maintain the status quo. Someone wrote something dependent on incorrect behavior from Internet Explorer, and they're no longer employed at the organization they authored it at. It will take time (and therefore probably money) for a business to go in and fix the bad code. I would like to see things get fixed too, and I am curious what priorities some of the incorrect behaviors and missing features will be/have been given for IE8. I really hope someone gives the IE team enough of an excuse to fix the button stretch problem (not enough text + width too wide = ugly pixelated buttons). I can understand them not spending time on the HR margin thing. "If you like Firefox's Live Bookmarks, you'll probably like Dave Risney's free addon." It's a huge step up from having no live bookmarks. It's missing a "Reload Live Bookmark" command on the context menu for a feed, and there are some behavioral differences (e.g. I move the live bookmarks to the Links toolbar [which I need to find a way to remove the "Links" text from as it is stealing screen real estate], so they're right there above/below the address bar - but they do not behave like true menus. If I open a feed, and mouse over another one, I expect that one to open like a menu would).

  • Anonymous
    November 06, 2007
    When will you all (safari, IE, Firefox, and all the other browser dev teams) sit in front of a round table and get the specs straighten out? I like the fact that you guys belive "thoughtful evolution is the right way to go". But if your thoughtfulness doesn't get distributed across everybody, we the actual web developers will have to suffer at the end. Look at Firefox, they released a bunch of new javascript features that only supports on itself. No, IE didn't follow. Nope, Safari didn't follow. Sigh....

  • Anonymous
    November 06, 2007
    O Internet explorer é o melhor navegador do MUNDO !!!!!!!!

  • Anonymous
    November 07, 2007
    The comment has been removed

  • Anonymous
    November 07, 2007
    Will there be any fixes/patches for zooming in IE7? I've noticed that on any site that has frames or iframes that the rendering gets all messed up if you zoom in (e.g.100%+) text starts to overlap table cells, form controls start doing weird things (some parts grow, some parts don't) thanks

  • Anonymous
    November 07, 2007
    As stated previously on many occasions, the IE team is hard at work on the next version of IE. We will disclose more about the features and schedule in due course.  I look forward to blogging the details on what I'm working on.

  • Anonymous
    November 07, 2007
    @EricLaw [MSFT] "the IE team is hard at work on the next version of IE." And you really do believe this? :-)

  • Anonymous
    November 07, 2007
    I'm not writing to bash MSFT, but I'd seriously like to know how withholding info about IE8 is in any way helping the web development community. I have yet to hear anyone other than MSFT call IE7 something other than a disappointment. Not to mention the fact that after 5 years of supposed development MSFT has given us yet another browser that doesn't adhere to any standard. @Chris Wilson It's no surprise that you would lean toward an "entirely new language"; which would no doubt end up being proprietary, non-interoperable, closed, and buggy without any developer support. With so few improvements between IE6 and 7 why should the development take you seriously.

  • Anonymous
    November 07, 2007
    ES4 lets you write a variety of code styles; procedural, functional, (prototype or class based) OOP. Further, GWT and Haxe prove javascript is a realistic compilation target. I suggest you look at IronMonkey and screamingmonkey, it's a shame Mozilla/Adobe are having to do this work but as the bugs in JScript and MSIE DOM prove -- Microsoft don't care.

  • Anonymous
    November 07, 2007
    Mmoss-- Plenty of people think IE7 was a significant improvement.   "After 5 years of supposed development" indicates that you don't read the news.  Microsoft themselves indicated that they worked on IE7 for two years, after a hiatus when they were only working on Vista and patching IE6. Anyone who accuses Chris Wilson of trying to drive something proprietary doesn't know him.  Read his blog.

  • Anonymous
    November 07, 2007
    @rc Given the man works for MS, quite possibly in the IE team, I'd trust him any day of the week over your incessant bleating.

  • Anonymous
    November 07, 2007
    @rc You're joking right?  I believe Eric Law is an IE Program Manager.

  • Anonymous
    November 07, 2007
    @simon Thats what we want!!!

  • Anonymous
    November 08, 2007
    @An However, anyone can get evidence that real facts at this moment conform with my "incessant bleating" and not with the words of my opponents. We will not hear any substantial news from IE developers in 1.5-2 next years at least. That is what I state, and everybody sees that I'm right. Of course, MS developers will never confess that development of IE is not going on.

  • Anonymous
    November 08, 2007
    rc, The fact that the team is not saying anything about IE8 does NOT mean that no development is taking place. You may well be right that it could be some time before we hear substantial information. However I can't believe that the IE team is doing nothing or that the IE team has been disbanded only to be reformed later. Both those alternatives make no sense. Chris Wilson talked about the investment currently going on in layout in an interview at http://www.sitepoint.com/blogs/2007/10/01/wds07-bonus-feature-chris-wilson-microsoft which clearly implies that development on the future of IE is taking place. I share your frustration with the lack of information and the apparent slow pace of progress. However your suggestion that absolutely no development is taking place makes little if any sense. To have a team doing nothing or break up the team to reform it later would be ridiculous after Microsoft admitted that the break after IE6 was a mistake. -Dave

  • Anonymous
    November 08, 2007
    @EricLaw[MSFT] re: 'in due course' yeah, that uhm date... passed by about NINE MONTHS AGO! As mentioned by everyone on this blog, you do the entire dev community a massive disservice by not posting any information. Heck! we had to read on another blog that there was potentially a re-engineering of the Rendering Layer in IE8! Where was the post on the OFFICIAL IE BLOG about this? -- Severely Ticked Off

  • Anonymous
    November 08, 2007
    Microsoft is suffering from the not-invented-here syndrome. I can understand they want to include a browser with the OS, but just cut your losses and use one of the open-source engines that are available right now and don't need another year of development. There are two very good engines out there that are years ahead of trident. Both WebKit and Gecko work very well and are quite fast. I'm sure both groups would welcome additional developers. I can't think of 1 valid reason to keep trident alive, it's a walking corpse already.

  • Anonymous
    November 09, 2007
    @rc "anyone can get evidence that real facts" Facts?  You mean your imagination?  There has been no evidence that nothing is being done.   There's no requirement for MS to say anything about IE8, in fact this has been a long running policy over at Apple and it hasn't done them any harm. Microsoft were hammered for information they released about Vista that they couldn't deliver (such as WinFS) so my guess is they're wary about what they reveal early on in the cycle. Sure, early information gets people excited, but if it's dropped / transformed / watered down in some way the picture quickly changes. Better to know exactly what you're going to ship before announcing it.

  • Anonymous
    November 13, 2007
    Web Developer(s) want to ask the IE Team a question: Do you wish to Cancel or Allow? Allow. Web Developer(s) would like to know if development has Started, is in Progress, or is Complete in regards to fixing & implementing broken or missing DOM Methods and Properties? Do you wish to Cancel or Allow? object(ive) is undefined


Internet Explorer You chose to end the nonresponsive program, Internet Explorer.


The program is not responding. Please tell Microsoft about this problem. We have created an error report that you can send to help us improve Internet Explorer.  We will treat this report as confidential and anonymous. To see what data this error report contains, click here.   [Send Error Report]    [Don't Send]