Slashdot Mirror


Site Compatibility and IE8

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

20 of 214 comments (clear)

  1. Target a standard by BadAnalogyGuy · · Score: 4, Funny

    HTML as a standard has been so bastardized over the years that the kind of incompatibilities that the article discusses exist not only across different browsers but also between browser versions.

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

    1. Re:Target a standard by Samschnooks · · Score: 5, Insightful
      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".

    2. Re:Target a standard by SirLurksAlot · · Score: 4, Insightful

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

      --
      God, schmod. I want my monkey man!
    3. Re:Target a standard by BadAnalogyGuy · · Score: 5, Funny

      I haven't ever seen a fast Java applet

      This is a temporary problem. As computers get faster, this problem will go away.

    4. Re:Target a standard by Darkness404 · · Score: 4, 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.

      --
      Taxation is legalized theft, no more, no less.
    5. Re:Target a standard by FuzzyBad-Mofo · · 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!

    6. Re:Target a standard by hairyfeet · · Score: 4, Insightful

      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?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    7. Re:Target a standard by BikeHelmet · · Score: 4, Interesting

      You're kidding, right? Please tell me you are...

      Flash certainly is popular, but I would not describe it as "fast". Its power comes from how easy it is to create flash stuff. Not from having a great backend.

      Problems with Flash:
      -Huge memory leaks
      -Shitty scripting performance
      -Mediocre rendering performance of rasterized graphics
      -Poorly designed input handling (makes it unsuitable for games - ironically)

      Problems with Java:
      -Slow start time
      -No easy to work with vectorized graphics
      -Java is "Java", and thus is bad (because java is bad)

      Here's the proof.

      Claim 1: Flash rendering performance is very poor.
      http://www.newgrounds.com/portal/view/408513

      Most flash game designs do silly stuff like putting a semi-transparent invisible square over the screen to manage fading. Those alpha-shades every rendering operation on the CPU, and precludes all hardware acceleration.

      This game has very poor performance on a 2.2ghz Athlon XP w/ 1GB RAM + 7800GS. It uses many final-fantasy-style sprites/graphics, in addition to vectorized graphics for dialog and the interface.

      In Java, even in an applet, simple sprite blits like that would run fine on a 300mhz P2. However, character portraits and the interface would have to be rasterized to work in Java.

      Verdict: Both have negatives. Flash runs (very) slow, but is fast to create. Java runs fast(er), but is (very) slow to create.

      Claim 2: Flash input handling makes it unsuitable for most games.
      http://armorgames.com/play/2893/achievement-unlocked
      http://bugs.adobe.com/jira/browse/FP-542

      When a flash "movie" tries to run at a high framerate... Flash allows it. And then it fails.

      Flash rendering slows down, but input does not. This means that if a game wants 200fps, but the computer can only render 20fps, input can lag up to ~10 seconds because of how the flash input handling works. It buffers input, but doesn't skip any slots in the buffer. You get 200 slots per second at 200fps, but if it takes 10 seconds to clear the buffer, oh well. Once the buffer is clear, it accepts another second of input, then waits for it to clear again.

      This makes playing flash games on slower computers (such as netbooks) quite challenging.

      It's worth noting that flash also interferes with general IO. While the input buffer is overflowing (the time between the first second of receiving input until the buffer is clear) it garbages your keyboard presses and mouse movement/clicks, and also does something that screws up other IO on your system.

      It has been reported that flash messes up monitoring software like SpeedFan, MBM, etc.; it's like it gets caught in an endless loop saturating all IO. I've seen systems reboot because they thought they were overheating, because of a flash movie not playing at 100% speed.

      Adobe is ignoring these issues.

      Verdict: It falls to the developer to pick a framerate that will run on slower systems.

      Claim 3: Flash data handling makes it unsuitable for most games.
      http://www.thewayoftheninja.org/n.html

      Remarkable game. Unfortunately, your saved games may be cleared upon upgrading your flash player. Also, there's the insane input lag on slower systems.

      Frequently I go to a website after upgrading my flash player, and all my old scores are gone. Oh well? I guess that may be a good thing - it also means every flash tracking cookie vanishes at the same time.

      Verdict: Flash needs a second kind of storage - persistent storage - which is guaranteed not to be cleared at random intervals, or by upgrading the player.

      Claim 4: Flash leaks like a bitch.
      http://www.warpfire.com/
      http

  2. Re:My favorite by RomSteady · · Score: 4, 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.

    --
    RomSteady - I came, I saw, I tested. GamerTag: RomSteady / http://www.romsteady.net
  3. Re:IE8 Standards mode?? by Midnight+Thunder · · Score: 4, Funny

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

    Habits are hard to break ;)

    --
    Jumpstart the tartan drive.
  4. Re:My favorite by AKAImBatman · · Score: 4, 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.

  5. I say forget IE by Vu1turEMaN · · Score: 4, Interesting

    My websites will block IE8, and a message will pop up telling people to go download Firefox, Opera, or Chrome.

    I tried IE8, and it is a pitiful joke. I'm not going to work around it, and Microsoft should realize I'm not gonna jump through hoops just to please their idiotic decisions.

    *fully extends third finger in direction of Microsoft*

    1. Re:I say forget IE by Samschnooks · · Score: 5, Insightful
      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.

    2. Re:I say forget IE by Kozz · · Score: 4, 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.

      --
      I only post comments when someone on the internet is wrong.
  6. Why web developers should be dragged out and shot by girlintraining · · Score: 4, 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.

    --
    #fuckbeta #iamslashdot #dicemustdie
  7. Don't get "Compatibility View" by krou · · Score: 4, 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?

    --
    'If Christ had tweeted the sermon on the mount, it might have lasted until nightfall.' - John Perry Barlow
  8. Re:My favorite by BasharTeg · · Score: 4, Interesting

    Acid2 isn't a standard. It also isn't a part of the test suite of W3C. Acid3 isn't a standard. It also isn't part of the test suite of W3C. It's a marketing gimmick of Opera and people lap it up like it is more important than real standards work from the W3C. Plus, Acid3 is more about DOM than CSS, and Acid3 tests for features that have not yet been standardized.

    You can push for implementation of standards, but to knock someone's products because they haven't implemented DRAFT standard recommendations is just stupid.

    And your claims that Microsoft isn't really implementing the CSS 2.1 standard correctly and that they're just "checking a checkbox" don't actually stand up to the test of reality:

    http://blogs.msdn.com/ie/archive/2009/01/27/microsoft-submits-thousands-more-css-2-1-tests-to-the-w3c.aspx

    Your arguments are a subjective standard, you want to appeal to the W3C for "standards" authority, but then set the bar for judgement to be whatever "people are using" or whatever marketing gimmick "standards" test IE fails and others ALSO fail, just fail less.

    Stick to the W3C standard test suites for an actual measure of standards compliance and leave the Acid tests to the fanbois who are out to prove a point. And don't talk about "standards" that are not yet standards.

  9. Bring back JAVA by bussdriver · · Score: 4, Interesting

    JAVA: ahead of its time! NOW the things we want to do are what it could have been doing way before Flash could have filled the demand.

    Applets were dismissed back when our needs were simple and our computers were slow.

    1) Javascript is SLOWER than JAVA! (browser and flash use it)

    2) Flash started out as a vector graphics format; now its a Director/HyperCard mess that is moving towards becoming an Applet platform itself. Flash 10 is NOT anywhere near the same as Flash 1. Its not just an animation format.

    3) We have battles over JavaScript 2 at ECMA trying to turn JavaScript into a clone of Java and now the browsers are runtime compiling the script-- next will we start seeing pre-compiled javascript bytecode? (Maybe in Flash?)

    4) "safe" platform independent access to web cams and audio hardware-- we have people running ARToolkit in FLASH from a webcam in real time! Its not a vector format anymore... its another kind of applet.

    5) Java Applets need better integration; they've not progressed since people dismissed them in the 90s. Now its open; we should be trying to integrate it; catch up to where it should have been now if it were not so ahead of its time.

    6) Java was designed to take on massive projects; flash and javascript are not. Java Applets should get DOM access so complex web apps can be made without making javascript a rerun of java-- this means tight integration and FASTER startup times. It could be done.

    7) New formats can be done using Java without installing client-side plug-ins. Sure, it is not quite as fast and has overhead; these issues can be addressed-- Flash games are not so simple to startup-- its pre-loaded with the browser... and it has built-in loading screens... Java sure beats being unable to access something in Flash 10 when your setup is too old to install Flash 10. JVM is open now; flash is still risky (and crashes my browser more than anything else.)

  10. Re:My favorite by AKAImBatman · · Score: 4, Interesting

    Amusingly, I never stated that ACID2 and ACID3 were standards. I stated that supporting these tests are a pragmatic approach to optimizing resources for implementing parts of the standards. (The stated purpose of the ACID tests is to promote implementation of standards with immediate applications.)

    The truth is that the fine details of the CSS standards are hard for EVERYONE to support. Including Microsoft. No one except Microsoft claims 100% CSS 2.1, because it would be disingenuous to do so. I've only heard that claim (incorrectly) assigned to Microsoft.

    You can push for implementation of standards, but to knock someone's products because they haven't implemented DRAFT standard recommendations is just stupid.

    This would be a good argument, except for one problem: Microsoft is implementing DRAFT standards while NOT implementing the RECOMMENDED standards they're based on. Want an example? Look up to the top post. Cross Document messaging is not yet recommended, but Microsoft is bound and determined to mis-implement it.

    In any case, your argument betrays a misunderstanding of how web standards work. The current approach being used is that standards will not reach a recommended status until at least two successful implementations of the standard exist. The idea is that this will determine if the spec is actually implementable or not. (One of the primary reasons why CSS 1 & 2 are not fully implemented is because the spec was written without implementations. The spec ended up being extremely difficult to implement correctly.)

    Now if Microsoft wanted to be the browser that would only implement recommended standards I would be fine with that. But they're not. They're explicitly picking and choosing, being careful to avoid the standards implemented by everyone else. ESPECIALLY the RECOMMENDED standards that would make IE compatible with other browsers.

    What is the point of standards compliance if you're explicitly trying not to be compatible?

    And that right there is why their standards compliance is a farce. A sick joke that's all about control for Microsoft. It's just sad that people are buying into Microsoft's friendly veiner, all while Microsoft slides the knife even deeper in their backs.

  11. I hate IE8 by ducomputergeek · · Score: 4, Interesting

    We have an online shopping cart system that renders correct in most browsers even going back to MSIE 5. We have a lot of users still browsing the site with IE 6 because of where they work and their lack of ability to install anything else. Still 70%+ of the traffic is MSIE. It renders fine on all platforms with Opera, FireFox, Safari, and Chrome. Even works on most cell phones with a javascript enabled browser including LG phones, Opera Mini, Blackberrys with 4.7 or greater installed, Blackberry storm, android, and of course the iPhone.

    But MSIE 8.....the div with the "Add to cart" button doesn't even render. In MSIE 7 compatibility mode, it renders, but it splits the div into two elements on separate sides of the page for no reason that I can find. I am considering redirecting MSIE 8 users to page that says:

    "Due to incompatibilities Microsoft creating in MSIE 8, we are unable to support your browser type. Our website will work with previous versions of MSIE or any standards compliant browser such as firefox, opera, safari, or chrome. We recommend you switch to one of these browsers for improved browsing of the internet."

    --
    "The problem with socialism is eventually you run out of other people's money" - Thatcher.