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

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

    1. Re:Stupid......IE Tricks by Coriolis · · Score: 2, Insightful

      You're coming at the problem from the wrong angle.

      Most people don't care which browser is visiting their website, what they care about is what functionality the browser supports.

      There are standards-based ways of doing that, ranging from information in HTTP headers through to the fact that if( myObject.possiblyNonExistantObject) Does The Right Thing (TM) (which was either a stroke of genius forethought or a lucky accident).

      Keep it simple, solve the problem you actually have.

      --
      Rgasuya aata! : I have been coding Perl and cannot tell where my fingers are now!
    2. Re:Stupid......IE Tricks by Zarel · · Score: 2, Insightful
      Well, in PHP, it's easy.

      <?
      if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') === false) {
      ?>
      <b>Warning:</b> You are using the Microsoft Internet Explorer browser.
      This browser is notorious for its inability to comply with W3C
      standards. In other words, IE sucks.<br /><br />
      So what should you do? We reccomend you install <a href="http://www.getfirefox.com/"
      target="_blank" >Mozilla FireFox</a> instead.
      <?
      }
      ?>


      Replace the stuff between '{ ?>' and '<? }' with whatever you like.
      --
      Want a high quality FOSS RTS game? Try Warzone 2100!
  3. hum... by Evan+Meakyl · · Score: 2, Insightful

    "Developers should ensure that their sites are ready for the IE 7 user agent string and treat IE 7 just like they would IE 6,"

    I hope not. IE6 is not totally standard compliant, I would be more pleased if they ask web developers to treat IE 7 just like they would Firefox or Konqueror (at least for HTML, CSS and Javascript...).

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

  5. Choice quote from TFA by Uber+Banker · · Score: 3, Insightful

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

    Oh, so true, Firefox is also my main testing and QA platform, though I do try to code to standards then adapt to the quirks of a single application, even Firefox has the odd lack of compliance.

    [sarcasm]Looking forward to IE7, Firefox has dominated the browser competition for too long [/sarcasm]!

  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. Re:user agent by gronofer · · Score: 3, Insightful
    I suppose if want to support MSIE users, and use a lot of Javascript or CSS, then you probably need to detect MSIE to work around some of its problems.

    But the user agent string is probably the worst way to do it.

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

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

    READY!

    1. Re:Checklist by Zaiff+Urgulbunger · · Score: 3, Insightful

      What with all the concern about the UA string above, and everyone saying using the UA string is dumb, I'd just like to add:

      What about all of us "standards based" designers who have to exploit browser bugs for functionality? As far as I'm aware, pretty much _every_ designer who codes for standards (uses Firefox or something to build) and then tests and patches for other browsers (MSIE), we all use CSS work arounds.

      **We don't know these will work!**

      Will IE7 be fixed with respect to the CSS issues, but still respond to these CSS hacks, or vice-versa (CSS hacks don't work, but CSS is still buggy)?

      It is entirely plausible that "standards based" websites will need some work so they render correctly in IE7! Of course, we can't tell until we start testing, which in reality, is true of all web browsers since they all contain a few bugs!

  9. CSS2 a flawed standard? by October_30th · · Score: 2, Insightful
    A quote from the article the previous Slashdot linked to:

    One partner said that Microsoft considers CSS2 to be a "flawed" standard and that the company is waiting for a later point release, such as CSS2.1 or CSS3, before throwing its complete support behind it.

    Any ideas what the "flaw" is?

    --
    The owls are not what they seem
    1. Re:CSS2 a flawed standard? by Ann+Elk · · Score: 4, Insightful
      Any ideas what the "flaw" is?

      Yes: Microsoft doesn't control it.

  10. Re:user agent by Anonymous Coward · · Score: 3, Insightful

    It's good that browsers like Firefox have cleared the path for Microsoft, by forcing web developers to create web pages that work with any browser, instead of working with just one or two browsers.

    I wonder when Microsoft will send their thanks to Firefox team.

  11. Re:A better idea... by Antiocheian · · Score: 2, Insightful

    Validating your HTML/XHTML code is a good idea, but the professional web designer should test his work on any popular browser out there.

    Putting a disclaimer such as the one you are proposing, is offensive and amateurish. It's not the users who should adjust -- it's the designers.

  12. Re:user agent by ummit · · Score: 1, Insightful

    Detecting (and acting on) the browser type isn't just silly, it's the biggest baddest broken thing there is on the Internet. I14y be damned! Jon Postel is spinning in his grave.

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

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

  15. Re:Firefox market share will increase even more! by gronofer · · Score: 2, Insightful
    In your scenario, these "doomed" users are only a few percent, and not all of them would install Firefox. So it's share wouldn't increase much.

    The problem for Firefox is that it's existing Windows users will buy a new computer some day, with IE 7.0 installed. Will this version still be so bad that they are motivated to install Firefox again?

    This is the advantage that Microsoft always has, and what allowed them to defeat Netscape. The browser only has to be "good enough" and indifference of the users will work for them.

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

  17. Re:user agent by Anonymous Coward · · Score: 0, Insightful

    but you just have to format to fit the lowest common denominator

    Why not format to fit the largest common denominator?

  18. 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.
  19. 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.

  20. Do absolutely nothing different by Anonymous+Brave+Guy · · Score: 2, Insightful
    What strategy must we follow to have M$ kind-of stab themselves in the foot by the selfish/greedy actions they might take in regard to IE7?

    Change absolutely nothing. Your strategy is as simple as that. Continue to develop for W3C standards, and make the usual pragmatic concessions to allow for IE 5 and 6. Make no special attempt to accommodate IE7 whatsoever.

    This strategy is a clear winner for one simple reason. The only reason MS gets a lot of developers to code for IE is because it's big. When you have 90% market share, you don't follow the standard, you define it, regardless of what the W3C and its supporters might wish were the case. As a corollary, when you have 90% of market share, a lot of ill-informed cheaposoft developers will code for your software because they don't know any better.

    However, when IE7 comes out, it will not have 90% market share. It starts at 0% like everyone else, and if it isn't directly compatible with either the W3C standards or Microsoft's previous one (the now-well-known quirks in IE 5/6) then it gets a category of its own.

    Moreover, since MS were making a big point of how IE7 will only be part of Longhorn and won't be available as a retrofit onto the previous versions of Windows, they are almost condemning it to be a minority player for several years. Just look as how many home users are still running ME, and how many businesses are still on 2000, never mind XP. (As an aside, I heard rumours of this policy changing, though I've not personally noticed anything official from Microsoft about it yet. I'll be amazed if there isn't an IE7 upgrade for WinXP available the moment it releases, though.)

    If critical web sites like banks and the big e-shops don't immediately work reliably with IE7 -- and that information will probably spread very fast -- then this will hurt Microsoft's sales and market share. Microsoft will not sell as many copies of its new operating systems as long as they rely on IE7, so they will either have to fix IE7 or drop it and advise users to switch to something that works. In the meantime, big players like Dell will not be selling as many new PCs, or they'll be stuck with the overheads of supporting multiple OS configurations at supply time. After they had to do that with Win2K, when many major customers said they just didn't want the untried-and-untested WinXP installed on their new systems, I suspect they'll be very reluctant to do it again because of something as stupid as a web browser.

    In summary, Microsoft only bullies the dev community right now because it has huge market share. IE7 will not start with a huge market share, and if Microsoft does restrict it to Longhorn only as they threatened in the past, IE7 will not develop a huge market share either. Thus IE7 is not a tool with which to bully the development community, it is a tool that must comply with the will of the development community. If it does not, Microsoft and the customers and business partners it most cares about will lose money, and that is the one thing they will not allow to happen.

    Of course, Microsoft are well aware of this risk, which is why their legendary PR machine is now trying to mitigate it. All that is necessary to defeat this ploy is to see the PR for what it is: an attempt to trick the dev community into helping Microsoft, not the other way around.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  21. Re:not a webdev, but... by bwintx · · Score: 1, Insightful
    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.

    All the JS fans are conveniently forgetting about those MSIE users who've turned off active scripting, often as a requirement by in-house IT. Better idea is to go server-side -- e.g., PHP or, for M$-devotees, [gag] ASP.

    --
    Discussion System prefs link: http://slashdot.org/users.pl?op=editcomm
  22. 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.