zach.holmquist.me

Hi. I am Zach.

I am a Salt Lake City Web Developer. This site serves as a collection of scraps from around the Internet that I find interesting.

Emphasis in Web Development,  , and things that are curious and interesting.

♫ now playing

Loading Artist.

Loading Track.
live. auto-refresh.
5 January 2010

Progressive Enhancement : The Future of Web Design

Any ( good ) Web Developer is always thinking towards the future, and where the current of the Internet is heading. I have seen a couple web developers who have gotten stuck in their ways and quickly became obsolete in an industry that is always in flux.

The Web Dev community is just beginning to get a taste of the future of development with HTML5 and CSS3, and with any new technology, there comes a barrage of opinions and questions. Do I use HTML5? What are the benefits? What about IE6? etc.

What I find emerging is a paradigm shift in how we handle designs between modern browsers and broken browsers ( anything starting with IE ). That shift is: Graceful Degradation vs Progressive Enhancement.

For the last decade and more we have all played the Graceful Degradation game. The theory is: a website should look the same in every browser, no matter what browser it is. So if your design is beautiful in Safari4, it should look identical and just as beautiful in IE6. We developers figure out ways to let the experience degrade as graceful as possible, so that IE6 can share the joys of a beautiful web design that a proper browser users enjoy. What ends up happening is a developer spends countless hours on end working out every little quirk and bug. Ask any web developer what they hate the most about their job and they will all respond how much they loathe catering to any Internet Explorer.

But - interestingly - this raises a simple question . . . Why? Why do web developers spend hours and hours trying to get margins to position properly in IE? Why do we spend so much time making sure every little line appears the same in every browser?

Why?

Because the fact is - if a user is using IE6 . . .they are used to a sub-par web experience. They probably could care less about your awesome font selection, and that opaque overlay you added. Do little details like drop shadows really make a change in Bounce Rate? And to much of our frustration, no matter how long a list of reasons you have for them to switch ( or atleast upgrade ) browsers . . . they probably don't get it . . . so why should we expect a user to "get it"? After all we are Web Designers ( keyword Designers ). . . not Browser Evangelists.

Note: I am sure you disagree with the last sentence. But as Google showed, most people don't even know the difference between a Search Engine and a Browser!

Note Note: Good friend and Developer Rich made a fair point in discussing this topic: "IE6 is dangerous. By letting users use IE6 we are letting them get hacked. We are allowing worms to spread." To which I retort, I am a Web Designer not an AntiVirus developer - I can only hope their machine get destroyed so they are *forced* to buy a modern system with a modern browser.

Which leads us to what I believe is in store for the next decade: Progressive Enhancement. Fact is, IE6 is still with us . . . Microsoft is already working on IE9 and for whatever reason they cannot get people to upgrade to the latest and greatest. So rather than coding for everything to look *exactly* the same, why don't developers start with the worst and progressively add enhancements.

Arial looks just fine in IE6, and the user most likely doesn't know better and probably doesn't care. Helvetica Neue looks great on Macs, and is a System Font, so why not enhance the experience for them by using it. And finally, for the cutting edge browser user - why don't you try out the new CSS3 @font-face property? Each step up our design gets better and better - we start at the bottom and go up.

As it turns out, we have been using Progressive Enhancement the whole time with the CSS font-family property. If the user doesn't have X font, then use X font, and if they don't have X font, etc. Below is an example of Progressive Enhancement:

Why don't we apply this same concept site-wide? It is easier to enhance a site then work diligently on a design so it looks great in IE6 ( for a user who could care less )!

But with any paradigm shift, there is always the struggle to change and shift to the new thought. But maybe if you turn your past beliefs in a different light, you see the opportunity that lies before you. Has IE6 really been the problem, or is it a web developers want of Graceful Degradation the real issue? Or maybe the reason IE6 users don't upgrade is because developers cater to them and the web is still beautiful - so truly what does an upgrade offer in their eyes?