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. '"
...the terrorists have already won.
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."
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.
"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.
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
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
"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...).
my web site's been prepared for IE7 since 1996 or so.
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.
"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]!
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..!
Usually it's better to check for DOM objects than user agent strings.
GETPKG - Package Management for Slackware
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
Valid HTML/XHTML..... Check
Valid CSS.... Check
READY!
Any ideas what the "flaw" is?
The owls are not what they seem
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!
Let's see, IE7, SQL Server, Longhorn, new versin of .NET, etc -- we developers have a lot to prepare for.
It's a wonder we can get any work done. Looks like we'll just spend all of our time getting ready for 27 new versions of Microsoft products.
HP To Lay Off 15,000 Workers
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.
Validate with the World Wide Web Consortium . If the site breaks on IE7... put a disclaimer on the main page, telling your viewers whose fault it is, and that there are other, better, standards-compliant browsers out there!
Circumcision is child abuse.
IE6:
Mozilla_4.0 (compatible; MSIE 6.0)
IE7:
Firefox_1.0 (compatible; MSIE 7.0)
I8-D
I think that if a major PC buyer - read government, decided not to let systems with non compliant browsers be marketed in the country, M$ would listen to some extent. However, for this approach to succeed, many governments must do the same...not just one. The EU could do this. So could Russia and China. Is it time to lobby these governments on this just like was done on the software patent issue? But again, as an individual, I want more...ie...to be able to completely remove all traces of IE on my PC and let any browser specific component be handled by a browser of my choice. What about that?
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."
From TFA:
Currently IE's user-agent string defines itself as a browser compatible with "Mozilla/4.0". I wouldn't doubt that line means they're changing to some new format (directly specifying it's MSIE rather than saying it's compatible with an old browser, just like Opera). That then could be what broke so many websites into not recognizing it as IE.
But as the article is too vague on this aspect, we can't really be sure.
Microsoft should be urging developers to follow standards, so long as people adhere to accepted guidlines such as those laid out by w3c consortium people *will* be prepping themselves for IE7. That is of course unless Microsoft are planning to ignore them and produce another browser that has a crapped out implementation of the DOM with added non-standard extensions.
...
Nearly *all* the web developers I know that are worth their weight curse regularly at the bag of bile that is IE. Firefox is just a better browser , plain and simple. Just what does IE offer (that is not a proprietary IE only extension) that is going to change things for the better?
nick
Electronic Music Made Using Linux http://soundcloud.com/polyp
If it makes you feel any better, I write fairly DOM/CSS/Javascript heavy web apps, and test on IE5.5 and Firefox 1.0.
It's not hard, and I don't do *any* UA detection*. The key is picking the right standards subsections, and implementing the missing stuff yourself. IE has been "good enough" since version 5.5, assuming your layout won't get broken due to text in a DIV being "off" by a few pixels, etc. Remember, users come for content, anyhow!
Incidentally, most of my stuff works on IE4.0, but it's pretty damned ugly.
* UA detection is used to pop up an alert box bitching about the browser version and recommending firefox. Does not otherwise impact site. Non-JS users get bitched at via NOSCRIPT tags.
Do daemons dream of electric sleep()?
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:
"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.
Could you elaborate? I've been looking for non-UA methods of browser detection ...
Who doesn't like free music?
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.
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.
...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.
:] 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].
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 [
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.
"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.
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.
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."
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.
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.
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.