Internet Explorer hits speed bumps

In my story this week on why browsers still fail, there wasn't space to go into some of the more interesting jams that Microsoft has gotten into with Internet Explorer. But clearly there's an irony to the examples below - and a lesson to be learned as to the costs of straying too far from standards.

Proprietary approaches have forced Microsoft to make sacrifices in the name of backward compatibility. Meanwhile, Web developers going forward are less and less likely to write for the vagaries of Internet Explorer.

CSS overflow problem comes back to bite IE 7 The CSS overflow problem was just one backward compatibility issue that Microsoft faced as it cleaned up bugs and moved to standard methods in IE 7, says Chris Wilson, platform architect. In previous versions of IE the dimensions of an element on screen - its width and height – had to contain all of the text that was to be contained within that object. But if the text ran outside of bounds, IE would simply grow the element. That's not the way CSS's authors intended it to work. But when Microsoft "fixed" the problem in IE 7, Web sites that did it the nonstandard, IE 6 way broke.

The JSON Incident with IE 8

Microsoft also experienced problems implementing the new Javascript Object Notation (JSON) standard. JSON lets developers safely transfer data between domains rather than "sandbox it out," says Wilson. But many Web sites had included Javascript libraries that used the same API name that Microsoft implemented in IE 8 in an early beta release. "We overwrote that with our own library and then they tried to call their own APIs. We broke some pretty prominent Web sites on the first day of release," Wilson says.

Those sites either had to rename their proprietary versions of the API so those didn't conflict with the standard API name, or had to not expect proprietary behavior from their library, in which case the IE version would work just fine, Wilson says. "The change really needed to come from the sites, as we were doing the right thing for browser interoperability."

Coding to standards first; IE second

Developers used to code to IE first. Now, says Wilson, the tables are turned. "We are getting handed different content and different style sheets from Web sites because they wrote their code once to work in Firefox and then hacked that up for Internet Explorer." As a result, IE 7 would get the content that was expected to work with IE 6. "We would have been better off if we had gotten the Firefox content," he says.

Related:

Copyright © 2009 IDG Communications, Inc.

9 steps to lock down corporate browsers
  
Shop Tech Products at Amazon