Comments on: Progressive Enhancement vs Graceful Degradation https://blogs.perficient.com/2013/01/29/progressive-enhancement-vs-graceful-degradation/ Expert Digital Insights Thu, 31 Jan 2013 17:49:34 +0000 hourly 1 By: Pete Yagmin (@peteyagmin) https://blogs.perficient.com/2013/01/29/progressive-enhancement-vs-graceful-degradation/#comment-15716 Thu, 31 Jan 2013 17:49:34 +0000 http://blogs.perficient.com/perficientdigital/?p=5743#comment-15716 First, let me preface my comments by stating that I am primarily a back-end web developer, so most of my front-end code focuses on ease of use and functionality over eye-candy whether it’s jQuery or CSS gradients, transitions, etc.
I completely agree with your suggestion of feature detection over browser detection, relying on the user-agent string is unreliable at best. I also agree with progressive enhancement in principle, but web standards exist so that we don’t have to write specific code for specific environments.
We’re no longer in the age of design for Netscape first and it will look OK on every other browser. In fact it’s just the opposite now where IE is the one you have to make hacks for. For me, this just feels like I’m encouraging bad behavior.
If Microsoft doesn’t support IE6 anymore, I’m certainly not going to. And if the user is going to insist on using a browser from a publisher who wants to make their own web standards (IE 8 is broken because of this) then I’m going to encourage the user to download a modern browser or at least install Chrome frame.
Corporate IT departments need to get out of the dark ages and start supporting Google Chrome. It’s far more secure that Internet Exploiter.

]]>
By: Martin Ridgway https://blogs.perficient.com/2013/01/29/progressive-enhancement-vs-graceful-degradation/#comment-15715 Tue, 29 Jan 2013 19:45:43 +0000 http://blogs.perficient.com/perficientdigital/?p=5743#comment-15715 Amit, I’d definitely feel the same way. IE6 users shouldn’t feel excluded from accomplishing what they need to on a website. If we’re doing our job properly, then our baseline should probably be “unstyled HTML with no JavaScript”, and add CSS and JS progressively as browsers become more capable.
There are very few instances in which I think progressive enhancement is the wrong approach, but one would be where scripting is inherent within the product itself – think of maps, etc. In that example, we have to assume a certain level of functionality and capability for anything to work at all. A second example would be the retrofitting of an existing site where the project lacks time/budget for a more complete approach. But those are edge-cases. The vast majority of projects would benefit enormously from a progressive enhancement approach.
Your example of the mobile app is interesting, and it’s something that on first glance I’d have assumed to be fine – HTML5 and CSS3 works on all devices these days, right? Apparently not. In that case – had I been aware of the issue – I would have recommended feature testing (not browser sniffing, or any other nastiness) using something like Modernizr, and – where applicable – adding transitions based on the capability of the browser accessing the content. It may not have been possible in your specific example, but that would be a general approach I’d recommend. Defensive design! 🙂
Natalie, if you can think of a way to get everyone off IE8, I’m all ears! 🙂

]]>
By: Amit Malhotra https://blogs.perficient.com/2013/01/29/progressive-enhancement-vs-graceful-degradation/#comment-15714 Tue, 29 Jan 2013 18:23:05 +0000 http://blogs.perficient.com/perficientdigital/?p=5743#comment-15714 Great post! I think I get the essence of this argument, and it would have been great to see an example of a situation or design problem.
BTW what will happen if I substitute “IE8” in your post with “IE6”. Would you still feel the same way? 🙂
Do you think that starting with the minimal common denominator always is the best way to go? Are there situations where that approach may not be best?
In the mobile app world, when building cross-platform apps, this task gets more challenging. In one of our efforts, HTML5/CSS3 was not fully functional on certain Android version+device combination. We ended up turning off the transitions between app screens completely for Android. Bit drastic, but what could we do differently? Perhaps in the interest of commonality, not have had the transitions at all everywhere, then added them selectively onto the iOS apps? Then would it matter which one we did first?

]]>
By: Natalie Kurz https://blogs.perficient.com/2013/01/29/progressive-enhancement-vs-graceful-degradation/#comment-15713 Tue, 29 Jan 2013 17:25:22 +0000 http://blogs.perficient.com/perficientdigital/?p=5743#comment-15713 Martin, great post! It makes absolute sense to start simple and layer on enhancements, rather than “dumb down” the experience. it’s the same logic behind the “mobile-first” movement of design/development. Now if we could only figure out a way to force all those poor schmoes stuck with IE8 to upgrade or switch browser #wishfulthinking.

]]>