XING Devblog

Degradation Without Grace

| Posted by

Web developers are spending a lot of time applying workarounds for technically obsolete browsers. This is causing high development and maintenance costs for the web industry.

IE7 was a step, but only one step, in the right direction. For IE6 and IE7, the extra costs of developing a web site are currently justified by IE’s combined market share, not because it makes sense technically.

A significant amount of companies are locked in due to their process dependencies. Huge applications were designed for IE6-only, not with standards in mind. They cannot simply update to IE8, even if Microsoft is moving into compliance with the web standards for their new browser.

Microsoft has, therefore, implemented a compatibility view button, so users can surf their company’s intranet with IE7-like behavior, and surf the web with IE8’s improved rendering (if the page is ready for it). Sadly, that won’t solve the locked-in-IE6-trap.

Therefore, support for IE6 cannot end, at least for sites with such a large and diversified user base as XING has. It doesn’t matter how fast the market share of IE6 decreases — the absolute numbers are too high in years to come.

But we, workers in the web dev field, dare we question some certainties of our métier? Neither the concept of progressive enhancement (modern browsers bring the best out of a page) nor the concept of graceful degradation (inferior browsers do leave an acceptable impression at least) prevented the messy situation that we are in.

Maybe we have hit a dead end.

If we name everything that is needed for IE to approximate a standards behavior a hack, then it must be admitted that we practice vast presentational hacking. The rendering has to be pixel exact with regard to the photoshops and expectations of our co-workers, and these expectations are projected with ease onto our clients.

Isn’t it ironic that we, as web developers, have made this nonsense possible? It is our documentations and analyses of browser bugs. We, not the vendors, did that. We found workarounds for today’s complex pages in IE, or, if this failed, we reverse engineered its bugs for standards-compliant browsers so they act like IE. So we made this trap for ourselves, conscious of the consequences or not. IE has been code-frozen for many years — same as the web development process in our heads.

The current paradigm: A page has to look equal in all browsers, that is, like in IE6. We stopped thinking about how ineffective this is and how much the performance of a site is slowed down.

To be honest, there was never an identical user experience for IE6 users, compared with users of modern browsers.

The web is about information, networking, and interaction. This means, a page simply has to work. As I see it, disgraceful degradation would abandon the attitude of everything-is-possible. Functional hacking should supersede the obsolete presentational hacking now, or we keep being trapped in a costly, mutual mistake of the web developers and the web consumers.

We understand the fact that IE6 cannot be updated immediately, and to be clear, we will make strong efforts that a page does work in IE6 with a rich user experience. However, it is not set in stone that a browser of 2001 should display the page equal to recent browsers like Chrome, Safari, Opera, Firefox, and IE8.

It’s just a pixel less here and there, not a revolution.

About the author

Ingo ChaoIngo Chao is Manager Quality Assurance with a background as a front-end engineer at XING. He wrote a book on CSS, and he frequently contributes to the css-d mailing list. XING Profile »


8 thoughts on “Degradation Without Grace

  1. Wie immer ein lesenswerter Artikel von Dir.
    Du sprichst mir aus der Seele. Man kann nicht einfach Menschen – die es nicht wissen, nicht können oder nicht wollen – von Angeboten im Netz ausschliessen. Wir haben über Jahre hinweg dieser Entwicklung Vorschub geleistet und müssen dies als Konsequenz auch tragen: No, we cannot stop supporting IE 6.

    Danke!
    Gruß
    Thomas Speck

  2. Auch mir spricht er Artikel aus der Seele.
    Lieber heute als morgen würde ich auf Hacks für den IE6 verzichten!
    Aber: Die Besucher entscheiden mit welchem Ausgabegerät sie sich die Webseiten ansehen, vorlesen lassen oder was auch immer damit machen. Wenn ein relevanter Prozentsatz den IE6 als Browser nehmen (müssen), ist dieser Zombiebrowser weiter zu unterstützen. Den Umfang der Unterstützung würde ich allerdings am Anteil der Besucher mit diesem Browser orientieren.
    Sowohl aus Gründen fehlender Unterstützung von Webstandards als auch wegen der besonders vielen und gravierenden Sicherheitslücken beim IE6 halte ich es aber für vertretbar, dezent Besucher mit dem IE(6) auf die Möglichkeit des Wechsels zu einem modernen Browser hinzuweisen.
    Gruß
    Dieter Welzel

  3. Ingo,

    thank you for sharing your thougths with us.

    >>Isn’t it ironic that we, as web developers, have made this nonsense possible?<<

    Yes, it is :-) and I wonder why. As a normal Internetuser, I use my standard Browser with all the bookmarks in it: I don’t waste my time by thinking about different views in different browsers, because I normally use only one.

    As a kind of random webdeveloper, I spent half of my time thinking of “debugging” these different views in different (desktop) browsers. I saw this point some months ago and decided to go the way you mentioned.

    As long as I can serve all the functionality the user needs, I use a somewhat visual graceful degradation in design aspects, if a pixel-exact presentation would need more than some codelines of css, i.e. modifying the HTML structure only in favour of obsolete browsers.

    Now, I still spend nearly half of my time “debugging” different views, but I’m feeling better with it.

  4. Ah yeah,

    the eternal IE6 problem! I’m facing the same problem on a daily basis as a front-end developer. I am not going to stop supporting, but I AM using more dirty tricks in my IE6 only CSS stylesheet.

    - I’m not afraid to use more resource hungry PNG filters whenever it’s needed.
    - The same goes for expression rules, with which I can emulate CSS like “first-child” for example in IE6.

    Stuff like that. This way, the websites can still be viewed with IE6, but they are a bit slower by using that browser.

  5. You kids these days. You think this is bad? Back in the early 90s, when HTML was still being born every browser had a different take on which new features to implement and when. It was a weekly battle to keep our site up to snuff!

  6. It is that long time between IE6 and IE7 that have made companies feel comfortable with their chosen platform, but they should realize by now that that was an exception (and a mistake on Microsofts’ part). When you consider a browser platform as a platform for applications you should now be aware of the fast changeing nature of that platform and be able to keep up with that. I’m not very much looking forward having to support IE7 for many years to come wereas I can now already easily drop Firefox 2.x support.

Leave a Reply

Your email address will not be published. Please fill out the required fields.

  • You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>