Progressive enhancement

This remained true until the rise and widespread adoption of and support for CSS, as well as many populist, grassroots educational efforts (from Eric Costello, Owen Briggs, Dave Shea, and others) showing Web designers how to use CSS for layout purposes. PE is based on a recognition that the core assumption behind graceful degradation — that browsers always got faster and more powerful — was proving itself false with the rise of handheld and PDA devices with low-functionality browsers and serious bandwidth constraints. In those early SGML contexts, semantic markup was of key importance, whereas presentation was nearly always considered separately, rather than being embedded in the markup itself.

Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing those with better bandwidth or more advanced browser software an enhanced version of the page. Progressive Enhancement was coined by Steven Champeon of hesketh.com in a series of articles and presentations for Webmonkey and the SXSW Interactive conference between March and June of 2003. The strategy is an attempt to subvert the traditional web design strategy known as graceful degradation , wherein designers would create Web pages for the latest browsers that would also work well in older versions of browser software. With a nod to graceful degradation, in recognition that not everyone had the latest browser, many began to simply adopt design practices and technologies only supported in the most recent and perhaps the single previous major browser releases.

This concept is variously referred to in markup circles as the rule of separation of presentation and content, separation of content and style, or of separation of semantics and presentation. 1993-4) with SGML, before working with HTML or any Web presentation languages, as well as from later experiences working with CSS to work around browser bugs.

Because the basic content is always accessible to search engine spiders, pages built with PE methods avoid problems that may hinder search engine indexing. Some skeptics, such as Garret Dimon, have expressed their concern that PE is not workable in situations that rely heavily on JavaScript to achieve certain user interface presentations or behaviors. . Progressive enhancement is a strategy for web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies.

Graceful degradation was supposed to allow the page to degrade , or remain presentable even if certain technologies assumed by the design were not present, without being jarring to the user of such older software. In addition, the rapid evolution of HTML and related technologies in the early days of the Web has slowed, and very old browsers have become obsolete, freeing designers to use powerful technologies such as CSS to manage all presentation tasks and JavaScript to enhance complex client-side behavior. First proposed as a somewhat less unwieldy catchall phrase to describe the delicate art of separating document structure and contents from semantics, presentation, and behavior , and based on the then-common use of CSS hacks to work around rendering bugs in specific browsers, the PE strategy has taken on a life of its own as new designers have embraced the idea and extended and revised the approach. Progressive Enhancement consists of the following core principles: Web pages created according to the principles of PE are by their nature more accessible, because the strategy demands that basic content always be available, not obstructed by commonly unsupported or easily disabled scripting.

It is unclear as to how well PE sites work with older tools designed to deal with table layouts, tag soup, and the like. Improved results with respect to Search Engine Optimization is another side effect of a PE-based Web design strategy. As the Web evolved in the mid-nineties, but before CSS was introduced and widely supported, this cardinal rule of SGML was repeatedly violated by HTML s extenders.

This attitude is due to time and budget constraints, limited access to testing alternate browser software, as well as the widespread belief that browsers are free . The just upgrade attitude also ignores deliberate user choices and the existence of a variety of browser platforms; many of which run on handhelds or in other contexts where available bandwidth is restricted, or where support for sound or color and limited screen size, for instance, are far different from the typical graphical desktop browser. In Progressive Enhancement (PE) the strategy is deliberately reversed: a basic markup document is created, geared towards the lowest common denominator of browser software functionality, and then the designer adds in functionality or enhancements to the presentation and behavior of the page, using modern technologies such as Cascading Style Sheets or JavaScript (or other advanced technologies, such as Flash or Java applets or SVG, etc.) All such enhancements are externally linked, in order to avoid forcing browsers of lesser capability to eat data they do not understand and cannot handle, or which would swamp their Internet connection. The PE approach is derived from Champeon s early experience (c.

Unfortunately, upgrading is often not possible due to IT department policies, older hardware, and other reasons. For several years, much of the Web simply did not work in anything but the most recent, most popular browsers.

In practice, graceful degradation has been supplanted by an attitude that the end user should just upgrade . Additionally, the sparse markup principle makes it easier for tools that read content aloud to find that content.

As a result, web designers were forced to adopt new, disruptive technologies and tags in order to remain relevant.
 
?>