Firefox Config Hacks

If you recently switched to Firefox from another browser, you might not be aware of all the available about: config settings that you can change or add to customize Firefox. Since I recently got a new computer and had to install Firefox, I decided to take another look at the the config settings and review which ones I apply the most. What follows then is my personal favorite config changes and why I implement them.

To access the config screen, open Firefox and type in about:config for the url and enter. You will be greeted with a long list of settings and their values. Some of these settings might not appear on the list, so you will have to add them.

Browser Memory:

browser.cache.memory.capacity – This integer setting specifies how much RAM, Firefox can use to cache itself. For computers with 512MB of RAM, set this to 32768, if you have less physical memory than try 16384. And of course if you have more than 512, try a higher value. A value of -1 tells Firefox to automatically manage this setting. The new setting for 2.0 Firefox is actually browser.cache.disk.capacity.

browser.cache.memory.enable – This boolean setting must be set to true in order for Firefox to use memory for cache, so if you are going to use the previous setting, make sure this is set to true.

config.trim_on_minimize – For Windows users only, this boolean setting specifies if Firefox should reduce its memory usage when minimized to the Taskbar. Changing this to false will speed up minimizing and mazimizing of Firefox.

Popup Windows:

dom.popup_maximum – This integer setting determines the maximum number of simultaneous popup windows which can be open at any time. The default is 20, which is pretty high, so a more conservative value like 8, 6, 4, or even 2 would be more appropiate, depending on your browsing habits.

dom.disable_window_open_feature.close – This is an essential boolean setting that forces all popup windows to include a close button is set to true. Helpful because, so many popups deliberately disable the close button.

dom.disable_window_open_feature.close.resizeable – This boolean setting if set to true enables popups to display resize controls. Helpful for sites that show popups that are too large for your screen resolution.

Browser Speed Settings:

nglayout.initialpaint.delay – Adding this integer setting will allow you to change the amount of time Firefox should wait before it starts to display a web site. The default is 250, but some users prefer a setting of zero, or perhaps a smaller value like 60. Changing this setting should seem obvious if you have a high speed connection.

The following settings increase network connections to the web server, which some webmasters may frown upon, so do not implement these changes without understanding that more connections do in fact increase the load on web sites you visit. If you are connected through a proxy server, there are separate settings for this that are not covered here, see the additional links for more information.

network.http.max-connections – This integer setting determines how many simultaneous HTTP connections can be made. The default is 24, but if you have a broadband connection, you can attempt a value of 48, 72, or even 96. This is the max number of connections, it does not mean that Firefox will create 48 connection at once.

network.http.max-connections-per-server – This integer setting determines how many simultaneous connections can be made to a single server. Firefox defaults to 8, but broadband users can increase the value to 16 or even 32. However excessive connections to the web server could be seen as an attack on the website, similar to a DDoS attack and you may have problems connecting to some sites.

network.http.pipelining – This boolean setting enables what is called HTTP Pipeling, which is a feature that not all web servers support, but which does increase browser downloads. If you experience unusual problems after setting this to true, you should set this setting back to false to avoid connection issues with certain websites.

network.prefetch-next – Usually you would want to enable a feature that offers some speed benefit, but some users find Google Prefetching to be controversial, because it allows your browser to go to certain sites without your approval and without you seeing it. It is done in the background and based on what Google thinks you want to go. Some see this as a security issue and recommend disabling it, by setting the value to false.

For Firefox 2.0:

browser.urlbar.hideGoButton – In Firefox 2.0, the GO button was changed to a green arrow. Many people like to remove the GO button. However for some reason Firefox 2.0 does not let you do this via the Customize Toolbar interface; there are plans to fix this at a later update. If you change this boolean setting to true, it will make the arrow disappear.

browser.tabs.closeButtons – You can change the way the close button is implemented on tabs. Your choices range from 0 thru 3.

  • 0 – Display a close button on the active tab only.
  • 1 – Display a close button on each tab (default).
  • 2 – Don’t display any close buttons.
  • 3 – Display a single close button at the end of the tab bar.

More Resources:

If you would like to learn more about Firefox, see the following sites for more information and details.

TweakGuides Firefox Guide is perhaps the best all around guide on tweaking Firefox.

MozDev Documented Preferences is the most comprehensive list of config preferences you can find on the Internet.

Mozillazine Forums are also a good place to post questions or find answers on all things Firefox related.

CSS Fluid Style Template

Fluid CSS Template in FirefoxI was working on making a simple CSS template that would have a header, a sidebar, a content area, and of course a footer. The result being this simple template that has a fixed left sidebar.

Feel free to download it.

It is available on the WebKeyDesign Forum.

If you are looking for a basic template for text only pages, check out the Beginner’s CSS Template. This template is good for those privacy notices, and other legal pages that don’t have graphics and such.

Win2003 Server SMB Shares

Here is a good tip for Mac OS X computers trying to connect to a local Windows2003 Server that has ActiveDirectory running.

First go to Microsoft’s site and download the User Authentication Module, otherwise known as UAM for short. Install this for Mac OS X, and then you will need to make one change on the Windows2003 Server.

You will need to login as administrator and go to Administrative Tools and open Domain Controller Security Settings. From here go to Local Policies then Security Options. Scroll down to find the entry:

Microsoft network server: Digitally sign communications (always).

Set this to Disabled, so it looks like this. Then from a cmd prompt type: gpupdate and once that completes, reboot the server.

