Let’s get pegged (PEGD)

Web 2.0 has been in full swing for a good year or so now. Lots of modern, advanced frameworks and best practices have come to light to fully take advantage of the Web 2.0 trends. Of those best practices, I would like to briefly address the notion of Progressive Enhancements and Graceful Degradation.

Progressive Enhancement and Graceful Degradation are complimentary practices. If a Progressive Enhancement won’t work, it should degrade gracefully. Some have said that
Progressive Enhancement has its limitations. True. When designing an interface, JavaScript can create such a easy and seamless interface that the non-enhanced version will have to be radically different. Also true. This, in my mind, is when Graceful Degradation comes into play. If a system fails, it must do so while being usable as long as possible. In other words, if JavaScript is disabled, a user interface should still work with traditional client-server requests.

Here is a quick view of some sites and modules that rely on PE and sometimes GD.

The Good

These modules degrade gracefully when JavaScript is disabled.

  • Gmail - A standard version is available if JavaScript is disabled.
  • Apple Video - When JavaScript is disabled, a message to enable JavaScript is displayed. Plus the option to download the video is available.

The Bad

These sites do not degrade gracefully when JavaScript is disabled.

  • CNN Video - Sorry CNN. I love the new site, but video and other things fail when JavaScript is disabled.
  • YouTube - Much like Apple, a message is displayed when you don’t have the appropriate technologies, but they do not offer a downloadable version of the video.

All in all this is a tough situation. A lot of time, resources, and money are required to fully implement a well PEGD web site. Trade-offs and priorities will ultimately win the current battle until more frameworks and best practices surface enough to become common place techniques for dealing with complex interaction solutions.

Leave a Reply

You must be logged in to post a comment.

Powered by WordPress
Entries (RSS) and Comments (RSS).