Long story short, it took some good ‘old fashioned fast talking, but I like to think the presentation was a success. The slides are located on Slideshare, but viewing them on their own without my stumbling narration might not do you much good. So I thought I’d summarize them again here:
There are a handful of libraries that will help you get started. I’ve used both Dean Edwards and John Resig’s solutions, but Google’s implementation, as part of the Closure library, is worth a look too.
I threw this into my original presentation as a one-slide means of saving time, but it’s still a great tip, and to my surprise, not exactly common knowledge.
If you’re a plugin developer, this is an ideal way to expose hooks to your plugin. Instead of having to inherit some base class and override an existing method, try triggering events people can bind to instead.
Preserving the back button is easier than it looks. The jist of it is this: give your various application states a unique URL prefixed with the pound sign (#), then implement a “router” that can restore to these states when the page is loaded or the URL changes. That last part where it gets tricky – and where a plugin like jQuery history will help you out.