Launching Firefox Quickly: XP and Windows 2000

If you’re like me, a considerable amount of your computing experience takes place within Firefox.  I have a couple of old, slow computers, however, for which the actual loading speed of Firefox itself is problematic.  Either can keep up fine with web content, and their connections are fast, but Firefox itself can take a surprisingly long amount of time to come up  — which is inevitably when I need it.  Leaving Firefox open but minimized is a somewhat reasonable solution, except for Murphy’s law, which is strictly enforced here, means that I need Firefox after having just booted the machine, or just closed it without thinking.

XP has a strategy for speeding the load time of any application, which is known as “prefetching.”  There are a lot of myths and misinformation about what this is, but essentially, XP keeps track of how a program is loaded, and stores this information in its prefetch area.  Next time the same program is launched, XP consults the prefetch area to see how to load the program optimally.

N.B.:  XP prefetching is automatic and works for every application.  There’s a myth that adding “/prefetch:1” (or some other number) switches to the end of your program’s launch criteria will do something beneficial with the prefetch subsystem.  It does do something, and that is to pass the number to the hash used for prefetching.  So adding it will have the effect of first slowing down the launching of Firefox to its unprefetched speed, then the next time it’s launched, it will be as fast as it was before the switch was added.  Naturally, adding this switch is simply a waste of time.

While I’m digressing, I should point out that clearing the prefetch folder is an equally pointless waste of time and resources.  Getting rid of the trace and layout files won’t make prefetching any better, it will just force them all to be recreated, thus slowing down the initial launch of all applications until this is reconstructed.  Windows actually cleans out the folder itself whenever it needs it, so it’s best just to leave it alone.

Which brings me back around to Windows 2000, the venerable operating system on which my tablet runs Firefox.  Win2k has no prefetching system, so that alternative strategies need to be employed.

This leads to an alternative strategy called “preloading,” which is not like prefetching at all, but more like loading Firefox and minimizing it, where much of Firefox is actually in memory.  Early versions of Firefox included a “turbo launcher,” which was a little bit of software that loaded Firefox in memory so that it would be handy.  This is no longer included, but a third party built a “Firefox Preloader,” which for all intents and purposes is the same thing.

The project is essentially dead, since prefetching made preloading less useful for XP and later versions of Windows.  However, it does work for the latest versions of Firefox, and it works quite well on Windows 2000.  The installer can be downloaded here:

It works by looking for “Firefox.exe” and then loading it into memory.  Next time firefox.exe is launched, nearly everything it needs is already in memory instead of loaded from disk.  Prefetching makes this nearly pointless on XP, but the speed difference on an old Win2k box is stunning — assuming you actually have enough RAM to leave Firefox constantly in memory.


Replacing Google Browser Sync with Weave

Google Browser Sync was one of the handiest things for people who use Firefox 2.0.  For those who are unfamiliar, it synchronizes bookmarks, passwords, history and persistent cookies across installations of Firefox, using Google’s own servers.  Google announced that they are dropping support for Google Browser Sync effective in 2008.

Weave picks up where Google Browser Sync left off, and then some, effective today.  Unfortunately, Firefox has closed registration to their own synchronization server, which appears to be one of the few ways to install the extension.  However, you don’t actually need to use their server to store and synchronize your browsers — you can use your own WebDAV server.  Doing so requires a little finagling, but it’s well worth it.

On a side note, if you don’t have your own WebDAV server, you can get one from GoDaddy.  They have an “online file folder” which fits the bill nicely.  The 50MB edition should be enough for most people; my probably-normal use of Firefox puts a little over 4MB on a WebDAV server.

Since you can’t register right now, the first thing to do is to acquire the file weave-0.2.4.xpi.  This is the extension itself; if you download it within Firefox, you call install it directly.  Alternatively, save it to a file, and from within Firefox, File->Open will allow you to install the xpi file.

For it to be useful, you’ll need your own WebDAV server with https installed.  I assume you either have one set up, or can set it up yourself — note that if you use a self-signed certificate, be sure to browse there first, and make sure you create an exception so that you can utilize the server with Weave.  (An exception is a way of loading a cert into Firefox so that it can trust a site that’s not chained to a root certificate.  You can set one up at Tools->Options->Advanced->Encryption tab->View Certificates->Server tab->Add Exception.)

On the server, create a directory called user/[username] where [username] is a valid WebDAV account.  This is the directory where everything will be placed, so make sure it’s writable from the WebDAV account.  (Test this with any WebDAV client if you’re not sure, like cadaver.)

Once you’ve installed the xpi and restarted Firefox, Weave will come up with a screen where you can create an account.  Hit [cancel], since there’s no way to specify your own server at this point.  It will also try to navigate a browser window to, which may or may not work, depending on how their servers are holding up.

There should now be a Weave submenu under the Tools menu.  Tools->Weave->Preferences->Advanced tab will take you to “Server Location,” where you can fill in the URL of your WebDAV server.  Change the server location, and hit [OK] to close the preferences.  (Until you do so, it won’t pay any attention to the location of your new server.)

Tools->Weave->Sign In will now take you to the registration window, but it will be using your WebDAV server.  Select “Set Up Another Computer” (even if it’s your first one.)  Weave will look on your WebDAV server for api/register/regopen, but if it’s not there, it will assume everything’s fine, and let you enter a username, password, and encryption passphrase.  Password is your webdav password, and “passphrase” can be anything, as long as it’s consistent across machines.

That’s it! It will take a while to synchronize initially, so some patience is warranted at this point.

In addition to synchronizing everything Google Browser Sync did, it also adds the ability to synchronize tabs, which is just nifty.