Slashdot Mirror


MS Urging Developers To Prep For IE 7

Mike Savior writes "Eweek has a story stating that Microsoft is telling web site developers to prepare their sites for IE 7. From the article: 'One area that Microsoft has clearly articulated as being one in which developers can start work now to prepare for IE 7 involves the UA (user agent) string. First discussed in the company's Weblog in April, the code change prompted a reminder on Wednesday to developers, telling them that Microsoft continues to run across Web sites that are not expecting Version 7 of the browser, and urging them to test their UA strings. '"

21 of 406 comments (clear)

  1. user agent by BoldAC · · Score: 4, Informative

    If you are depending on the user agent string, your web site design is flawed already.

    Sure IE is broken... but you just have to format to fit the lowest common denominator.

    Trying to detect the browser type for the majority of web designers is just silly.

  2. Let them release first, then we'll see by pe1chl · · Score: 5, Informative

    "I don't use IE at all, but I'll test on it because I have to," said Web designer Donna Donohue, owner of Norwich, Conn.-based development firm KidoImages. "We code to standards to be compliant with Firefox, and then hack for IE."

    Same for me. Our website uses standard CSS and it needs a hack (csshover.htc) to make it work on IE. Maybe IE7 no longer requires it, maybe it does. Who knows?
    Until then, the conditional stylesheet inclusion for IE has to remain there.

    1. Re:Let them release first, then we'll see by Linus+Torvaalds · · Score: 2, Informative

      Our website was built by a "website design bureau". We told them it had to be standard, so it would work on Mozilla as well.
      What they produced was an absolute mess. CSS boxes were built to IE handling, and rendered incorrectly on Mozilla...

      When they were done, maintenance was handed over to me...

      Waitasecond... they ignored you and built something that didn't meet the requirements you had laid out up front... and yet you still paid for it and used it?

      This is the reason the web development industry has so many scammers and clueless idiots in it.

      What I learnt: use a website design bureau only to make a site design. Don't allow them anywhere near HTML coding.

      What you should have learnt: make sure your requirements are on a signed bit of paper and include problem resolution in your contract saying what happens when they don't meet their end of the deal.

      That way, when they deliver something sub-standard, you get your design for free and punish idiot scammers.

    2. Re:Let them release first, then we'll see by tilk · · Score: 3, Informative

      CSS fanatics always claim that you should not use tables for layout, but I find that CSS lacks some basic features for alignment especially at the bottom edge of the content area, which are very simple to implement when using a table.

      You are wrong. Have you ever read the specification? CSS has these features, it's just IE that doesn't implement them. Display: table and friends
    3. Re:Let them release first, then we'll see by Compenguin · · Score: 2, Informative

      On second though

      "Cells may span several rows or columns. (Although CSS2 doesn't define how the number of spanned rows or columns is determined, a user agent may have special knowledge about the source document; a future version of CSS may provide a way to express this knowledge in CSS syntax.)"

      Not having a colspan equivalent makes it pretty useless.

  3. Re:not a webdev, but... by Freexe · · Score: 2, Informative
    A webdeveloper shouldn't be checking the UA string at all.

    Javascript should be made using object detection and built by default to work (degraded but still usable) and CSS should be built to standards with 'fail-safe' hacks to make it work in all major browsers.

    Unfortunatly time pressures and the shear amount of crazy browser bugs (in ALL browsers) can sometimes make this hard.

    --
    "In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
  4. Re:A better idea... by abdulla · · Score: 2, Informative

    More standards-compliant, but still flawed. Don't get me wrong, I love Firefox and KHTML, but there's still so many holes in their support for CSS and other standards. I hear KHTML is rapidly closing that gap though.

  5. Re:CSS2 a flawed standard? by praseodym · · Score: 2, Informative

    http://www.w3.org/TR/CSS21/about.html#q1
    http://annevankesteren.nl/2005/06/css-21

    CSS 2.1 is in nearly-done stage I think. At least IE devs can start working on it already...

  6. This is exactly what I think regardi IE7 by uomolinux · · Score: 2, Informative

    QUOTE: "We're not going to waste our time specifically addressing any one browser when we can address them all instead, using faster development techniques that don't favor one platform or browser over all the others," Champeon said."

  7. Re:Back To The Status Quo by Linus+Torvaalds · · Score: 2, Informative

    Uhhhgghh!! I've met "progressive enhancement" once before. You've never seen such ugly, malformed, duplicitous code. Non standards compliant web site code that tries to be cross-browser is most of the reason I decided not to get into web development.

    I don't know what you think progressive enhancement is, but it's got nothing to do with being non-standard.

    Take this example:

    <a href="foo.html">bar</a>

    It works pretty much everywhere. Now this:

    <a href='javascript:windowopener("foo.html");'>bar</a >

    This breaks on non-Javascript user-agents. Now this:

    <a href="foo.html" onclick='return windowopener("foo.html");'>bar</a>

    This works for Javascript and non-Javascript user-agents. This last one is an example of progressive enhancement. You provide a basic version that works everywhere, and you progressively enhance it where the user-agent supports it.

    It's all about being compatible with less capable user-agents while still using the fancy stuff that advanced user-agents are capable of. It's got nothing to do with being non-standard - you can comply with the W3C specifications when using progressive enhancement, or you can ignore the W3C specifications when using progressive enhancement. It's a completely separate issue.

    In other words, MS wouldn't need to bother to mention this if IE7 was standards compliant.

    Newsflash: every browser has bugs. No browser is "standards compliant" (hint: the W3C is a vendor consortium that publishes specifications, they are not a standards body that publish standards).

    When the HTTP specification was being written, they understood that it might be necessary to work around specific browser shortcomings. That's the whole reason why the User-Agent header is there in the first place.

    I'm pessimistic about Internet Explorer 7 too. But the things you point out are completely reasonable and expected from any major browser release.

  8. MS can suck it! by Anonymous Coward · · Score: 2, Informative

    Every, and I mean EVERY website I've designed since 1993 has been fully standards compliant. I have had to hack around IE since the mid-1990s and I'm sick of it. If IE7 is not standards compliant, TOUGH! I'm not changing a damn thing in my websites. I've checked my web server logs, a major percentage (more than 50) of browsers that hit my sites are standards compliant browsers. If users can download the latest FREE version of IE, then they can just as easily download the latest FREE standards compliant browser, and blow me! I'll quit before I have to change the SIX different websites, with over a thousand pages, that I built and maintain. IE users can get bent. Bitter? DAMN RIGHT! and with good reason too.

  9. Re:CSS2 a flawed standard? by masklinn · · Score: 2, Informative
    Completely wrong, you fail, please hang yourself.
    At the beginning, the UA was merely a mean of identifying yourself. You were supposed to say who you were for statistical purposes period.

    But when Netscape started to create quite a lot of tags it was the only browser to understand, some devs got the [sarcasm]really nice idea[/sarcasm] to parse the UAs and only serve "improved" content to "Mozilla" (netscape) while feeding the dumbed down one to any other browser.
    Subsequently, when IE started to get good at displaying the graphically improved NS tags MS wanted it to get the improved content instead of the fugly one... and put "Mozilla" in front of their UAS...

    The dev's check of the UAS was retarded, MS' move was ugly but had a reason, yet two wrongs don't make a right.

    So
    • The need for the "Mozilla" UA substring comes from the retarded web devs, not Netscape
    • And nowadays that isn't even needed, since Opera using it's own UAS (~Opera/8.01 (Windows NT 5.0; U; en)) usually has no trouble displaying anything. Shame it defaults to IE impersonation though.
    In fact, that UAS checking got as retarded as checking for the version (4.0), which is why IE6 and IE7 will wear "Mozilla/4.0" (while Firefox and NS7 have Mozilla/5.0".
    Netscape and Mozilla foundation's browsers are the only ones entitled to the Mozilla UAS, and MS should grow some balls and remove them from it's browser. It'll break some site? f*ing big deal, means that the websites were shitty in the first place.
    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  10. Re:The difference in User Agents by JimDabell · · Score: 2, Informative

    Internet Explorer 7.0 running on Longhorn will have a user-agent string of:
    Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)
    according to the IE Blog. Presumbly, Internet Explorer 7.0 running on Windows XP will have a user-agent string of:
    Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)

  11. Re:Maybe it's a completely new UA string by davehughes · · Score: 2, Informative

    The new UA string is

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

    taken from the IE7 developers' blog.

  12. All browsers != standards by Linus+Torvaalds · · Score: 3, Informative

    "Coding for all browsers is expensive and increases our development and support costs".

    That's the BS I usually hear from people who develop only for one browser - typically the "corporate standard" browser.

    No, it's true. Try developing a website using CSS 2. It'll work in Firefox, Opera, Konqueror and Safari just fine. Now check it in Internet Explorer. Whoops!

    If you want your website to work in all browsers, then you have to either forget about CSS 2 (meaning slower development) or hack around Internet Explorer's problems (meaning slower development). Slower development == costs more.

    How many tutorials have you seen with different methods of achieving multiple column layouts? Did you know that you just need a couple of lines of code to do it (display:table-cell etc) in all the major browsers except Internet Explorer?

    We have a very small software development staff. As the manager of this organization, I can say with confidence that supporting all browsers versus just one costs us zero dollars.

    I'm in a similar situation, and I can say with confidence that Internet Explorer slows us down, which costs us money. Coding to standards is not the same thing as making it work in all browsers.

  13. Re:not a webdev, but... by ffrinch · · Score: 2, Informative

    See here.

    e.g., if you need to select DOM elements, see if the document.getElementById method exists, rather than checking for IE >= 5.

    It's no use for sites using browser detection to send working CSS rules, though, since they need to work even if JavaScript is turned off.

  14. Re:Coding for standards is too expensive! by hobit · · Score: 2, Informative

    We have a very small software development staff. As the manager of this organization, I can say with confidence that supporting all browsers versus just one costs us zero dollars.



    Really? If anyone is occasionally testing to be sure everything works on all browsers, you have a cost. If no one is, I find it unlikely things work perfectly in all major browsers. There do seem to be a number of weird issues out there.

    --
    As Nietsche famously said, "If you stare too long into the Abyss, 1d4 Tanar'ri of random type will attack you."
  15. Re:The difference in User Agents by DeadMeat+(TM) · · Score: 4, Informative
    I never really got it, why does the IE UA have Mozilla_4.0 in it?
    Long before Web developers started blocking browsers without the IE UA, they blocked browsers without the Netscape UA. (Mozilla was the code name for Netscape long before the open-source Mozilla project started, which is why "Mozilla" was in the Netscape UA.) Microsoft countered by using the Mozilla/x.x part of the Netscape UA, and then embedding the fact that it was really IE in the parentheses (which nobody really parsed at the time).
  16. Re:oh pretty please... by HAKdragon · · Score: 2, Informative

    Konqueror doesn't use Gecko, it uses KHTML, on which Safari is built.

    --
    "Our opponent is an alien starship packed with atomic bombs. We have a protractor."
  17. Re:not a webdev, but... by NutscrapeSucks · · Score: 2, Informative

    A better practice in 2005 is to drop this sort of script all together. It is only needed to support IE4.0, which nobody uses any more and probably won't render your site correctly regardless.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  18. Re:not a webdev, but... by JimDabell · · Score: 2, Informative

    A better practice in 2005 is to drop this sort of script all together. It is only needed to support IE4.0

    No. This particular script is generally only useful when you need to support Internet Explorer 4.0, but that doesn't mean this sort of script is no longer useful.

    A more relevant example would be checking for XMLHttpRequest, but that involves two different code branches anyway due to the difference in instantiation between the ActiveX and native objects.

    I chose the document.getElementById versus document.all example because it's a simpler example of the technique. The fact that this particular example caters to an older browser is irrelevant. This sort of script is still the best method of supporting browsers with different capabilities today.