May 13th
2010

Yeah Yeah, Progressive Enhancement

I admit it, I think “progressive enhancement” is for lazy developers.  I have a personal goal that every site I work on looks the same in every browser that my client’s customers use.  It’s not that far fetched an idea, and one that is supported by some of the best web shops that exist today.  

Then, I get a phone call and a client asks specifically for a “progressively enhanced” site.  I nodded silently during the call, all the while thinking, I’ll still build it for every browser.  Later in the week as I reviewed my notes from the client call, I made a decision.  If this client is savvy enough to ask for progressive enhancement, then I might as well try my hand at it.  Hear me when I say this goes against everything in my being.  The little people inside of me that operate the kick-butt machine that is Noah (you should see me on the bball court [@twatson, @ryanirelan, @simmy]) were screaming and kicking at the very thought of such a violation.

The site design called for some rounded corners and some drop shadow.  I found the http://border-radius.com site to come in quite handy for generating cross browser code.  (Does anyone else find that ironic, that even though these browsers support CSS3, they still can’t agree on a syntax?) A little bit of the box-shadow (again with the multiple syntax) and the site was actually looking pretty identical to the PSD.  

I fired up IE and braced myself for the sure to be ugly implementation, and was pleasantly surprised that the design degraded gracefully without the rounded corners or the drop shadow.  (That is most likely because one of the best designers you and I know did it, so that helps.)  There were actually no IE changes that needed to be made.  I thought about adding a javascript implementation of the rounded corners, but again I withheld because that wasn’t what the client had asked for.

Looking back now, it was incredibly easy to build out a rather complex site using CSS3.  Like, really easy.  Not having to build bulletproof rounded corner divs with drop shadow saves quite a bit of time.  I wouldn’t go so far as to say it was more enjoyable, because to me, all front end development is enjoyable, but it was definitely a fun, eye-opening experience of what the future holds for web developers.  

So, perhaps my stance has changed on progressive enhancement.  Maybe it’s not for the lazy rather for the forward thinkers.  Either way, I’m still going to be coding all of my projects for the browsers that my client’s customers use.

Next Post → ← Previous Post