“Ajax Design Patterns” – Book of the Month

Ajax Design Patterns is Book of the Month in this month’s .Net mag (p.23, Issue 155, October, 2006). Incidentally, the mag is about the ‘Net, not specifically MS .Net (which it pre-dates).

<

p>The review says:

So AJAX might be the hottest thing in programming since, er, ordinary Javascript, but it’s no good just learning how to implement it – you need design inspiration too. Ajax Design Patterns fits the literary void that exists in AJAX design by using real examples of best practice to enhance your apps.

 

<

p>I’m glad they emphasise use of real examples, because we can debate ad infinitum about whether everything in the book is a pattern or not, but the more important thing is that the examples are real, concrete, and as accessible as typing a URL into your browser.

Thankfully, Ajax Design Patterns is one of the most organised books on any programming subject. It’s a massive book, but you won’t get lost as the chapters are sensibly divided up and the sound layout means there’s nothing whatsoever to fear.

<

p>I’ve had a lot to say about presentation of patterns in the past The fairly unusual presentation of the patterns is the reason it’s not an O’Reilly animal book, and it’s good to see it helped.

State of Ajax Patterns

Here’s what’s going on with AjaxPatterns.org and the O’Reilly Ajax Design Patterns book. Many of you have mailed about this and many others asked at the conference, so this post is probably long overdue.

State of the Ajax Design Patterns Book

I finished the book a few months ago, and it’s available for sale now in Rough Cut form. It was originally planned to be an “Animal” book, hence the bird dude depcited below, but because it has a fairly unique look and feel, it will now be part of the Theory In Practice series. So enjoy the birdie while it lasts.

People at the Ajax Experience were asking about the book, conspicuously absent on the book stand, and the fact is it’s taking a while to get into physical form for several reasons. Most importantly, I’m firmly committed to the idea that any physical pattern book needs to be highly visual – people should be able to flip through the book and see what the patterns mean in a blink. So there’s a huge amount of diagrams and screenshots that the creative people at O’Reilly are working on, and I’m really happy with what they’re outputting:

The electronic Rough Cut edition contains my extremely “rough” diagrams, which serve as instructions for the illustrator and will eventually make a nice historical manuscript.

State of AjaxPatterns.org

I’m pulling it down so the book sells well.

But if I can be serious for a moment, the site will remain online with all content intact. It has always been, and remains Creative Commons, and if I had to choose between the wiki and the book, I’d take the wiki every time. It’s staying online for the long haul, and I want to make it better than ever. These are my plans, let me know what you think:

  • Move to a faster, more reliable, host. Dreamhost is great for hosting my blog, but DB-wise, is not up to the task of managing AjaxPatterns. I’m moving it to a Virtual Private Server (VPS) host, which is something I need for other projects anyway.
  • Open up for general editing. Too many people came up to me at the conference and said “I have this pattern, what do you think?”. What I think matters much less than what the Ajax community thinks, so I’d rather let people slap it on the wiki and let everyone judge it for themselves. I’d like to let people edit and enhance the patterns, provide examples, and so on. And add new kinds of content.
  • Opening up the wiki obviously has huge risks involved, and there’s been plenty of spambots already, capable of wiping out the wiki in a single execution. There’s a strategy in place to help prevent, and also recover from, situations like this, but Mediawiki isn’t fantastic here as there’s no built-in Captcha support. I’m also sensitive to the charge that allowing open changes is a cynical way to make the content weaker, or more messy, and thus make the case stronger for buying the book. So my plan is to hack the Mediawiki template so as to ensure the current version (the one that’s there today) is always linked from each wiki page. How would you feel about that?
  • Upgrade the standard theme. You’ll know why when you see it.
  • Add more content. What Ajax info would you like to see? I’ve already begun work on a section for Ajax Tools, this is exactly the kind of thing I’d like to open up for public editing. I also have plans for a whole new category of pattern, will get to it once all the other stuff’s done.
  • Mashable patterns. As I mentioned in my previous post, Bill Scott of Yahoo! is looking at a JSON/JSONP format for distributing the patterns. Once the format has been fleshed out, I’ll set it up. The caveat will be that things might go a bit wrong sometimes with the wiki being openly editable (we’ll need to do some cleansing to at least ensure no risk of XSS, though mediawiki is probably doing this anyway), but at least people will always get the latest info real time.
  • Release code for demos.
  • ???
  • Your thoughts and suggestions?

Ajax Design Patterns Book

Click to download the Podcast. You can also subscribe to the
feed if you want future podcasts automatically downloaded - check out the
podcast FAQ at http://podca.st.

I’m pleased to announce the in-progress patterns at ajaxpatterns.org will be completed and published as an O’Reilly book: “Ajax Design Patterns”. The accompanying podcast explains the details, here’s a summary:

  • I’ll be completing full-text descriptions for all the listed patterns, give or take some restructuring.
  • ajaxpatterns.org will remain online, with full content – before, during and after the book’s release. I’ll continue building up the text on there. O’Reilly’s fully on board with this.
  • A Creative Commons license will apply throughout, with the non-commercial restriction possibly lifted after the book’s published. Contrary to John Dvorak’s recent rant, the CC license cannot, should not, and does not, preclude others from reusing the content commercially under fair use.
  • Some pages on the wiki are already open The main pattern pages will remain me-only until full-text is there, at which time I am hoping to take a branch, refine some things offline (mediawiki is painful for batch changes), and open everything up for editing.
  • The editor is Brett Mclaughlin and he too will be able to make edits. You might have seen that I’m highlighting patterns with full text on the main page. Brett will highlight them in a different colour once edited, hopefully leading to something resembling a “progress heatmap” and not a pile of visual mess.
  • I’ll continue to post updates about the patterns here, using the tags “Ajax”, “Patterns”, and, I’ve decided, “AjaxPatterns”.
  • I intend to podcast about the patterns and the corresponding examples at Ajaxify. I’m looking forward to being able to supplement the text with audio commentaries. Some prefer audio, some prefer text, but I think the best learning style is a multimodal combo deal.
  • Writing this in public will allow ample opportunity for feedback – as Dan Gillmor says, my readers are smarter than me. I know lots of you are using Ajax in different ways and for different tasks, so please tell me what sucks about the patterns. Comment in the Discussion tab for a given pattern (which I’ll pick up via RSS), leave a comment on my blog, or mail to [email protected].
  • Do you have any comments or suggestions about this writing strategy? Please leave them here or mail [email protected].

Click to download the Podcast. You can also subscribe to the
feed if you want future podcasts automatically downloaded - check out the
podcast FAQ at http://podca.st.

This entry has a Podcast attached- an embedded MP3 link. On Internet Explorer, Click on the Podcast icon to listen, or click the right mouse button and “Save As…” to download. Better yet, you can subscribe for updates straight into your PC or ipod – it’s easy, open, and free. Install the free, open-source, Ipodder client and when it starts, just paste this in: “http://www.softwareas.com/podcast/rss2”. Or search for “software” under the ITunes Podcast Directory. More info in the Podcast FAQ.