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

23 of 406 comments (clear)

  1. Shut 'em out by markdavis · · Score: 4, Insightful

    Oh yes, gotta prepare all those sites out there so they don't shut out IE7, like they do non-MS browsers. Personally, I think it would be refreshing for IE7 users to see something like: "We are sorry, but we don't support your browser. Please upgrade to the latest Internet Explorer. We don't believe in standard HTML."

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

    1. Re:user agent by Decaff · · Score: 4, Insightful

      If you do that, you have most of the web.
      The rest are then people using outdated tech
      (like Netscape 4.x, IE 4/5 etc)


      Most is often not enough. If you are developing and supporting a website that has tens or hundreds of thousands of users, and even a few percent are still using old browsers, your complaints department will be swamped by annoyed users. Simply telling them that they are out of date is not good enough. I speak from harsh experience.

      Checking the user agent string is often an unfortunate necessity.

  3. 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 pe1chl · · Score: 4, Interesting

      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, which they consistently referred to as "Mozarella". They believed all problems seen on Mozilla were Mozilla bugs, and they added browser detection and workarounds.
      Of course it still failed on Opera and Konqueror.
      They used an awful piece of Javascript to make dropdown menus.

      When they were done, maintenance was handed over to me and I gradually changed all their work to make a standards-conformant site that still rendered the same way. It was a lot of work, starting from the dire state it was in.
      But finally, it renders OK and the menus work on most browsers without using javascript.

      Exceptions:
      - CSS menu only works in IE by including csshover.htc (conditional inclusion using <!--[if IE]...). maybe IE7 will support :hover on list items?
      - IE4 and below don't quite cut it, fallback to javascript code using serverside UA string detect. these are dying anyway, probably I will remove this support when IE7 appears.
      - bug 234788 in GECKO means the menu disappears when mouse moves over scrollable text area. this bug has been fixed in GECKO but Mozilla and Firefox keep releasing new versions based on the broken GECKO for over a year.... We want Firefox 1.1 and Mozilla 1.8!!!

      What I learnt: use a website design bureau only to make a site design. Don't allow them anywhere near HTML coding. They just use successive approximation towards the "browsers they test with", and try to impress managers with "browser utilisation percentages" instead of standards compliance.

    2. Re:Let them release first, then we'll see by Anonymous Coward · · Score: 4, Interesting

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

      Actually, I had the absolute opposite results when I had a website design bureau design our site. They did the design great, the HTML was standards compliant and they actually tested all pages on IE, Mozilla, FireFox, Safari and Konqueror, even in multiple languages and OSes, and were open and admitted where things would have rough edges with the older browsers, and how they worked around to make sure it worked, just not worked beautifully. It was a very pleasant experience.

      Then our in-house web-app coding team butchered the HTML to pieces, re-coded parts of it that looked fine in IE6 and crap on everything else. The final HTML code that the web app spat out did not resemble anything like what was originally made. It was terrible.

      To make things worse, the web app coders told their manager that the HTML coders were to blame for the problems, and the manager didn't bother to check the facts when he blamed the web design bureau. The designers were (rightfully) pissed off, and basically told us we were not welcome back as customers again.

      So... YMMV on either side of the story.

  4. UA strings! by Freexe · · Score: 5, Funny
    Surely Microsoft have learnt by now that UA detection just doesn't cut it anymore.

    I really hope IE7 has improved its standards compatibility so I don't have to change to much of my code! (Hopefully none of it, if MS have done a good job)

    We can only cross our fingers and hope it will pass the acid2 test (at the very least have improved some of its css)!

    --
    "In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
  5. Stupid......IE Tricks by Chanc_Gorkon · · Score: 5, Insightful

    First off, anyone using the user agent for ANYTHING is stupid. It's so easily changed in browsers other then IE that I can get into sites intended for IE with any browser.

    Second, why should this type of warning even be needed? Because Microsoft themselves are guilty of telling developers to ONLY code for thier browser....something no other browser asks developers to do. Microsoft has definitely shown yet again that they want people to ONLY use their stuff and they want a web that ONLY works in thier browser.

    --

    Gorkman

  6. uh, yeah.... by towndowner · · Score: 5, Funny

    my web site's been prepared for IE7 since 1996 or so.

  7. Re:oh pretty please... by BoldAC · · Score: 4, Insightful

    Quote:
    "There are undoubtedly many Web sites that are so poorly built or tested that IE7 will break them," he said, "So it's not entirely dumb to make a fuss about IE7's impending release."

    Translation:
    IE7 will continue IE's ways of non-standardization. Expect IE7 to break your site.

  8. Nope... by ozamosi · · Score: 5, Funny

    As this article states, IE7 will not support CSS2. But come on! Give MS some slack! The CSS2 standard is only 7 years old. You must give them some time to implement the thing..!

  9. Re:not a webdev, but... by datadriven · · Score: 5, Insightful

    Usually it's better to check for DOM objects than user agent strings.

  10. Checklist by Boss,+Pointy+Haired · · Score: 5, Insightful

    Valid HTML/XHTML..... Check
    Valid CSS.... Check

    READY!

  11. Back To The Status Quo by ObsessiveMathsFreak · · Score: 4, Interesting

    TFA says it all:
    "I don't use IE at all, but I'll test on it because I have to," said Web designer Donna Donohue...."We code to standards to be compliant with Firefox, and then hack for IE."

    So if MS is standards compliant with IE7, there should be nothing to worry about. Of course we all know that that is NOT going to happen. IE7 might be standards based, but expect sweet and fattening IE7 only extentions in HTML pages that will break other browsers rendering.

    I suppose this is why MS is calling for developers to pay attention to the new IE UA. IE7 might be rendering in a totally different way to IE5/6 and so will need to be treated differently to other browsers. In other words, MS wouldn't need to bother to mention this if IE7 was standards compliant. I'm smelling a hoard of compatability problems in the near future dragging us all back to the dark ages similar to the following.

    However, Champeon added that he builds sites from the ground up to work in any Web browser, by following the set of principles known as "progressive enhancement."
    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.

    --
    May the Maths Be with you!
    1. Re:Back To The Status Quo by Sentry21 · · Score: 5, Insightful

      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.

      Perhaps you're thinking of a different 'progressive enhancement' than I'm used to. When I think progressive enhancement, I think of the method I (and those I know) use to construct websites.

      1. Write your content
      2. Mark your content up using semantic markup
      3. Once the content is marked up, do the design (or have a graphic designer do this parallel to the first two steps
      4. Convert the graphical design to CSS and apply to site
      5. (optional) Add Javascript to enhance the functionality of the already working site

      Where a lot of developers make their mistakes is that they use things like Javascript and (to a lesser extent) CSS for the main functionality of their site - for example, a navigation bar of non-links with dropdown menus of links. If, however, the javascript doesn't work in your browser, you get no links and cannot browse the site.

      The proper way to do things is to build a site that works before even adding CSS. Once you have your content in a presentable manner, then you add CSS. This ensures that your HTML will be usable across all browsers (e.g. w3m). Once that is done, you add CSS to style it. This makes it a lot easier to work around crappy IE bugs, because you're doing it one step at a time and don't have to worry about putting hacks into the HTML or using nonstandard tags.

      Only after one has a working site should one add Javascript - the rare exception can be said to be 'web applications', where the functionality of the site requires client-side scripting. Regardless, adding Javascript last means that your site will work without Javascript or without the Javascript implementation you're used to. This is important.

      For an excellent example of these principles used, specifically the use of Javascript as an extension of the page, and not as a component of the page, take a look at the Happy Spork image gallery. Play with it with Javascript on, and with Javascript off, and notice that the functionality is exactly the same - just accomplished differently - in either case.

      That is what I think of when I think progressive design. Maybe I'm thinking of something different than you are.

    2. Re:Back To The Status Quo by Anonymous Coward · · Score: 5, Insightful

      Nice fantasy land you live in.

      Here's the real world of site development.

      1. You already have several thousand pages of content output from a database that includes HTML directly in the dataset.

      1a. There is no additional developer resource to modify the database and/or the database itself serves other clients who want it the way it is.

      1b. Understand your site is going to be "invalid" from the get go.

      2. Mark up your new *framework* code using web standards.

      2a. Discover that the interplay between the "good" mark-up and the "bad mark-up" is causing problems in multiple browsers.

      2b. Don't bother fixing just yet - the design process will also gave an impact on structure whether you like it or not - unless you are one person doing everything in which case you don't have these kind of problems - equally bragging on /. about the "right way" is laughable - it's like a guy who once put up a shed trying to critique an building engineer.

      3. Once the framework is marked up meet with the Interaction designer, the Brand manager and any other stakeholders.

      3a. Discover they've already got a brand design in mind. It's contrarian to the way you coded your framework. Understand they're also professionals and have a point. Realise you can't force them to do it your way because arguments about semantic mark-up and clean code matter little versus the vast amount of cash they've sunk in the brand identity over the life of the company.

      3b. Go back and stare at your framework and sample output.

      3c. Try some things.

      3d. Rinse and repeat.

      3e. Arrive at framework that pretty much supports the interaction and branding requirements.

      4. Convert the graphical design to CSS and apply to sample content - testing as you go - the fact you don't control all the mark-up makes you swear a lot. You drink coffee. You do the best you can and document the hacks and exceptions in the vain hope that those come after you may finish the job properly.

      5. (mandatory) Modify existing Javascript to maintain the exsiting functionality of the site users have been using for three years plus.

      5a. You may need to go look at that framework again some.

      6. Test, test again, test some more.

      6a. Release.

      7. Spend futile debrief meeting begging for the additional budget to migrate the database content to proper separated semantic mark-up and content.

      7a. Accept management will look at you blankly. Then refuse the request. Then start making plans for additional features instead.

      7b. Make occasional acerbic posts on /. when cretins claim it's just as easy as ABC.

      This coward works for a large media organisation you all frequently claim is one of the best in the world.

  12. Re:CSS2 a flawed standard? by Ann+Elk · · Score: 4, Insightful
    Any ideas what the "flaw" is?

    Yes: Microsoft doesn't control it.

  13. Get Ready!? by Midnight+Thunder · · Score: 4, Interesting

    This just makes no sense. A website that is properly designed should not have to get ready for any version of a web browser, since it should already support most browsers on the maket, including, but not limited to: Safari, Firefox, Netscape, Opera, IE and Konquerer. Sounds like MS is encouraging the development of shody sites, which are IE centric, which is VERY bad.

    --
    Jumpstart the tartan drive.
  14. The difference in User Agents by Kamiza+Ikioi · · Score: 4, Funny

    IE6:
    Mozilla_4.0 (compatible; MSIE 6.0)

    IE7:
    Firefox_1.0 (compatible; MSIE 7.0)

    --
    I8-D
    1. 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).
  15. feedback post on the original article's forum by Rufus+T.+Firefly · · Score: 5, Insightful

    Most /. readers already know not to use user-agent string evaluation to conditionally server content (it's lame to do so).

    However I tried to persuade the readers of the original forum where the article was posted with a post. I adopted a rational argument and hopefully it will influence the non-slashdot audience with what I hope is an eloquent statement against this inane (but perfectly understandable from the vendor's perspective) advice.

    original article

    And here's my post there:

    Subject: Microsoft is deadly wrong about this advice

    First, I am a strong Microsoft supporter and have personally benefited from the use of their products. However, the most important reason for the web's creation -- and its primary value -- is to allow hitherto incompatible content formats to be seamlessly integrated according to internationally accepted standards, e.g., HTML, XML, HTTP, CSS, etc. No single vendor can lay claim to any of these languages or protocols, i.e., they are standards, not proprietary systems, owned and controlled by a single vendor. By conditionally serving content based on a single vendor's proprietary user agent (IE 7, Firefox, or Opera, for example), you not only reveal a profound misunderstanding of the web's great communicative power, but you will paint yourself into a corner from which you will find costly to extricate yourself (I know, I already made this painful mistake once, in the last decade).

    In summary: build your content according to standards (not ipso facto, ephemeral market-share ideology), and let the browser vendors do what they're supposed to do: innovate while simultaneously and rigorously adhere to W3C standards.

  16. Coding for standards is too expensive! by standards · · Score: 4, Insightful

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

    Interestingly enough, I have the opposite experience. We reuse our proven code to make sure that our sites work properly with all modern browsers. Pretty standard stuff for all serious software development professionals.

    We use a lot of fancy features, support a fancy text editor, calendar widgets, hierarchy controls... basically, everything that people want out of a modern browser interface. And do you know what? Our resulting software works and looks great with IE, FireFox, Opera, Konqueror, and more.

    We have tens of thousands of "very active" users per day, and we never get a complaint about our software not working with a less popular browser.

    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.

    It's all about good design and management practices. If you do some planning for the future by making good, solid, reusable code the first time, you actually end up saving a ton of money. Save time, money, and sanity.

    Sadly, most software development organizations just can't handle doing their job right. They don't bother to build good reusable code, resulting in a tedious, unreliable, never-ending tweaking effort whenever the next service pack is released.

    No wonder why so many companies have outsourced their development to the 3rd world. Lousy software development practices, such as coding for just the one corporate standard browser, is prohibitively expensive.

  17. the biggest change in IE7... by l3v1 · · Score: 4, Insightful

    ...will obviously be: developers can start work now to prepare for IE 7 involves the UA (user agent) string, just so you know. I would be much happier if they had ever began warning web "developers" to change their codes to conform to html/xhtml and css2 standards. Instead they warn to check for the new IE version string, probably to be able to write yet another customized hack for your pages to work.

    Hell, last time of such a hack [regarding IE6] happened when I rewrote a javascript menu into a quite simple and clean css version: it was pretty in firefox, konqueror, mozilla and opera, but it didn't even look like a menu in IE6 (w/ xpsp2). It took me 2 hours and about a dozen customized lines of code especially for IE, to make it look like it did elsewhere, in real browsers.

    I don't care how high levels of enlightened self-interest [ :] G'Kar if your friend ] drive MS as a company, and how lame-proof they want to make their OS and software. Make software that 1). is good, 2). that works, 3). isn't bloated [does it's function, nothing more, but does it well], 4). doesn't cost a fortune [at many places on this planet].

    Sometimes MS reminds me of good old OCP from Robocop movies: it's so big and it's so alone that you have no choice but to live with it.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.