In the last few chapters, practically all the Ajax examples have one thing in common: they work by receiving small snippets of HTML from the server and inserting them into the page. It's a delightfully simple approach, and it gets a ton done with a minimum of abstraction overhead. After all, we're building web applications, so everything will eventually become HTML anyway. Rails has a rich set of helpers for generating HTML, so why not simply render that on the server side and transfer it as is. But sometimes the simple approach isn't sufficientsometimes you need more flexibility.