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

10 of 406 comments (clear)

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

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

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

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

  5. 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..!

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

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

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

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

    READY!

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

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

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