Site Compatibility and IE8 214
Kelson writes "As the release of Internet Explorer 8 approaches, Microsoft's IE Team has published a list of differences between IE7 and IE8, and how to fix code so that it will work on both. Most of the page focuses on IE8 Standards mode, but it also turns out that IE7 compatibility mode isn't quite the same as IE7 itself."
Re:Target a standard (Score:5, Insightful)
And at the bottom of your web page, instead of having some non-sense such as "This page best viewed with IEx", have something that says, "Page best viewed with standards compliant browsers, such as X,Y, and Z".
IE8 Standards mode?? (Score:4, Insightful)
How about following the standards the rest of the world uses instead?
Re:Target a standard (Score:5, Insightful)
I can't tell if you're being sarcastic or serious, or if you're saying that we should move back towards Java applets and use more Flash or if they should go away. Care to elaborate?
Personally the idea of bringing Java applets back makes me cringe. I also have FlashBlock set to block all Flash by default, so you can guess my stance there as well. In fact the trend to include more Flash and the increasing use of Silverlight has me wondering what the future HTML and CSS will be if they have one at all. (I say as I format my post with HTML tags...)
Re:My favorite (Score:5, Insightful)
I think you are missing the point of the example given.
Microsoft isn't saying that they didn't implement both window.postMessage and window.addEventListener.
They are saying that if you want to test for the existence of feature A, you check for the existence of feature A and you don't infer its existence by checking for the existence of feature B.
Re:Target a standard (Score:4, Insightful)
Re:My favorite (Score:5, Insightful)
I think you're missing my argument. The assumption that addEventListener should exist if postMessage exists is a good one. Why? Because postMessage relies on addEventListener. However, Microsoft decided that proper DOM support wasn't important to standards compliance, and implemented a bastardized version of the spec.
The example they gave as a solution is actually buggy. The original code checked for cross-document messaging and presumably would have fall-back logic if the feature didn't exist. Microsoft's "corrected" code does not correctly check for cross-document messaging. It simply assumes it exists and registers an event for it. Which is likely to break a lot of truly standards compliant browsers while "fixing" IE8.
Re:IE8 Standards mode?? (Score:4, Insightful)
The rest of the world where? I'm as pro-standards as anyone else, but I hate to break it to you that most of the world is still using IE [hitslink.com].
Yes, standards-compliant browsers are gaining more support every year, but it doesn't change the fact that with such a huge market share MS is still setting the defacto standard. This is especially true in the corporate environment. The great majority of corporate intranets are still using IE as their supported/required browser, and there is still A LOT of legacy web applications out there that rely on technologies like ActiveX to function. All that being said I'm glad to see Microsoft is finally starting to get with the program with IE8. Whether or not businesses start following suit and update their sites to be standards compliant is another question entirely, but I would hope that would be the case.
Re:My favorite (Score:1, Insightful)
http://webkit.org/projects/css/index.html [webkit.org]
So let me understand this...
WebKit isn't yet CSS 1 compliant.
WebKit isn't yet CSS 2.1 compliant, and does not currently pass the CSS 2.1 suite.
WebKit isn't yet CSS 3 compliant, but CSS 3 isn't a finished standard yet anyway. ( http://www.w3.org/Style/CSS/current-work [w3.org] )
IE 8 is coming out with full CSS 2.1 compliance that passes the CSS 2.1 test suite entirely.
CSS 2.1 is the newest *completed* CSS standard level.
But according to the Intarnets, Microsoft should replace their IE Trident engine with WebKit.
Which would reduce their CSS standards support...
I'm confused.
Re:Target a standard (Score:5, Insightful)
This is a temporary problem. As computers get faster, this problem will go away.
Um, it has been stated that its a temporary problem ever since Java applets were introduced in the '90s, and even today with dual-core multi-ghz CPUs commonplace as Gigabytes of RAM, the problem still hasn't gone away.
Similarly, Flash seemed just as fast on a Pentium III with about 128 MB of RAM as it does today on the latest quad-core box.
Why web developers should be dragged out and shot (Score:5, Insightful)
People, the web is fine for multimedia and information presentation, but why is there this constant push to integrate everything into the web? There's all this crap being tacted onto what constitutes a "web browser" that it's becoming less and less a browser and more and more a platform every day. This is not the direction we want to go right now. A lightweight browser that can present information in a variety of devices is where the web needs to stay: Accessibility is more important than features. HTML, XML, CSS, and maybe some javascript is all the farther anyone needs to go. But then Flash came along and suddenly you've got crap that can't be indexed and is inaccessible to people who are blind or deaf, and increasingly devices like mobile phones which have enough power to do the basics aren't enough because the standards are getting jacked up to the point that we have to cram a laptop's worth of computing resources into a form factor that can fit in your hand, and a battery life of less than a day.
This so-called progress is a step in the wrong direction. We need to work on a set of standards that can be implimented with minimal computational resources, is flexible enough to offer a range of presentation options sufficient for most information (images, text, some video and audio) -- and leave it at that. By extending the web into areas reserved for applications and then trying to do everything at once (cross-platform, intensive computations, entire application suites stuffed into web browsers) we are opening a can of worms that promises to segment the web into a million incompatible methods.
We need to work on making this information as available and accessible as possible, not coming up with fancy new ways to make it inaccessible to larger and larger groups of people in the name of progress.
Re:I say forget IE (Score:5, Insightful)
This accomplishes two things: one, it shows that their browser isn't that good, and two, it shows other browsers are available and lastly, it doesn't just throw those folks out - otherwise, they'll just move on; unless you're the coder for the Wall Street Journal or some other website where the viewers are captive.
Re:Target a standard (Score:5, Insightful)
HTML rendering is actually pretty consistent among standards compliant browsers (Firefox, Safari, Chrome & Opera). The problem is that the largest browser vendor by marketshare (Microsoft) has a poor history of standards compliance; rather they ignore parts of standards for their own proprietary implementations, which change from version to version.
This has caused Microsoft their current position, where it becomes difficult for new versions of their browser to match the quirks and partial standards compliance of the past versions. It's hard to remove features from a browser when a popular site coded years ago is still using them. In essence, they have painted themselves into a corner.
The problem is not in HTML, the problem is the long term effect of proprietary technology instead of standards compliance. Vendor-owned technologies such as Flash or Silverlight are not the answer, in fact they're characteristic of the problem!
Re:I say forget IE (Score:5, Insightful)
My websites will block IE8, and a message will pop up telling people to go download Firefox, Opera, or Chrome.
For those whose whom their website is not tied to their livelihood, I suppose one can afford to be smug.
Re:I say forget IE (Score:1, Insightful)
I'm not gonna jump through hoops just to please their idiotic decisions.
So you'd rather force your viewers to jump through hoops in order to access your site? Guess what, most will probably shrug and go someplace else on the Web. Hope you're not running business websites.
Don't get "Compatibility View" (Score:5, Insightful)
Am I missing something here? Why the hell even introduce the idea of "Compatibility View"? That's just pure sloppiness.
Since when was it the browser user's responsibility (or even the browser's) to decide what mode a page should be viewed in? Isn't it the developer's job to tell the browser how to behave, and the browser does so accordingly, in a consistent fashion?
Re:I say forget IE (Score:1, Insightful)
My websites will block IE8, and a message will pop up telling people to go download Firefox, Opera, or Chrome.
I can assure you I won't be using your websites then ... along with millions of other people.
Thanks for playing. Good bye.
Re:My favorite (Score:4, Insightful)
IE8 will have full CSS 2.1 compliance? I'll believe it when I see it.
Instead of simply making assertions it's much more informative to compare CSS support by function, as in the following chart:
CSS contents and browser compatibility [quirksmode.org]
From this it appears that IE8 DOES have improved CSS 2.1 support from previous versions, although it's still lacking in certain areas. The web's problem child has almost caught up to the rest of the class. Sadly, IE8's CSS 3 support is still far behind the curve :(
Re:My favorite (Score:4, Insightful)
Just because they checked the box on the feature doesn't mean it works correctly. I'll grant that IE8 is better with CSS, but most of their "standards compliance" BS is just for show. Microsoft has no intention of supporting the standards that are in wide use. Instead, they focus on areas where their desktop APIs (i.e. Win32) won't be impacted. Thus the focus on complete CSS2.1 compliance. That lets them claim a commitment to standards without actually furthering the existing use of standards on the web.
Case in point: IE was the last major browser to reach ACID2 compliance (by a wide margin) and is the only upcoming major browser to score below 95 on the ACID3 test. (Around 20, if you're interested.) Most of the upcoming browsers that will directly compete with IE8 already support 100/100 on ACID3. That's a much more pragmatic test than Microsoft's checkbox fascination.
Microsoft isn't stupid. They know that the web is making their desktop lock-in obsolete. The last thing they want to do is help it along. That's why they're pushing Silverlight so hard. If they can provide Microsoft lock-in for web applications, they'll maintain the dominance of the Windows platform. In the meantime, they have to convince the public not to move to other browsers and give up their Windows/IE lock-in. Thus the box-checking on poor standards support.
ACID 2 Test (Score:3, Insightful)
Re:Target a standard (Score:4, Insightful)
>Maybe it's time to start over. Flash and Java applets seem like a good place to start.
Yes. Because Microsoft has bastardized open standards like HTML and CSS, let's move a vendor-controlled standards.
After all, it's not like Microsoft went out of their way to bastardize Java RIGHT?
Never mind how locking up valuable data in ANY proprietary format, has NEVER turned around and bit mankind in the ass time and time again.
Our intranet has been standards-only for 5 years, and our public website is XHTML strict, with a few (validating) hacks to support IE 6 and 7.
The momentum for standards compliant browsing is pretty strong. The biggest obstacle are the people who make webpages in FrontPage or Office... they're getting calls from customers who can't read white text on a white background, because the MS tools still go out of their way to (deliberately) suck.
Big comment FAIL. Hope you weren't serious and not a troll
Re:Target a standard (Score:2, Insightful)
Java is plenty fast. It's just that applets haven't been used for anything worthwhile in a long time, so you remember Java performance from back when CPUs had clock rates in the double-digit MHz range. The only real problem with Java performance is the comparatively slow startup time of the runtime environment.
Re:Target a standard (Score:4, Insightful)
It is fast. It's so fast that it can screw up spectacularly faster than I can make it stop. I must admit that nothing gets your message across faster than an all flash index page.
Unfortunately, that message is "we're sorry, but our message is all hype and no substance. We were afraid you might figure that out if we didn't guide you firmly through our message with no opportunity to look behind the curtain, or for that matter, to think about what we're saying and realize that it adds up to nothing at all. On the bright side, since you block flash by default, at least we know you're the sort of "critical thinker" who we can never win over with gibberish.
I'm not saying flash is all bad, it seems to have it's place in the world (though it needs to be replaced with an equivalent that actually works on all platforms). I block it by default, but do have it installed for the few cases where it actually makes sense.
Too often, flash is resorted to to get around the apparent fact that MS has a whole division that does nothing but come up with the oddest and most brain damaged possible interpretation of a standard and makes sure that's what gets implemented. Their motto: "Those weirdnix [ups.edu] guys are rank amateurs"
Re:My favorite (Score:3, Insightful)
This is getting into the philosophy of ontology.
AKAImBatMan says: If exists(A) -> exists(B) and exists(A), then we should be able to assume exists(B).
RomSteady says: it it possible to test for exists(B), then we should test for exists(B), even if we believe exists(A) -> exists(B).
I think that you are both right. It comes down to a simple principle of design: contain unnecessary assumptions.
A web app developer, assuming that the browser won't violate your expectations is bad unless there is a compelling reason to rely on those expectations. It doesn't matter whether those expectations are reasonable, because even if the browser developer intended to honor them there many be bugs in the implementation.
For a web browser developer, assuming that developers won't rely on some aspect or implications of the standard that isn't (in your opinion) necessary) is bad. You should strive to meet as every expectation that is demonstrably implied by the standard.
I tend to wide with AKAImBatman's view a bit more, though. In practice the accumulation of "best programming practice" can result in code that is cluttered with exception testing. Developers when coding should deal with concepts rather than implementations, and creators of platforms should make this feasible as far as humanly possible.
Re:My favorite (Score:2, Insightful)
Hmmm... maybe that's because Microsoft didn't implement the fucking standard correctly? The standard is more or less DEPENDENT on DOM2 events. (At the very least, I doubt anyone expected someone to implement the standard with a dysfunctional DOM.) That's why you can assume that you can use addEventListener to set a postMessage event receiver. But Microsoft didn't implement DOM2 events, despite helping develop the standard 10 years ago.
IE8 standards compliance is a joke. A sick joke played out by millions of unsuspecting users everywhere.
Yeah, they didn't. But they're making a good try here at fixing the problems, so fucking relax already. The only people who give a shit about web standards are web developers, and that's a very, very small percentage of the population. The amount of kicking and screaming and tantrum-throwing I read on this site on a daily basis is just crazy. Relax!
The example posted above is common sense, anyway. If you want to use "addEventListener," check for the existence of "addEventListener." Duh. Why would you check for anything else, anyway, except for being retarded?
Reject IE8 (Score:2, Insightful)
Please don't encourage yet another browser we'll all have to support.
If your job depends on addressing the market, then write to standards (test in Firefox and Safari and Opera) and IE7/IE6. That's where the market's at right now.
If your boss says you should anticipate IE8, point them to this graph [wikimedia.org] and this graph [wikipedia.org]. Tell them your anticipation is that IE8 will add work without adding substantial market benefit. You can put off IE8 support until it proves it can achieve the same penetration as IE7.
Bc/ of craptastic intranets (Score:3, Insightful)
Early Microsoft web frameworks, circa 1998, generated code so ugly it should qualify as crime against humanity. The stench has contaminated many enterprises, which are stuck with those unmaintainable festering sores.
Looking at the javscript those beasts produced is fascinating; they could put ";" in places you never expected.
Re:Great.... (Score:3, Insightful)
Poor baby. If you were writing a desktop app, you'd have to test it in:
Windows 2000, XP, Vista, 7 (possibly Server 2000, 2003, 2008 also)
Mac OS 10.3, 10.4, 10.5
Linux -- God knows! 3-4 versions of top 5 distributions, perhaps.
The only people who cares about web standards are web developers, and web developers already have less QA work than most other software fields. I feel like breaking out the tiny violin when I hear stuff like this.
Comment removed (Score:5, Insightful)
Re:Great.... (Score:1, Insightful)
I am a mobile application developer, you insensitive clod. You guys don't know how good you have it. Do you know how many different, incompatible, buggy piles of shit are called "cellular telephone"?!
Re:Target a standard (Score:2, Insightful)
Not to mention that the big boys at the time had very differing implementations, and the w3c-dom spec really doesn't resemble either. IE6 implemented a lot, but was left to stagnate while gecko, khtml/webkit and others passed it. IE7 kind of split the difference, and IE8 is a godsend by comparison.
I'm sorry, but I just don't see the point in bitching about 8-10yo software like this.
Re:I say forget IE (Score:3, Insightful)
So you dislike IE's lack of standards support breaking the web. And in response, you ... break the web.
Brilliant!
Re:ACID 2 Test (Score:4, Insightful)