"Hacking Firefox" Book

Hacking Firefox

Hacking Firefox

Get from

Buying the book by clicking on the above links will help support the free extensions found on this site

Get Firefox FoxyTunes

By Mel Reyes, Alex Sirota and others

Wiley, August 2005
ISBN: 0764596500
Paperback, 456 pages

My Contribution

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

Book Overview

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.

Mozilla Programming Chapters

Below is a short overview of the parts I wrote.

Chapter 16 starts by introducing the various technologies, easing you into the world of Mozilla development. You will see an overview of XUL (XML User Interface Language), JavaScript, CSS (Cascading Style Sheets), DOM (Document Object Model), XPCOM (Cross Platform Component Object) and other technologies. There are many examples and code snippets that help demonstrate the technologies and see how they work together. After you are comfortable with the terminology, you are introduced to Mozilla extensions - what they are, what they can do and how they are created.

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.