Some cool tips for optimizing mozilla firebird

Some cool tips for optimizing mozilla firebird:
Geek Style: Optimizing Mozilla Firebird

Full Text:

Geek Style
Digital taste of life
� X-Pro IP SoftPhone | Main | Second hand news? Maybe worse �
December 08, 2003
Optimizing Mozilla Firebird
Posted at 09:59 PM | Permalink | Comments (4) | TrackBack (5)
It's almost 6 months now that I am stuck with Mozilla Firebird. Everyone knows that it�s a great web browser, but as always the default configuration is not the best configuration.

I have discovered that following configuration improves web browsing speed noticeably:

user_pref("general.smoothScroll", true);
user_pref("network.image.imageBehavior", 0);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.firstrequest", true);
user_pref("network.http.pipelining.maxrequests", 100);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 100);

(For those who are not familiar with above stuff, I recommend typing �about:config� in their address bar in Firebird, or searching for �prefs.js� in their profile directory. A good reference can be found here).

Well, as it is almost obvious by looking at the configuration itself, I will explain some of them:

First option turns on the �smooth scrolling� behavior in your browser, for who are switching from IE. Next option turns off auto image resizing (which is really annoying). The next options increase the number of total concurrent connections and max concurrent connections to a server at a time.

HTTP pipelining is also very useful, especially when you are behind a high delay internet link. It avoids making a separate connection for any single object, and uses a single TCP channel to transfer more than one object. This behavior makes your pages downloads faster, due to the nature of TCP three-way handshake.

The last option decreases the delay that Firebird waits before drawing pictures in a web page. Note that reducing this number to zero may cause weird behaviors by firebird, so increase it if your firebird crashes while loading images.

A good but not complete list of configuration parameters can be found at:

I believe that the gains from enabling HTTP pipelining are also due in part to not having to suffer the slow-start algorithm for every single file retrieved.
Posted by: Sean Neakums at February 7, 2004 06:50 PM

Sean is actually right about the pipelining thing. It is most useful for users that are behind high-delay internet links (e.g. satellite).
This way, instead of making one tcp connection per object, only one tcp connection establishes and many objects will be fetched through one connection.
Posted by: Babak Farrokhi at February 7, 2004 07:01 PM

Here are some other good ones:

// Kill window.print() which gives me an error msg since I have no printers installed.
user_pref("capability.policy.default.Window.print", "noAccess");

// Show error pages instead of popups. i.e. Unable to resolve.
user_pref("browser.xul.error_pages.enabled", true);

// Let remote content link to local (file://) content. This is needed for intranets.
user_pref("security.checkloaduri", false);

// No Web page should be able to mess with my browser's UI.
// Bug 107949 - Add pref for ignoring window feature options on
user_pref("dom.disable_window_open_feature.close", true);
user_pref("dom.disable_window_open_feature.minimizable", true);
user_pref("dom.disable_window_open_feature.scrollbars", true);

// Bug 176304 - Option to disallow scripts from hiding toolbars
user_pref("dom.disable_window_open_feature.titlebar", true);
user_pref("dom.disable_window_open_feature.toolbar", true);
user_pref("dom.disable_window_open_feature.location", true);
user_pref("dom.disable_window_open_feature.directories", true);
user_pref("dom.disable_window_open_feature.personalbar", true);
user_pref("dom.disable_window_open_feature.menubar", true);
user_pref("dom.disable_window_open_feature.status", true);

// [RFE] Pref to disable resizable=no
user_pref("dom.disable_window_open_feature.resizable", true);

// Windows open in new window instead of tabs (target=)
user_pref("browser.block.target_new_window", true);

// Don't tell me I can't resize frames you stupid web author!
user_pref("layout.frames.force_resizability", true);
Posted by: Phillip at February 8, 2004 02:32 AM

Wow! What a difference. Thanks!
Posted by: Dan at February 8, 2004 08:34 PM