Never mixup any of those layers... Never do stuff like
<a href="#" onclick="...">
Now, with Ajax... You should use "Hijax", his recently created buzword. It's basicly adding one more layer to the "old" HTML+CSS+DOM&JS model, making it Hijax = HTML -> CSS -> DOM + JS -> Ajax. Basicly, you hijack the requests and use AJAX...
OK, now he said for the first time something I don't agree (twice in a row): first he said that something that fallpits in the definition of "web chat" (he was talking about Meebo or any web IM) can't degrade gracefully (meaning that you couldn't do a chat app without AJAX). Not only I disagree, I can even give an example: HCL uses Aardvark, which means that if you are AJAX-enabled you do it AJAX-style, but if you're not AJAX-enabled you'll still be able to use it. Second, he said that in those cases people should use something like Flash... But if you do it you're excluding people then you're doing something broken (as he said himself).
OK, I said it on the microphone. He basicly agrees with me, but gives me another example: video-editing. The thing is... if you're doing that kind of app, why do it an webapp? It's useless as an webapp! Is it the "you don't need to install or update" thingie? 'cause if it is, you can actually do it without using a web browser.