Actually, I'd argue that Microsoft's assessment of Acid3 is reasonably fair.
Acid 3 isn't like Acid 1 (sane CSS box model) or Acid 2 (good resiliant consistent CSS2 support) - rather, it tests a whole bunch of random features and JavaScript edge cases. I can perfectly understand why Microsoft would prioritise implementing certain up-and-coming features or improving their rendering speed and stability over implementing parts of Acid3.
It clearly can't be random if four other major browser vendors independently score over 90%, and if:
Firefox 2, a browser released in 2006 and predates Acid 3, scores a 52/100 versus the current IE9 score of 32/100.
The only possible explanations are either a) it's an insidious and well organized campaign to unfairly discredit IE, or b) IE, even unreleased IE9, is way behind everybody.
No matter which you believe, random is not an option.
Sorry, but I don't understand the point you are trying to make here.
By "random features" I mean that the features chosen are fairly arbitrary in nature, taken from arbitrary sections of a fairly arbitrary selection of standards. That's what makes the Acid3 test different from the Acid1 and Acid2 tests which were rather more specific in what they tested (i.e. CSS), something which is much more fundamental to the web than anything Acid3 tests.
Also, the Acid tests are deliberately constructed with browser bugs in mind. That's why IE fails it incredibly badly since it's been designed to make IE fail incredibly badly. There's no conspiracy when the entire point of the test is that it reveals browser bugs.
That said, Microsoft are behind everybody else, and no-one has said otherwise. However, given inherent limited resources, I'm not sure if I'd rather Microsoft focus on passing Acid3 than improving other aspects of their browser. Given the choice between good CSS3 support and Canvas or SVG Fonts and SMIL I'd prefer the prior pair, and I'm sure many of their users would gladly choose improved performance and stability over web standards.
My point was simply that describing the tests as random or arbitrary diminishes the value of the results without requiring an alternate viewpoint. That would be fair if it were truly random, but I don't think it is.
Edit: Your last edit provides the alternate viewpoint. Your position seems to be more that the attention is misguided, not random.
> It clearly can't be random if four other major browser vendors independently score over 90%
?? The other browser makers score well on ACID3 because they've been developing and bugfixing to ACID3 as a benchmark. It's not random, it's a tautology.
IE9 hasn't been released yet; or did you mean, a super early preliminary build in the early stages of IE9 development which probably has little to do with how the final product will look like? We haven't even shipped a developer preview release yet ...
"IE8 scores 20/100, which is still much worse than all relevant competitors in their versions from the test's release, and has some problems with rendering the Acid3 test page."
I've heard people say this about Acid 3 before, but without justification. To me, it appears that the tests for Acid 3 were neither chosen at random, nor arbitrarily. They were specifically selected so that every major browser failed at the time of its release. Moreover, tests were specifically selected to emphasize modern, DHTML (a.k.a "web 2.0") apps: with the bulk of the tests being in DOM, DOM2, and EcmaScript. Only one out of the 6 "buckets" do not - and those were chosen from a competition designed to include things the web community wanted.
It's not like hixie threw darts at a board to get the tests.
A huge part of making the web easy to develop for is having things fail in predictable ways. There is very little that is more frustrating than making a few changes to your website and having it suddenly break in one of the major browsers and spending a day figuring out that it's because of a small edge case that doesn't follow the standard model.
I think that almost by definition tests which fail in every major browser shouldn't be considered a high priority. It's nice that they have been fixed in some browsers, but I can't fault IE for prioritizing other things more.
That would make a lot of sense to me if I were to let myself believe that Microsoft just didn't have the resources required to keep up. It's more likely that they just don't want the web to obviate their platform, and so they're dragging their heels.
But they now _don't_ fail in every browser, because everyone else didn't slack off and actually implemented them. I tested this earlier today, and Chromium get 100/100, FX3.5 on Linux got 97/100, and FX Windows 3.5.5 here gets 93/100.
In my mind, this still isn't a particularly good reason to do it. Let's say the last 9-12 months is when ACID3 became compliant in most browsers (I think it's actually less). That means, by definition, only apps written in that timeframe even had an opportunity to use whatever features were previously broken. This is a tiny percentage of code on the web.
Now, it could be that ACID3 is testing the 100 most useful things that previously did not work. Somehow, though, I doubt that's really the case. And even if it was, there are without a doubt 100 more important bugs in IE to fix.
So, yes, ACID3 compliance is pretty low on my wishlist for IE bugs to fix. If they were fixing ACID3 bugs and letting more important things fall through the crack, I would be even more displeased with IE.
That's a fair perspective, but I'm left wondering if it sounds good only because it's very nebulous and hypothetical. I wonder if it would sound as good if you were to be more concrete.
In particular, would you mention (or, at least, loosely characterize by subsystem or specification) some of the bugs in IE that you would consider a higher priority?
I'm asking because all of the following appear fundamental to me: DOM Traversal, DOM Range, DOM2 Core, DOM2 Events, DOM2 Views, DOM2 Style, CSS3 selectors, ECMAScript conformance & garbage collection, the behavior of HTML forms when manipulated by script, the HTTP 1.1 Protocol...
I admit that there are 4 tests for SVG and 2 for SMIL that could be placed at a much lower priority, and if IE were sitting at 94/100 for missing those then I might agree with you. (Those were among the bucket 5 tests that arrived via the contest.)
But you are also speaking in broad strokes. For example, "DOM Traversal" is something that IE can do. How critical are the specific features of DOM Traversal that the ACID 3 test is testing?
I don't want to spend much time doing bug triage for IE, I'm just saying it's not hard to imagine that their priorities don't include bugs which were obscure only a year ago.
The specificity does not derive from my post, but from the source of the tests that you are arguing against being fixed, viewable by all, and well documented. The traversal tests seem like very reasonable cases to me. For example:
// test 1: NodeFilters and Exceptions
// test 2: Removing nodes during iteration
// test 4: ignoring whitespace text nodes with node iterators
// test 5: ignoring whitespace text nodes with tree walkers
I just wanted to know if you had something in mind or were just making vague apologies for the IE team. Either case is ok with me.
I wish I was as optimistic as you. Right now I'm fighting with all sorts of buggy edge cases in IE8's allegedly complete CSS 2.1 implementation. At the end of the day I'll put more faith in a hokey Internet benchmark than I would any organization's technical marketing efforts.
If everyone else is at a point where they can do both reasonably well now, then I think it reflects pretty badly on Microsoft that they cant even do it with their next generation browser.
Maybe I'll stop hating Internet Explorer quite so vehemently if they do these things:
1. Faster Javascript. This looks like the main point of IE 9, so apparently we won't be waiting much longer for this one.
2. SVG support. Every other browser does this; why not IE? There's so much cool stuff we could do with SVG if only IE didn't hold us back.
3. How about some HTML5 canvas support? Canvas is a nice, straightforward API, and it's all sorts of useful. But as usual, IE strangles progress.
As a user, I can just ignore IE. But as a web developer, I absolutely loathe it for making everybody jump through hoops to support it, and for holding back SVG and canvas.
IE glady rides the backseat in standards, and it’s making my life terrible.
In the inverse of your problem, I often have to interface with enterprise web applications and help some of our other staff with them. They are only approved to work on Windows XP with Internet Explorer 6 (though I think many have finally moved to IE7 as a supported platform). This causes all sorts of headaches for my Linux users when we have to access the financial system or report time and leave.
There was a period of about 6 months where I was logging into the one Windows computer in my group to report vacation because it was the only one with the right version of Java and IE to get it to work.
This is one thing I've been thinking about since Google released Chrome Frame. Microsoft should release a service pack that attaches a standard compliant rendering engine to IE (basically a Microsoft blessed Chrome Frame). Then legacy applications would continue to work and the rest of the world could toss a meta engine="nosuck" that IE would respond to by rendering with the good engine.
That WAS Internet Explorer 9, but the online community made such a ruckus (with good reason) that MS would use the "standards compliant" mode only with a nosuck tag, that they went ahead and made it the default and you'd have to opt-in to the sucky mode.
IE9 should be standards compliant by default. A patched version of IE6 however should continue to be sucky by default and use a new rendering engine only with a nosuck tag.
Absolutely. I'm gung ho for IE catching up, but they don't bother to push their IE 6 and 7 users to upgrade in the same way safari, firefox and all other browsers use.
Mainly, it's just creating yet-another-browser-to-test.
(edit: forgot to hit reply and made a new message. doh.)
Because local network admins in various big companies refuse to upgrade from IE6 since they depend on internal applications coded against IE6 specifically, and Microsoft does not control every single corporate LAN to be able to force upgrades down their throats when they don't want them ...
... and many companies are unwilling to fork out the money for upgraded boxes until those running Windows 2000 finally die. We're stuck in that situation.
do you realize that we are at the current situation precisely because every IE version is different from the previous one and they are all different from the standards available at their time?
If local network admins upgraded to the latest and greatest IE8/9 we would still be in the same horse shit regarding IE not following web standards. We would be free of "IE6 doesn't have a fucking clue about the box model". But we would be at "IE8 doesn't support canvas (or proper event bubble)".
Microsoft has been using this "network admins don't upgrade from IE6" for too long as an excuse for the mess they keep putting web standards into.
A proper solution for Microsoft now would be to completely ditch IE backend and use one of the current available libraries like webkit. And put in place a IE frontend that can have IE6/7/8 tabs and a proper browser (defaulting to a proper browser). Any other move coming from Microsoft is either PR or evilness.
1. There are still a lot of people running on older computers (i.e. Windows 98/ME) and see no reason to upgrade (and probably have never installed a system update/hotfix at all).
2. There are just a lot of people that don't install any system updates.
3. There are people with pirated Windows versions that don't know how (or just don't care about them at all) to hack around the 'Genuine Windows' checks. So they don't install system updates.
The only way many of the laggards are going to upgrade is if their favorite sites stop working. I think soon it will become too expensive to hack n' test for four versions of IE, and companies will start dropping support for IE 6.
Most IE6 laggards are large companies with sprawling IT bureaucracy (I did some work at one up until a couple of month ago). And their favourite sites where the internal project and time tracking web sites. As long as those work they'll see no reason to upgrade from IE6 and they'll never make any changes to those sites that will break IE6. They really don't care too much whether the rest of the internet works or not.
The CEO (and all the other big shot managers) have all received the magic blessings needed to plug their personal laptops into the company network and never even sees the desktop working environment foisted upon their menial workers (or at least that is my experience).
And since when providing a nice web environment is in the interest of Microsoft? Their goal is to provide an experience as much broken as possible that doesn't offend their users and convince them to move to better browsers.
You really can't use MS employee blogs against MS. They are written with no supervision, come directly from the employee with no proof reading or anything. They truly are just blogs.
Acid 3 isn't like Acid 1 (sane CSS box model) or Acid 2 (good resiliant consistent CSS2 support) - rather, it tests a whole bunch of random features and JavaScript edge cases. I can perfectly understand why Microsoft would prioritise implementing certain up-and-coming features or improving their rendering speed and stability over implementing parts of Acid3.