Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×
Microsoft Internet Explorer Programming The Internet IT Technology

Site Compatibility and IE8 214 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."
This discussion has been archived. No new comments can be posted.

Site Compatibility and IE8

Comments Filter:
  • by Samschnooks (1415697) on Saturday March 14, 2009 @11:30AM (#27192661)
    Agreed.

    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".

  • by nurb432 (527695) on Saturday March 14, 2009 @11:50AM (#27192811) Homepage Journal

    How about following the standards the rest of the world uses instead?

  • by SirLurksAlot (1169039) on Saturday March 14, 2009 @11:54AM (#27192857)

    Maybe it's time to start over. Flash and Java applets seem like a good place to start.

    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)

    by RomSteady (533144) on Saturday March 14, 2009 @11:57AM (#27192887) Homepage Journal

    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.

  • by Antique Geekmeister (740220) on Saturday March 14, 2009 @12:02PM (#27192909)
    That's odd. All the webpages I create work just fine with flat text, maybe a .css file to capture the style, and no dancing bears of any kind. Keeping the silly behavior on the server side makes them vastly more robust, handicapped accessible to people with text->speech needs or with large typeface needs, and generally keeps their bandwidth and support requirements way, way, way down.
  • Re:My favorite (Score:5, Insightful)

    by AKAImBatman (238306) * <akaimbatmanNO@SPAMgmail.com> on Saturday March 14, 2009 @12:04PM (#27192933) Homepage Journal

    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.

  • by SirLurksAlot (1169039) on Saturday March 14, 2009 @12:07PM (#27192953)

    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)

    by BasharTeg (71923) on Saturday March 14, 2009 @12:12PM (#27192999) Homepage

    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.

  • by Darkness404 (1287218) on Saturday March 14, 2009 @12:19PM (#27193045)

    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.

  • by girlintraining (1395911) on Saturday March 14, 2009 @12:21PM (#27193055)

    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)

    by Samschnooks (1415697) on Saturday March 14, 2009 @12:22PM (#27193059)
    I would suggest, if I may, that instead you show the web page without IE specific code showing all its ugliness and with a message that states that IE isn't standards compliant, you don't have the resources to code around IE's hacks, and that the user would be best served by Firefox, Opera, or Chrome.

    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.

  • by FuzzyBad-Mofo (184327) <`fuzzybad' `at' `gmail.com'> on Saturday March 14, 2009 @12:23PM (#27193063)

    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)

    by Kozz (7764) on Saturday March 14, 2009 @12:24PM (#27193069)

    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)

    by Anonymous Coward on Saturday March 14, 2009 @12:29PM (#27193101)

    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.

  • by krou (1027572) on Saturday March 14, 2009 @12:30PM (#27193107)

    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)

    by Anonymous Coward on Saturday March 14, 2009 @12:32PM (#27193139)

    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)

    by FuzzyBad-Mofo (184327) <`fuzzybad' `at' `gmail.com'> on Saturday March 14, 2009 @12:49PM (#27193283)

    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)

    by AKAImBatman (238306) * <akaimbatmanNO@SPAMgmail.com> on Saturday March 14, 2009 @12:59PM (#27193373) Homepage Journal

    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)

    by caffeinejolt (584827) on Saturday March 14, 2009 @01:25PM (#27193617)
    Currently less than 25% of browser usage can pass the ACID 2 test [statowl.com]. It will be interesting to see how the release of IE8 affects this. Luckily for JS developers, projects like JQuery make cross-browser scripting WAY easier and less error prone. Hopefully broad support for an increasing subset of web standards will make cross-browser layout quirks less annoying for web developers. Overall I think the ACID tests are a good thing to measure this.
  • by Sleepy (4551) on Saturday March 14, 2009 @01:40PM (#27193789) Homepage

    >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

  • by Anonymous Coward on Saturday March 14, 2009 @01:41PM (#27193805)

    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.

  • by sjames (1099) on Saturday March 14, 2009 @01:58PM (#27193969) Homepage

    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)

    by hey! (33014) on Saturday March 14, 2009 @02:04PM (#27194019) Homepage Journal

    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)

    by Blakey Rat (99501) on Saturday March 14, 2009 @02:13PM (#27194099)

    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)

    by Onymous Coward (97719) on Saturday March 14, 2009 @02:17PM (#27194125) Homepage

    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.

  • by Nicolas MONNET (4727) <nicoaltiva&gmail,com> on Saturday March 14, 2009 @02:18PM (#27194143) Journal

    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)

    by Blakey Rat (99501) on Saturday March 14, 2009 @02:29PM (#27194219)

    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.

  • by hairyfeet (841228) <bassbeast1968&gmail,com> on Saturday March 14, 2009 @03:15PM (#27194621) Journal

    Yes, let us please kill that lie right now. Working with SOHO and SMBs I can tell that there are most likely millions of machines still doing their jobs in offices accross this country, as well as in many customers homes, that are between 1GHZ and 3.6GHZ with anywhere from 256MB to 2GB of RAM. In fact for purpose of this example i am typing this on a refurbed office machine I have had working as a Nettop(long before there was even such a word) for the past 9 years. This machine is a 1.1GHz Celeron with a maxed out 512MB of PC133.

    For the Internet it works beautifully EXCEPT if the evil known as flash is allowed on. In fact let me quote the system requirements for Linux Flash Player 10 that a fellow Slashdot reader posted(Thanks McGuirk) "Minimum Requirements: Modern processor (800MHz or faster) & 512MB of RAM, 128MB of graphics memory For "Standard" and for HD playback:Intel Core Duo 1.8GHz, AMD Athlon(TM) 64 X2 4200+ processor (or equivalent) & 512MB of RAM & 64MB of VRAM"

    I'm afraid I have to agree with his comments after reading the specs "Good God...that's more than many games" and you want to use THAT as the "standard" for making web pages? I have many 3d video games that aren't that damned bloated! But to me it simply highlights why Flash is bad: It is made by Adobe. No offense, but Adobe has always been a "throw more RAM and CPU at it" kind of company. There products have always gotten more bloated and buggy with every release. That is just who they are. But wanting to turn the whole WWW, which is used by countless millions across the planet, including businesses, charities, users rich and poor alike, into a giant flash site because the HTML and CSS code has gotten sucky is just insanity.

    If the HTML and CSS standards suck, then have a fit and demand they change! But don't turn the web into a giant bloated playground for a single monopoly. We went through that in the 90s with "This site is designed for IE only" and I'm not really wanting to go back to that, Are you?

  • Re:Great.... (Score:1, Insightful)

    by Anonymous Coward on Saturday March 14, 2009 @04:13PM (#27194979)

    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"?!

  • by aztracker1 (702135) on Saturday March 14, 2009 @04:40PM (#27195215) Homepage
    First off, most of the quirks that are specific to IE come from before the standards were well defined enough that an implementation was clear.

    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)

    by Blakey Rat (99501) on Saturday March 14, 2009 @05:58PM (#27195801)

    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)

    by socsoc (1116769) on Saturday March 14, 2009 @06:15PM (#27195897)
    The only thing that ACID does is encourage browsers to pass the ACID test. It does barely anything to encourage them to uniformly and accurately implement proper standards.

"Time is an illusion. Lunchtime doubly so." -- Ford Prefect, _Hitchhiker's Guide to the Galaxy_

Working...