New Book Change = AJAX

Well, now you’ve all done it. My editor, Jim, read the comments from my posting asking for book ideas. Now he wants me to write an entire book on AJAX! No rest for the weary.

So what I’m trying to do is flesh out an outline for the book, which will probably be 300-400 pages. Here’s what I have so far:

  1. What is AJAX?
  2. AJAX Basics
  3. Practical AJAX (describing the gooey innards and browser compatibility)
  4. Case Study: An RSS Reader

I also figure I’ll have the last chapter cover available AJAX frameworks that are out there, (DWR, etc.).

If anyone has any other ideas for chapters or case studies (which are long projects that take up an entire chapter), please let add a comment to this post.

Big News! Got your attention? Good. I’m looking for a co-author (or two) to help write the book. If you think you’ve got what it takes (writing talent, a decent amount of free time, ability to take criticism, and a willingness to have your photo appear next to mine on the cover of a book). If you’re interested, Contact Me directly (don’t leave a post). When you contact me, please tell me why you’d be a good fit, what you’d like to write about, and include a writing sample (or a link to a writing sample).

Comments

  1. Jeremy McPeak

    I cannot write worth crap; I cannot put my thoughts down to where it is understandable. So co-author is out for me haha.

    Other case studies:

    RSS + Atom reader (yeah yeah, you&#039ve got the RSS part down; but Atom support is nice, too).

    Are you wanting ideas that can stand alone without a server-side app, or do you want ideas that can involve anything that can use AJAX? Foo has a web based chat that he used to sport on his site. Of course, a server side app would definately be needed for something such as that.

  2. Nicholas C. Zakas

    In my opinion, AJAX requires server-side stuff. Most of the examples I&#039m contemplating right now would involve some sort of server-side components.

    And I don&#039t think you can&#039t write worth crap...isn&#039t that your stuff up over at AlphaFilter?

  3. Sanjiv Jivan

    I like the idea of sever side component coverage in the book. I would like to be able to write AJAX based components like the ones developed by backbase(http://www.backbase.com) so any material on how to go about it would greatly help.

    Thanks,
    Sanjiv


  4. Halans

    I&#039ve compiled a list of a number of Ajax related articles &#039out there&#039 (my personal reference),
    <a href="http://www.halans.be/links_..." target="_blank">Ajax links</a> including some older articles which I had laying around printed out, dating back to 2000 about XML-RPC, iframe, XML dataislands,...
    I hope you will describe Ajax in it&#039s broadest sense, not only XMLHttpRequest/XML, but also iframe or 0-height frames interaction, for when IE ActiveX support is disabled, maybe touch upon Ajax/Java/Struts, Rails, JSON, usability/design issues (back button, on page changes, yellowfade,...), security issues (cross-domain)
    I would love to be help you with proofreading, tech edit or whatever.

  5. Les Szklanny

    Storing session on the client:

    I imagine this subject would be related to AJAX. I’d like to know how a session of JavaScript objects (obtained from the server)could be maintained on the client, not on the server.

  6. foO

    halans: ...."yellowfade"?

  7. M. Schopman

    I like the idea, and if you like I have some casestudies. Out of personal experience, memory management (or preventing) is the key in these type of applications.

    It might be useful to talk about the general design patterns which many will be using when building Ajax applications.

  8. halans

    foO: Have a look at this article of 37signals Web "Interface Design Tip: The Yellow Fade Technique" (cfr Basecamp) at http://www.37signals.com/sv...

  9. M. Schopman

    Some chapters:

    - Ajax, A definition, what can people achieve with it.
    - How to make that perfect cup of coffee (prequisites for reading the book)
    - Advantages and disadvantages (accessibility ?)
    - Architecting Web Applications (layers, data transportation, usage of iframes, decoupling of client and server)
    - User Interface on the web, best practices, common mistakes.
    - Design Patterns in practice.
    - Multithreaded Interfaces.
    - Real world examples converted to Ajax (notifier window, balloon messages, getting attention, custom dialog windows)
    - And very important, but maybe out of scope, memory management, especially when you are going to use xmlHttpRequest and converting xml nodes to js nodes.


    etc. just thinking out loud here.

  10. Nicholas C. Zakas

    Micha, that&#039s an excellent list. I&#039ve already taken some of that into consideration, but I really like your idea about design patterns and memory management. Those are both very important. If you have any other ideas, please let me know.

  11. foO

    ahhhhhhhh... okay, now i get it -- thx halans ;)

  12. David Ron

    As I understand it, DWR doesn&#039t use AJAX. It creates an IFRAME from which is draws data to communicate. This is also how google suggest works. Not to say that this IFRAME method isn&#039t cooler than AJAX, but it&#039s different and might be deserving of its own chapter in this book.

  13. Nicholas C. Zakas

    David, that&#039s actually a very common misconception about AJAX: that it only involves the XMLHttpRequest object. AJAX doesn&#039t have strict boundaries, and really refers just to the simple ability to download additional content and display it without reloading the entire page. Whether you do with IFRAMEs or XMLHttpRequest, or some other method, it really doesn&#039t matter. AJAX is the description of an architecture that isn&#039t necessarily tied to one particular implementation.

Understanding JavaScript Promises E-book Cover

Demystify JavaScript promises with the e-book that explains not just concepts, but also real-world uses of promises.

Download the Free E-book!

The community edition of Understanding JavaScript Promises is a free download that arrives in minutes.