Programming Firefox: Building Rich Internet Applications with XUL

Author: Kenneth Feldt
Publisher: O'Reilly, 2007
Pages: 511
ISBN: 978-0596102432
Aimed at: Newcomers to XUL
Rating: 4
Pros: Good introduction to XUL
Cons: Narrow focus 
Reviewed by: Mike James

The main reason that this book is likely to disappoint a buyer is that its content is better reflected by its subtitle than title. From the main title you might think that this was a book about programming Firefox, e.g. modifying its user interface, creating addons and generally customising and extending the browser. What the book is about is that Firefox is actually an XUL application. You can think of XUL as a custom HTML; actually it's just XML, used to create user interfaces complete with all of the trappings of HTML - i.e. CSS, DOM, scripting languages, events and so on. It may seem odd to think that Firefox is just a "web page" in its own right but this is close to the truth. What the author does do quite quickly is to make XUL seem quite natural as a way of creating a user interface. The only real question that arises in the introduction is why do we need yet another markup language? The book explains the basic ideas behind constructing an XUL "page" or application, adding widgets and so on. It then explains how you can load the XUL application either locally or via a web server.

From this point on it's mostly a matter of going over everything you ever learned about creating web applications but in this case using XUL, Javascript, CSS, PHP, MySQL and so on... If you already know how to do this sort of thing then there isn't much new to learn conceptually and the details are the sort of thing you can find out from a reference. This said it is nice to have it in book form complete with examples. The only problem is that the examples tend to be very long and can be difficult to follow. This is a reasonable introduction to creating XUL-based applications. This knowledge is useful but it isn't everything you need to know if your actual aim is to customise Firefox. For example, the functionality of Firefox is exposed via XPCOM - cross platform COM - and this book says almost nothing about it apart from making use of a few interfaces. Given the overall lack of books and documentation in general on the topic of XUL this is still a useful, if not perfect, book.

Last Updated ( Saturday, 20 June 2009 )