Rapid Application Development with Mozilla 
Buy it at Amazon
Author Nigel McFarlane Related Reading
Publisher Prentice Hall PTR Stupid Thunderbird Tricks
Length 704 pages 10 things Phoenix is better at than Mozilla
vbRad Rating: 4 fingers up. (4 out of 5) Mozilla Bloggers
Reviewed by Robert Gelb Longhorn Bloggers

The last book I reviewed that dealt with building applications with Mozilla, quite frankly, sucked. So, obviously, I had high hopes for this one: for one, it wasn't written by a squad of people; it was written by one person who has a consistent style.

Given that I've adopted Firebird as my browser and Thunderbird as my email client means that I am more or less familiar with the Mozilla lingo. In addition, I've dabbled a little bit with Moz development a while ago as well. So this background gives me a great base from which to judge the book.

As I started reading it, one thing jumped out at me with a vengeance: the author mentioned that Mozilla technology encourages RAD (Rapid Application Development for those under the rock). After my initial set of hysterical laughing has subsided, I continued on. RAD is Visual Basic, Delphi, Vs.Net, Jbuilder, etc… RAD is when you drag a Table object from the Component palette onto a window and assign a database table to it and you have a quickie app. Mozilla is NOT RAD. Actually, I have a sneaking suspicion that a lack of a true RAD tool is impeding acceptance of Mozilla technologies in the corporations and marketplace, in general. Let's face it, outside of a few apps, like ActiveState Komodo and the now defunct Oeone Home Desktop, there hasn't really been any large scale development. Mostly extensions for/by the Firebird/Thunderbird crowd.

Author has made some other, insignificant gaffes in the book as well. For instance, when getting the user acquainted with Mozilla jargon, he mentions that K-Meleon turns Mozilla into an ActiveX control. The layout ActiveX control has been available long before K-Meleon was simply a play on words. Regardless, this is irrelevant to the subject at hand.

Developing apps with/for Mozilla can be quite a scary proposition to someone who had no prior exposure to it. To that end, McFarlane does a really credible job of breaking through the Mozilla-speak (XPCOM, XPInstall, XBL, RDF, etc…) and explains it all away with a really deft concepts diagram that connects the logical dots.

In addition, this will be a huge help for newbies, he points out key pieces of documentation and resources that one will need in order to write applications faster and better. This is great. Why? Have you ever tried locating any docs on mozilla.org? Exactly.

A good bulk of the book is devoted to XUL technology, much maligned for making the trip to 1.0 a four year proposition instead of 1 or 2 as originally envisioned. In addition, it was criticized for being slow and for making Mozilla feel bloated. Those concerns are now mostly history as Moore's law did what it does best and the code got tightened and tweaked. In addition, the appearance of XAML language for the Longhorn technologies has largely validated the road taken by Mozilla architects several years ago. Though XAML won't come out for a few years and will be used a bit differently from XUL, I suspect, nevertheless, even now, it has a pretty incredible breadth, just like XUL.

Generally the book covers the following technologies (pretty much list of chapters) : XUL Layout, Static Content, Widgets and Themes, JavaScript Scripting, Events, Forms, Menus, Navigation, Commands, RDF, Chrome, Themes, Various Controls (tree and list box), Templates, XBL, XPCOM, Deployment, etc…

Overall, the book is fantastic. The technologies are explained in a very succinct manner. The book just seems really well thought out. If you are interested in investigating Mozilla technologies and/or planning on developing a full-on app, I totally recommend this read.

I do have some criticisms though. For one, there is zero info on developing for Firebird. Of course, with all the knowledge, you've gleaned from this book, you'll be able to do it anyway. But for people that just want to develop a quickie extension without having to learn everything about Moz, this is a non starter. At least one chapter on how to develop extensions for Firebird/Thunderbird would have been fantastic. My guess is that the timeframe in which the author wrote this book fell on the time when most intense changes were happening with Firebird. Actually, if McFarlane would publish a downloadable chapter on FB/TB, that would make definitely fix the problem. Secondly, sometime the book has a picture without actually showing how it is derived, what code was used to create this sample. Thirdly, (I know this would really bloat the book, but…), sometimes (in several cases, actually), there is a paragraph describing a command and there is no example code for it.





Want more reviews and sample chapters? Click here.