Progressive Enhancement is a web development methodology that not only allows greater portability and accessibility but in my opinion, makes the development process easier.
What I want is to know what the rest of the community think of this approach.
In particular: What do you believe is the minimum set of technologies that a web application should support?
I personally block referrers, cookies and JavaScript by default and re-enable them temporarily or permanently on a site-by-site basis.
I'll forgive a web site for not working without cookies for signed-in users, however I get quite upset when they won't work without JavaScript if it's being used for trivial purposes.
Minimum requirements: HTML with basic structural elements + links, HTML forms + maybe cookies for applications.
Site could be run in a vt100, a "normal" browser, a phone, a screen reader...
-z
So "Progressive Enhancement" is just another term for "Graceful Degradation"?
In which case, it's the way all websites should be done.
Web Apps should be built in HTML (4 or later), semantically and against the standards.
All CSS should be optional - content & forms should work without it, but look prettier with it.
All JavaScript should be optional - pages & forms should work without, but work easier with it.
All code should be written according to the standards & checked in each major rendering engine - but don't work around flaws in browsers unless absolutely necessary; it's up to the browsers to respect standards, not developers to grovel after bad rendering engines.
I would feel comfortable targeting HTML4 and CSS2, with the basic content structured with screenreaders in mind as a baseline experience for most websites. The key is to keep in mind a layout that is functional for text-based browsers and screenreaders and use that as the basis for the enhanced page.
If it remains usable in a text-only browser (without CSS and Javascript, of course) and also in a screen-reader, you're on the right track. But these are about the highest standards that you'll find :)
Developing a site that is 100% useful without css, javascript, etc. and then adding all the pretty/fancy stuff for javascript users is an example of Progressive Enhancement.
However, when you code the site with fancy/pretty and then go back and turn off javascript and css to see how it looks, that is graceful degradation.
The group you focus on first really decides this. It is possible that you could arrive at the same conclusion but it is unlikely. Your focus determines the ending point really.