"I wrote some time back about progressive enhancement with Ajax. It’s a very simple idea: 1. First, build an old-fashioned website that uses hyperlinks and forms to pass information to the server. The server returns whole new pages with each request. 2. Now, use JavaScript to intercept those links and form submissions and pass the information via XMLHttpRequest instead. You can then select which parts of the page need to be updated instead of updating the whole page." I’ve even got a nice shiny buzzword for this technique: Hijax.