I've saved the most powerful method of customizing Firefox for last - writing an extension. Firefox extensions allow you to customize just about every aspect of Firefox. You can override default behaviors, customize the user interface, change and lock default preferences, even replace entire components.
I've found that when most people think of extensions, they think of consumer extensions like the add-ons available on addons.mozilla.org. But you can also build extensions to meet needs within your business. I've seen extensions for automating the fill in of forms as well as facilitating business processes. If you think a custom Firefox extension would help your business, there are companies that can help you with that, including me.
Going into detail about how to build an extension is not my goal here. There are plenty of resources on the web. MDN is a good place to start. What I would like to do is talk about an extension I built called the CCK Wizard.
Before we talk about what the CCK Wizard is, let's talk about what the CCK was. CCK stands for Client Customization Kit. The primary purpose of the CCK was customizing Netscape Communicator for ISPs. So when Earthlink wanted to deploy a customized Netscape with all their settings, they used the CCK to change the titlebar to say "Netscape Communicator by Earthlink," configure connection settings, set the homepage and more. It also repackaged Netscape with a custom installer. You can read more history here.
When I worked at IBM, one of our goals was to increase the enterprise adoption of Firefox, so I decided to take the concepts of the Mission Control Desktop and the Client Customization Kit and combine them to create a new extension for Firefox called the CCK Wizard.
The CCK Wizard takes you through a wizard to customize Firefox and then generates an XPI at the end that you can install into Firefox to use your customizations. The CCK Wizard allows you to:
- Change the default home page and startup override home page
- Change the title bar text
- Add a help menu item that links to a web page
- Provide sites for which popups, cookies and XPInstalls are allowed by default
- Preinstall browser plug-ins
- Preinstall search engines
- Add folders, bookmarks and live bookmarks to the personal toolbar
- Add folders, bookmarks and live bookmarks to the bookmarks folder
- Set default preferences
- Lock preferences
- Add registry keys (Windows only)
- Add certificates
- Set default proxy configurations
- Package other XPIs with your distribution
- Disable about:config
The CCK has been used by many companies including IBM to customize Firefox for their employees.
I would strongly recommend that you take a look at the CCK Wizard if you haven't. It might save you a lot of work.
The CCK Wizard is open source and is maintained at code.google.com. Anyone is welcome to participate.
To be perfectly honest, I have not been able to invest as much time in the CCK Wizard as I want. I've been able to keep it current with changes to Firefox, but have not been able to really give it the love it needs. I'm hoping to be able to carve out more time for it in the future.
And that concludes our series about customizing Firefox. Any questions?