Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Moving forward from Internet Explorer

Dave Shea is advocating moving forward from Internet Explorer, enhancing pages for more advanced browsers (Mozilla, Opera, Safari) using additional style rules that are hidden from IE by using selectors it doesn’t understand. Essentially it means adapting the approach we’ve been taking to Netscape 4 for the past few years to work around flaws in the current browser generation’s backwards cousin.

It’s a fun idea, and one I’ve seen quietly taking off over the past few months in various corners of the web. Naturally, the trick is to only use it for enhancements that would not be missed by the IE using masses. Sticking to standards compliant enhancements (such as the hover pseudo selector on non-links) is a good idea as well (no matter how tempting Mozilla’s curved border support is) as it means that when IE catches up in 2005 or so its users can enjoy the enhancements as well.

This is Moving forward from Internet Explorer by Simon Willison, posted on 25th June 2003.

View blog reactions

Next: More caching

Previous: More thoughts on RSS

12 comments

  1. Think the other thing is still "harassing" online operations which don't bother to test their pages in anything other than IE.

    One prime example (while I'm still foaming at the mouth), while trying to book a flight today, is Opodo - a German "ebookers". Notice the form for searching for flights (top right) on the first page - with Firebird 0.6 or Opera 7.1 clicking on "Suche" (search) after selecting a couple of airports does nothing - the Moz JavaScript console remains completely quiet which is even wierder. Basically any orange button on their site is the same: does nothing.

    Haven't looked any further into why (I was put off by the large amount of white space at the top of the source) but that an online company can marginalize some of it's customers is still beyond my understanding.

    Harry Fuecks - 25th June 2003 21:05 - #

  2. I've picked up a new practice when designing sites. First of all, I code it the way that makes the most sense (often using display: table on so on). Then, I put in the code for Internet Explorer.

    Almost without fail, it ends up increasing the amount of rules by about 30%, plus I have to add back in the rules that _should_ be there, only are hidden from Internet Explorer. Yes, I know I could cut back on a bit of work for myself by implementing it for Internet Explorer first, and then just overriding bits and pieces here and there, but I think it's informative to actually see just how much work has been created for web developers by Microsoft by separating the development process in this way.

    I can point to this work and say "It takes me 30% longer, and therefore costs you 30% more, simply because the world's most popular web browser was never coded properly, and has no upgrade path. This will be true for years to come."

    I fully expect my clients to carry on happily using Internet Explorer.

    Jim - 25th June 2003 21:30 - #

  3. PS: I'm getting a lot of database errors, and when loading this page originally, the form fields were filled out with your details, Simon. Playing with the database? :)

    Jim - 25th June 2003 21:31 - #

  4. Oops - I just had the page load with your details. That's a problem with the new caching system, I'd forgotten that the pre-filled form fields were done server side, so when the page gets cached the form data is cached too. I'll have to switch it to using client side code (easier than only partially caching the page) which could take a few minutes.

    Simon Willison - 25th June 2003 21:43 - #

  5. css

    body[id~=zlog] { /* No IE 6 Here */ }

    xhtml

    <body id="zlog">

    Useful for say, scaleable-cross-browser font sizes

    (nb. this is a bit redundant now since Safari returned to the 16px default font size for v1.0)

    zlog - 25th June 2003 21:48 - #

  6. Yes, a common way of hiding stuff from Internet Explorer is to simply prepend html > body to each selector.

    I fail to see what the big problem with cross-browser font sizes is. Leave your text at 100%, and it's bound to be suitable. I don't know how you can justify something like 69% though - I chose my font size for a reason, and 69% of that font size is not nice to read.

    Jim - 25th June 2003 22:05 - #

  7. Yes, a common way of hiding stuff from Internet Explorer is to simply prepend html > body to each selector.

    I fail to see what the big problem with cross-browser font sizes is. Leave your text at 100%, and it's bound to be suitable. I don't know how you can justify something like 69% though - I chose my font size for a reason, and 69% of that font size is not nice to read.

    Jim - 25th June 2003 22:05 - #

  8. Yes, a common way of hiding stuff from Internet Explorer is to simply prepend html > body to each selector.

    I fail to see what the big problem with cross-browser font sizes is. Leave your text at 100%, and it's bound to be suitable. I don't know how you can justify something like 69% though - I chose my font size for a reason, and 69% of that font size is not nice to read.

    Jim - 25th June 2003 22:06 - #

  9. Oops, sorry. It kept saying that the db connection had failed, so I assumed that it couldn't have put the comment in.

    Jim - 25th June 2003 22:07 - #

  10. The database connection errors are getting pretty bad now. The caching isn't helping much yet because it still tries to establish a connection even if it's going to serve the page from the cache - bad system architecture unfortunately.

    The single problem with leaving the font size at the browser default is that sans-serif fonts (Verdana in particular) look hideously ugly at the default size in all modern browsers. That's the main reason I've switched to using Georgia for most of my sites - it looks OK at default size, so I don't have to mess around with font sizes as much.

    Simon Willison - 25th June 2003 22:14 - #

  11. Related article:

    "Progressive Enhancement and the Future of Web Design"

    by Steve Champeon 18 June 2003

    http://hotwired.lycos.com/webmonkey/03/21/index3a. html

    Ian Lloyd - 27th June 2003 15:00 - #

  12. I pity these people who attack IE just to bash Microsoft. Nobody is going to buy the stupid claim that Safari or Opera is better than IE 6. That's quite stupid. Firebird is better than IE for web browsing, but there are some few areas where IE is still the king. But let's assume some people are "honest" and they just want to use the latest technology. If I remember correctly, we had this issue of trying to support every other browser out there as much as possible. We were doing this when worse browsers were out there and people are trying to move away from IE? The first thing you should do is to kick that designer out of the company, no matter how "skillful" he is, because poor judgements in business do not accept such emotional stupid decisions. Nobody can leave away from IE, this is not about bashing Microsoft mindlessly, this is about designing sites that accessible to as many people as possible. However, for those who think in a positive way, using mozilla specific stuff (whether it is standard or not, frankly I don't care, you can go anyway you want there) is a good idea as long as you don't hurt IE. I do that all the time, I use IE specific stuff without hurting mozilla or the other way around. But this is not for a web site, this is for a web application. For web sites you need to be careful about the support for safari, and maybe opera.

    Sergio - 29th January 2004 12:58 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/06/25/movingForward

A django site