Blogs

This Blog

News

Favorite Posts

Archives

ctodx

Discussions, news and rants from the CTO of DevExpress, Julian M Bucknall

Testing with Internet Explorer 8

OK, this is both confusing and not confusing. For some reason, this morning was The Morning™ that I downloaded and installed IE8 RC1. Our ASP.NET evangelist Mehul Harry has been nagging me to do it for while (as in, "you are so far behind the cutting edge, Julian, you'll have to take into account the stretching of space-time in order to catch up"), so you could say I bowed to the inevitable.

There was no problem in installing it, though it did want to reboot my machine (and configure a bunch of stuff during the reboot).

Microscope with digital readoutOnce my machine was back, it was time to test. Because my own website is my home page (it saved all my configuration and bookmarks from IE7 — very nice), it was the first thing that came up and the first to fail. WTF, as they say on the internet.

By "fail", I mean that the browser switched to "compatibility mode" in order to display the site. You could have heard me splutter up and down our hallway, here in the DevExpress offices. For, you see, I did at least know something about IE8: that it was extraordinarily standards-compliant and that at the drop of the proverbial hat it would switch to compatibility mode if it sniffed so much as a single problem with a web page (generally, that means compatibility with IE7, not with Firefox or something). In fact, my little website is not the only one: Mary-Jo Foley reports today that the list of IE8-incompatible sites (that IE8 uses to immediately display in compatibility-mode, no question) stands at 2,400 and counting. And they're sites like google.com, yahoo.com, and, ahem, microsoft.com, not sites like Joe the Biker's site about diners on Highway 42, which he maintains with a 10-year-old version of FrontPage.

But the thing was, my site validates with XHTML 1.0 Transitional and also with CSS 2.1, using the W3C tools. Yes, that's "validates" as in "there are no errors". Perfectly legal HTML and CSS, which of course displays just fine with Firefox, Safari, and Chrome. And IE7. So, you'd have thought the page would display just fine in IE8 since, you know, it's "standards-compliant." Nope, a brief flicker and then the accusatory balloon comes up, wagging its metaphorical finger, saying that the page can only be shown in compatibility mode.

At that point, I spent some time trying to find out why IE8 wouldn't display my website properly. Quite a bit of time. Let's put it like this: if you are in charge of a website and you want to make sure it displays properly in IE8 without it slipping into compatibility mode, you have a two-point plan. First, make sure the page's HTML and CSS validate. Second (optional), if it still doesn't display properly, pray to the old gods, preferably Thor and point him to Redmond. Or splutter. Or throw your mouse around. You see, the only, and I do mean only, help you get from Microsoft about making your sites IE8-compliant is to make sure they are valid HTML/CSS and have the right !DOCTYPE and so on. I searched quite a while.

The wackiest thing: it still wouldn't display properly if I added the special meta tag that "tells" IE8 how to display the content (I used the "emulate IE7" option, but it didn't).

In trying to find out what the issue was I did learn about IE8's Developer Tools. Go to Tools|Developer Tools or hit F12 (nice touch that: Firebug in Firefox uses F12 as the keystroke to open its panel/window), and you get a separate window displaying the various tools available to the web developer. There's a DOM explorer, a JavaScript debugger, a CSS explorer, and a profiler. You can set the main browser to display standard IE8 or in compatibility mode, and you can make changes to the HTML/CSS that are reflected immediately in the browser display. A very nice tool, indeed.

Using it, I found that the issue was my main DIV having a float:left CSS style. Turn it off, and the site displayed perfectly; turn it on, I got a white screen. I think this is a bug in IE8 – I can't see why the main DIV can't be floating inside the BODY tag – but I've got to parse the W3C standards to see if I'm right or not and for that I need my copy of CSS: The Definitive Guide by Eric Meyer, which is at home.

Interestingly enough, the home page on our web site contains the header's meta tag asking the browser to use IE7 mode, but the home page displays perfectly in IE8. I'll have to check to see why we did that, especially as we seem to have the meta tag twice (we want to make really sure).

