by admin | Feb 16, 2015 | Dev, UI/UX |
Graceful Degradation vs Progressive Enhancement Graceful degradation and progressive enhancement are two often confused concepts. Many people (developers, designers, other web professionals and not so savvy people) either fail to understand or decline to acknowledge the difference between the two. Both concepts are useful. Both are good practice. But: I believe that the subtle differences that people often ignore between these two concepts are also the reasons why progressive enhancement is a superior concept and a superior practice. Graceful Degradation Graceful degradation states that we should implement our new tricky features and then provide a graceful degradation for less sophisticated browsers/clients. The concept comes from computer science originally and states that a system or network should be able to remain functional even when a large portion of it is destroyed. Progressive Enhancement Progressive enhancement is a concept that essentially works as the reverse of graceful degradation. Rather than modifying our system to degrade for older browsers, we build it initially for those older browsers and then progressively enhance the experience to make use of newer technology. I believe this approach encourages designers and devopers to produce a product that functions well in older technology, where there is a tendency with graceful degradation to compromise on the solution for older browsers. Why bring this discussion up again? I’ve been teaching the web course at Shillington College the past few weeks and the discussion of students topics comes up on numerous occasions due to the nature of the HTML5 and CSS3 technologies that we are now teaching. The advent of these new technologies has seen the topic of continuing support become...