Easy HTML5 & CSS3 backwords compatability
Modernizr.js is a nifty little javascript plugin for all yout html5 worries.

The concept is that you write html5 code, with no regards to browsers beeing able to render html5. Modernizr will take your html5 and render it so the browser will display it in a proper way. It cant enable html5 features, but it will make sure that the page can be displayes.

An example is the <article> tag, Modernizr will keep it for browsers that can handle HTML5, but for unsupported browsers itll change the <article> to a <div> tag. This measn that the tag will be rendered.

Modernizr is also the easiest way to implement progressive enhancement in pages. I.e. you can use

Modernizr.geolocation, to detect wheather the current browser can handle geolocations, and then code you page from that information.

The beauty is that you dont really have to think too much about HTML5 vs XHTML 1, the plugin will do this for you, and render the for you.

Download the latest version from their main page: http://www.modernizr.com/downloads/modernizr-latest.js

Visit their page for more info, and tutorials http://modernizr.com/