IE8 will soon be released (I think it's mid-March, probably around MIX09 time), so I would recommend that you spend a quick half-hour to see how your web site behaves with it. You may be lucky and there's nothing to do, or you may be unlucky and find that there's quite a bit. But it's much better knowing and you can always add the meta tag in the meantime.

Published Feb 18 2009, 04:56 PM by
Filed under: ,
Bookmark and Share

Comments

Mehul Harry (DevExpress)

Julian,

Nice work on catching that Div style.

And, yes, while IE8 has perf and compliance improvements, it's got some pains as well:

blogs.msdn.com/.../html-and-dom-standards-compliance-in-ie8-beta-1.aspx

Unfortunately, Microsoft has some catching up to do with FF and Chrome.

Lesson to learn from this, use Frontpage! Stick out tongue

February 18, 2009 9:06 PM

Christopher D. Todd

One thing I ran into was the script debugger won't disable. It becomes quite fustrating when you have a lot of scripts and it takes the pages three times as long to load. The only thing I have found that works, is to detach the process on each start. If anyone knows the trick to turning it off, please let me know!

February 18, 2009 10:11 PM

Trevor Westerdahl

Julian, I am attending college which extensively uses Blackboard... MS is in trouble when THE major resource for college students online sates a warning for every user since IE7....

Internet Explorer WILL NOT WORK!

In actuality IE7 could work (if you knew how). IE8 is just aweful... I have kept up with every release and I just don't get it. There are so many compatibility problems that it is just not useable for any typical user for more than ten minutes. How does something so bad get released?

The list of problems (from my view) is much longer than you suggest.

BTW: Go to any University website and note their comments with IE... all suggest than IE is not useable for students.

February 19, 2009 3:33 AM

Christopher D. Todd

Trevor, my wife has to use Blackboard and from our experience with it, I wouldn't completely hold MS responsible. It has to be one of the worst systems I've ever used. I personally think they go out of their way to make it not work with the IE, either that or they haven't updated it since the mid-90's.

Everything I ran IE8 against appeared to run well. I just couldn't deal with the script debugger slowing my work down.

February 19, 2009 8:18 AM

Julian Bucknall (DevExpress)

Trevor: The thing is, if you want a website to work with as many browsers as possible, you have to first decide which browsers they are (Yahoo! has a list of browsers that it calls A-Grade developer.yahoo.com/.../gbs and that's a good place to start -- and finish), and then you have to spend the time making sure the site works with those browsers. It sounds like the Blackboard devs don't give a %$@& about IE because they're more concerned with Linux, etc, and it becomes a matter of partisanship. Well, phooey to that.

Cheers, Julian

February 19, 2009 2:48 PM

Trevor Westerdahl

Christopher... I agree that Blackboard is nothing to brag about, if fact, it is a really lousy product. However, this is a BIG mistake on the part of MS to let this compatibility slide. Every college student in my state uses nothing but Blackboard to interact with teachers. It is a real blow to MS when IE does not work for students for 100% of college students in my state.

They are all forced to switch and I know from experience that it really does not work. If you ask students about IE, the perception is is not good. This is one particular market/area where compatibility problems should never happen/ are unacceptable.

Julian... I appreciate the third-parties that provide thier 'A-Grade' evealuations, but you should understand I have been an IE fan for years. IE 7 went downhill for me but I stuck with it.

I cannot use IE8. It crashes with my bank; it crashes with school; it crashes when I watch certain videos; and it crashes with all sorts of copy-and-paste actions. There are numerous sites where content is missing and where I get overlapping text because boundary-rules don't work.

I am not trying to bash anyone nor IE 8 specifically, but who am I doing a favor if I pretend that I don't have numerous problems with IE 8?

I simply cannot use it reliably.

February 20, 2009 10:42 AM

Eyo Sama

I have not seen the issues you describe with IE8. I also found IE7 to be a major improvement over what IE was before. Is it possible that the issues you have with IE7 and IE8 are due to something else on your system?

Another thing to note is that IE8 isn't out yet.

>> They are all forced to switch and I know from experience that it really does not work. If you ask students about IE, the perception is is not good. This is one particular market/area where compatibility problems should never happen/ are unacceptable. <<

Although I agree with you that the Education market is very important to be compatible with, I don't think it should be based on trying to be compatible with poorly designed systems. That would be going backwards.

February 23, 2009 2:05 PM

About Julian Bucknall (DevExpress)

Julian is the Chief Technology Officer at Developer Express. You can reach him directly at julianb@devexpress.com. You can also follow him on Twitter with the ID JMBucknall.
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2014 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners