By Mel Reyes, Alex Sirota and others
Wiley, August 2005
Paperback, 456 pages
I wrote the chapters on extension development for this book. From my Introduction to Firefox Extension Programming: "Extensions play an important role in Firefox philosophy. The browser itself is very lean and clutter free, which makes it exceptionally compact and user-friendly. Extensions are the optional building blocks that allow users to construct their personal dream browser, the one that has all the needed features and none of the unwanted ones. This philosophy is somewhat similar to hi-fi component systems - you can get the best amplifier and CD player that money can buy. If at some later point you decide you want to give your old vinyl records a spin, you can get a nice turntable and hook that in. The idea is that you are in control of your system; you can add and remove any component at any time, always making sure that each and every component is of the highest quality. This also allows the maker of each component, or in our case, extension, to focus on that specific component and provide the best set of features possible." Text © 2005 Wiley
The book has tons of useful information about Firefox. Some of the topics covered are:
Phil Catelinet, Aaron Spuler and Terren Tong are also contributing writers of this book.
Below is a short overview of the parts I wrote.
Chapter 17 teaches everything you need to know to create your own extensions. We start with a short overview of the tools you will need - text editors, ZIP utilities and so on. We then dive into a detailed step-by-step tutorial that goes through all the steps needed to create your own extension - you will create the extension user interface, define its appearance and behavior and learn how to integrate the extension with Firefox. You will then see how to localize, package, test and finally deploy your extension. The tutorial explains all the relevant concepts with many examples and tips.
After you see how a simple extension is created, we go further by discussing more advanced development techniques. You will learn how to use the DOM Inspector and navigate through the Mozilla source code structure. You will see a detailed overview of various XUL widgets and learn how Mozilla handles events. Extensions can enhance and modify the browser in many ways and you will see an overview of many of the things you can accomplish, along with examples and code snippets. The chapter concludes with several useful tips and tricks.
In chapter 17 of the book you will learn how to create an extension from the ground up. The extension you will create is called SiteLeds. It allows you to monitor a Web site for availability and changes by displaying a small icon on the Firefox status bar. The icon notifies you when the monitored site is not reachable and whenever the monitored page on this site is updated.
You can get the extension along with its complete source code at the SiteLeds Home Page.