Kay lives here

working with the web

Jeremy Keith’s Bulletproof Ajax

More bookshelf fodder coming our way…

When I was at Web Directions South last year, I had the privilege to introduce Jeremy Keith’s session on Hijax. The presentation was one of the highlights of the conference for me, in spite of – or in case because of – the love/hate struggle I’ve had with JavaScript over the years.

The Hijax approach builds on the idea of progressive enhancement. It involves creating accessible web application functionality without JavaScript, and then adding a JavaScript layer that “hijacks” particular clicks and replaces the standards HTTP requests with XMLHttpRequest calls and generally Ajaxy stuff. That way, if JavaScript is not available to the user agent, the application works as intended anyway. But more capable user agents get an enhanced user experience. And everyone is happy.
After Jeremy’s presentation I innocently asked the question “Where can I find more resources? Are you writing a book on this?”. After protesting that the question wasn’t staged, Jeremy revealed that he was – and that book, Bulletproof Ajax, is now finished.

It’s not actually out yet, but you can pre-order, and if you’re keen like me, check out the companion web site with downloadable code samples. The name “Bulletproof” puts the title in the same New Riders series as Dan Cedarholm’s Bulletproof Web Design, another title I own and love.

So congratulations on getting it finished, Jeremy – can’t wait to get my hands on a copy.


  1. I suspect that a great deal of some of the examples (but in more detail) from Jeremy’s Workshop at Web Directions South (2006) is in this book. Which will be a hoot. Like you Kay I too have had a hot/cold relationship with javascript. I did enjoy Jeremy’s Dom Scripting.

  2. I also have “PPK on JavaScript” on it’s way… that’s meant to be good for the JavaScript-phobic amongst us as well.

  3. There is nothing to be phobic about in Javascript really. As Kay would vividly remember I had my fair share of anguish with Javascript in the time we worked together, but I have to say, once you “get it” a whole new world opens, and you will find yourself using it more often or at least thinking IF you could be using it.

    Since we’re talking about progressive enhancement, the link below might be useful.