From the Mac client station, use the Go menu and choose Network. You should now be able to login via UAM with a domain account and mount the shares from Windows2003 Server on your Mac OS X desktop.

Apparantly the Connect To Server option defaults to Apple Authentication and will still not work with 2003 Server.

The Personal Web Page

Having a Personal Web Page is how everyone starts. You have that one idea, for whatever reason, to publish one web page out there for your own personal reasons. I know my first web page was back in the 1990’s and it was certainly exciting to have a web page out there with some links to other sites I liked. However in today’s Internet, the personal web page has now evolved beyond the simple index page into multiple page volume sites that could easily expand to thousands of pages of content and still be referred to as a personal site. This has largely happened because of the weblog revolution which allowed many people for the first time to publish easily and without the necessity to worry about the technology and code behind it all. In a sense, the pen and paper letter was replaced by the wordprocessor and email, and now the blog. The blog is instantly a personal site, or a publishing column, or even just a modern business card which is digital and constantly changing.

As a web designer, one has to see the blog not just as a trend but as the new standard for personal web sites.


If we install WordPress 1.5 and use the defaults, we can already see what the standard Kubrick template does so well for the personal web site. Namely we get a title for our site, a description for our site, a sidebar for easy navigation, and a layout that has a very presentable use of white space. There are also features for the site that are available immediately, like Search, RSS feeds, and even user commenting. If you were to create a web site from scratch you would have to include each of these features and you would have to implement that as well as WordPress or better.

This poses quite a challenge since even if you coded your site with these exact specifications, WordPress and other blogging software is usually expandable by way of plugins, which makes it harder to keep up with such a successful site design as WordPress. At this point we are only really discussing the front end of WordPress, what the site looks like and does, not even the backend which makes a WP site very easy to update with new content!

Dreamweaver v/s CMS:

The traditional way for novice designers was to use Dreamweaver (or Nvu) to design simple web pages and then learn html by editing the code that Dreamweaver would create. Eventually after designing enough pages and looking at the code, you eventually switch to a text editor for making most html changes and even designing. This is still a good way of learning html, but learning CSS really requires you to look at stylesheets and WYSIWYG editors are not really meant for CSS design. In Dreamweaver’s graphical view, the idea is to drag and drop elements, to create space similarly to a wordprocessor or drawing program. CSS positioning is hard to visualize in this mode. To see how CSS works, you really have to work in a text editor and render the web page in your browser to see the immediate effects.

This is where a CMS (Content Management System) takes over what Dreamweaver does well, namely adding new content to an already designed layout. The backend of a CMS takes care of adding new content, and it is faster and more efficient than Dreamweaver or a text editor, since it immediately adds your content to your site and even links it throughout your site. Blogging programs like Textpattern, WordPress, and Blogger don’t really offer full CMS features, but concentrate on fundamentals which work well for personal publishing.

The New Personal Web Page:

Essentially today’s personal web site is really about dynamic publishing presented inside a CSS based template. You can write the dynamic publishing system but why reinvent the wheel if you do not have to. Most people would be satisfied with just modifying the default CSS template and tinkering with some of the default publishing features. What I suggest is a hybrid of both static pages and dynamic publishing. The most popular personal publishing system is undeniably WordPress, and there is good reason for this, mostly because it is mature now and easily expandable for most experienced web site designers. But even if you just started coding your own pages in Dreamweaver you should start looking at WordPress and other blogging systems to see what they offer.

Once you have decided what the blogging system can do best and what it can not do very well, it is time to either add plugins to the blogging system or to use an outside static page or different program altogether to complete the web site functionality. However as you add external features or pages, make sure that you retain the same presentation throughout as much as possible. This does not mean that adding a forum to your site has to completely integrate with your dynamic publishing, but it all has to navigate well and be accessible from your main page. Without a doubt, trying to maintain the presentation of your site, is the most time consuming and hardest part of having a personal web site.

Blogs And Static Sites:

Personal sites are rarely static, but perhaps you do want to create a static site for some reason, then a personal publishing system may be overkill for your needs. In these cases, you do not have to abandon the whole blogging personal publishing concept, you may in fact need to choose a different blogging program, perhaps a simpler program would suffice. The whole idea with using a blog presentation may still apply, you may still want easy navigation, a template that provides a nice layout, etc, but comments and other features may need to be disabled. After learning to rely on a blogging program you may find that even if you do not use a blog for all your web sites, you may still find yourself imitating the layout and navigation features that you have now grown to appreciate.

New PowerBoard Forum

This week, the Invision Powerboard forum went up. After some careful consideration and research into other PHP applications, I ended coming back to IPB as a solution for my needs.

What I was looking for was a helpdesk, a file download area, and a knowledge base. There are many types of open source helpdesks out there and even a few commercial ones that were very well done, but they were too much for what I needed and I still was not happy with the frontends of most of them. For knowledge bases I did find one that was great, but the price was too high, but I was very impressed. The free knowledge bases tended to be very simple interfaces and not much to look at. Lastly download scripts all looked the same and there was not one that I could choose, and since I never really needed that much of a file area, I kind of let this go.

With IPB, there is proven security and it is quite affordable. Plus there is the comfort level, I am used to IPB since I have used it personally for a couple of years now.

Right now I’m waiting on Invision’s 2.1 version to come out before I mod too much of the new forum, but everyone is welcome to join in the discussion now at: WebKeyDesign Forum.