Discuss: Progressive Enhancement with JavaScript
by Aaron Gustafson
- Editorial Comments
22 Re: Removing inline scripts
Jus thought I’d mention a brilliant tool for when you’re going round looking for obtrusive scripts to remove: the Obtrusive JavaScript Checker Firefox extension.
posted at 04:45 pm on November 12, 2008 by Matthew Babbs
23 Still not sold on the idea
From the article:
Approaching the challenge in this way, you have not only met the requirements, but you have also provided a “lo-fi� experience for search engine spiders and users without JavaScript.
Providing a “lo-fi” experience sure sounds a lot like graceful degredation to me.
In modern web development, I how can someone plan rich interactions by not thinking about rich interactions from the beginning? Planning rich interactions using Javascript and providing a low-fi experience is still graceful degredation.
posted at 07:16 am on November 14, 2008 by John K
24
Providing a “lo-fi� experience sure sounds a lot like graceful degredation to me.
Taken as a literal binary JS/no JS switch, yes, but when combined with capability testing against the browser, you can develop many levels of (progressively enhanced) experience for users with varying levels of JavaScript support. In other words, it’s not an all or nothing (which is how Graceful Degradation has been practiced in many circles) experience, but rather one in which the fidelity of that experience is directly tied to the capabilities of the device and user agent accessing it. That’s what makes it progressive.
The relationship between the two terms can perhaps best be viewed this way: all progressively enhanced interfaces also gracefully degrade, but not all gracefully degrading interfaces are progressively enhanced. Some may be, but it isn’t a guarantee. It all comes down to what your focus is during development and what decisions you make during the development process.
posted at 02:13 am on November 18, 2008 by Aaron Gustafson
25 Correction ... ?
This was a great article.
In the last full sentence of the second paragraph under Establishing a baseline, did you mean to say load it on the “client side” instead of “server side”?
posted at 12:14 am on November 19, 2008 by Bill Sutton
26
That’s exactly what it should have said, thanks Bill.
posted at 01:36 pm on January 12, 2009 by Aaron Gustafson
27 Progressive Enhancement & Web Applications
I get Progressive Enhancement. It’s logical. It makes sense. It’s orderly, methodical, principled, and even elegant. I can see the advantage for site maintenance and modification. PE strives for capability inclusion and flexibility . . . for (it seems) relatively simple content, that is, content with limited or lenient interactivity requirements.
One of the principles stated as underlying PE is that the basic content and functionality of a site is preserved at all levels of “enhancement.” That is not true for sites that require a given level of interactivity. PE seems to fulfill its purpose for sites where interactivity is the icing, not the cake.
How does PE uphold its promise for web applications, whose sole purpose is to provide a highly interactive, application-level web interface to solve a given problem? Sure, the principles of PE can still be used as a developer paradigm, but the end result will not provide basic functionality at all levels of “enhancement.” Doesn’t that fail to honor a PE principle?
If a site can not progress enough to enable its minimum functionality, what good does it do to cater to lo-fi? This question points out one difference in principle between Graceful Degradation and Progressive Enhancement. With GD, developers readily tell the user, “You don’t have what it takes to run this app.” With PE, developers are supposed to provide basic functionality at all levels of capability and only say, “It gets better from here!”
I like the idea of PE. What I’m wrestling with is seeing it as the sole paradigm for web development, unless the developer just likes the orderly approach (which I do).
Thanks for the very informative and clearly written articles.
posted at 03:25 pm on March 11, 2009 by T J
28 Excelent Article
Very clear and usefull, thanks for share it with us.
posted at 01:31 am on August 19, 2009 by facundo
Got something to say?
Discuss this article. We reserve the right to delete flames, trolls, and wood nymphs.
Create a new account or sign in below if you’d like to leave a comment.
Subscribe to this article's comments: RSS (what’s this?)




21 Re: Getting your script under control
Let me get this straight. The ideas is to replace the inline onClick event with an ID, right? Then manipulate it with getElementById? That’s genius! LightBulb=On What a simple, yet powerful technique. The other ideas are great and are already incorporated into my modus operandi. But I smell a forth article on this subject coming soon, yes? I’m sure there’s more to this story.
posted at 12:53 am on November 12, 2008 by John Kulunk