Web development tricks: Getting the best out of Firefox

Firefox is by far and large the choice of browser for web developers. In this article, you will see some not so common, and some other useful tricks to get the best out of your firefox browser and speed up your web development. All the tips explained below can be applied to Firefox version 3 and the newer version 4. However, you might find it difficult to get  hands on firefox 4 compatible addons, so Firefox 3 is good enough at the time of writing this post.

Using Profiles

This is perhaps the most useful but unused feature of the firefox browser. Profiles allow you to run more than one instance of firefox, each instance having its own interface, addons and customizations. Based on my personal experiece, I prefer to keep at least 3 profiles
which allow me to quickly test and debug my web applications. One for my regular  browsing sessions, which must be fast, and other two for the development stuff.

First of all, lets see how to create a profile in firefox.

1. from the command line, navigate to the firefox folder and run the following command.

firefox.exe -p

Viola! instead of your favourite browser, a small dialog will appear. You will see ‘default’ as the profile on the right side, while 3 buttons on the left. Click the ‘Create Profile’ button. Click Next to get rid of the introductory screen (read it if you like), and then name the profile ‘Development’. You can choose a folder of your choice, but its ok if you leave it as is. Firefox takes care of the rest.
When you return back to the profile dialog, create one more profile. Name it ‘Testing’.
Exit the dialog once you are done.

2. Create a shortcut on your desktop or quick launch folder to the firefox.exe file. Right click the shortcut and edit its command line. Add the following at the end of the command line:

-no-remote -p “Development”

so now the shortuct command becomes

“C:\Program Files\Mozilla Firefox\firefox.exe” -no-remote -p “Development”

Save and close the shortcut properties dialog. Rename the shortcut to “Firefox –  Development Profile”

3. Copy the above shortcut you just created and save it with the name “Firefox – Testing Profile”. Edit shortcut properties and change its command line to the following:

“C:\Program Files\Mozilla Firefox\firefox.exe” -no-remote -p “Testing”

4. Again, repeat the above step and create another copy of the shortcut with the name “Firefox – default”. The command line for this shortcut will be:

“C:\Program Files\Mozilla Firefox\firefox.exe” -no-remote -p “default”

That’s It!. You have created three separate profiles for firefox. You can try double clicking each of the shortcut and you will be happy to see three instances of firefox open up. One of them will contain your default settings, while the other two we just created will show the
freshly installed firefox interface. Now let’s see how can we get the best out of our profiles.

Development Profile

When you are done playing with the multiple firefox profiles, close all of them and start only the “Development” profile.

Install the following add-ons from the addons.mozilla.org website:

Now let’s customize the interface to save screen space for our development and get rid of extra stuff.
Install the “TwentyTen for firefox” theme for firefox. This is my personal favourite and probably the best theme for firefox.

Restart firefox and right click on the toolbar area to hide the bookmarks toolbar.
Open Web Developer Toolbar’s option dialog and set to display only icons. This will free up lots of space on the toolbar so we can add some of our own bookmarlet.

Open the Web Development bookmarklets site and drag and drop your choice of bookmarklets onto the right side of Web Developer Toolbar.

Once you are done, your screen should resemble something like this.

Development profile contains required addons and looks pretty neat with TwentyTen theme.

Now your super cool web development environment is ready for use.

Testing Profile

The Testing profile is the one I use after completing the development phase, and when I am ready to analyze and optimize my web applications. Let’s start by installing the  required add-ons for Testing profile.

  • Bandwidth Throttle (You can use to simulate slow connections and see how your website loads)
  • HTML Validator (The lesser the errors in validation, the more beautiful your work will be!)
  • User Agent Switcher (Most useful if you have checks in your web application for various browser agents)
  • YSlow (The final destination for your website analysis. Learn to use it and be a pro!)
  • Extended StatusBar (Needed so you can see the download status and stuff while testing the site)

Once you restart the browser in Testing profile, you should be able to analyze and fix issues with your web application which are normally not visible during development.

The “Default” Profile

While we customized the development profiles, the default profile remains same. This is the one I use for my regular browsing session while I work on the blog, read emails and stuff. I only install the addons most required in the default profile, so that the browser performs at top speed.

I hope the above tips will help you in enhancing your browsing habits and improve your development speed. If you have additional addons/tips in this regard, feel free to post them in your comments.

Sharing files with a linux guest on VirtualBox

One of my friends recently installed Ubuntu on a VirtualBox, and he had a really tough time sharing files between the Ubuntu guest and the Windows 7 host machine. In this article I will describe the two most common ways to share files between the host and a *nix guest os inside VirtualBox.

Some information in this article assumes you are fimilar with working on a linux command line. Even if you have not used the linux commandline before, fear not, as you can copy and run the commands without any modification on a Ubuntu guest machine. For other versions of linux, you might be required to make a few changes to the commands (mentioned wherever possible)

Let’s get started. Assuming you have already performed the following steps before we can enable file sharing between the host and guest machine.

1. Create a virutal machine for Ubuntu in VirtualBox.
2. Install Ubuntu (its free!)
3. From the machine settings, enable Network adapter (either bridged or host only adapter, host-only is recommended) and shared folders.
4. Login once onto the Ubuntu GUI with your userid and password.
5. Install Guest Additions on the Ubuntu machine from the VirtualBox GUI and restart the machine once.

Now we are ready to start sharing files between our host and guest os.

Sharing files over the Network

  • Right click the Network Icon on the top right corner of desktop and select ‘Edit  connections’.
  • Double click the ‘auto eth0’ entry and select the ‘IPv4 ettings’ tab on the dialog that just opened.
  • Depending on whether you selected briged network or host-only adapter for the virtual machine setting, configure the network. I usually prefer host-only network as it keeps the machine secure and the data transfer is pretty fast, not to mention hassle free configuration.
  • Once the network is configured, Open network browser using the Menu ‘Places -> Network’ on the top left of screen.

You should see ‘Windows Network’ as a folder in the explorer pane. Double click it and you should also see your host machine name displayed. Inside it you will see your folders listed that you shared over the network. Please note that you might be required to enter a valid Windows machine userid/password when you access the folder.

Configuring and using Shared Folders

  • In VirtualBox GUI, open virtual machine settings and select ‘shared folders’ tab.
  • Click the plus sign icon. In the dialog, enter the path to the folder on your host machine which you want to share, and also give it a name. For this example, I will name it ‘Shared’. Uncheck ‘Auto-mount’ option and check ‘Make Permanent’ option. This will make sure when the virtual machine restarts, the folder will still be accessible inside the machine.
  • Back to the virtual machine, if you are comfortable with text file editing in linux, add the following line to /etc/fstab file (you might need to use sudo)
    Shared /media/sf_Shared vboxsf defaults,rw,uid=1000,gid=1000 0 0
  • Alternatively, open a new Terminal from the Applications -> Acessories menu on top left of screen and run the following command inside the terminal.
echo "Shared /media/sf_Shared vboxsf defaults,rw,uid=1000,gid=1000 0 0" | sudo tee -a /etc/fstab

This will have the same effect as if you edited the file as described above.

  • Now run the following command inside the Terminal
sudo mount -a

If all went well, you can now use the shared folder inside your virtual machine. Open Places -> Computer from the top left menu. Open FileSystem and then double click the ‘media’ folder. You should see a folder called ‘sf_Shared’. This is the folder you just shared from your host machine. If you get ‘access denied’ error, you will need to do a bit extra to access the folder, which is also described at the end of this article.

Troubleshooting folder access problems

In some cases (usually when Ubuntu has more than one user accounts), you will get access denied errors when you try to access a shared folder. To fix this problem, try the following:
Open a Terminal window and type the command ‘id’ (without the quotes). The output will be something like this

uid=1005(samnan) gid=1005(samnan) groups………..

Note the uid and gid number from the command output. Now instead of the original command we used to enable shared folder inside the virutal machine terminal, type the following command, replacing <<uid>> and <<gid>> with the numbers you just picked from the ‘id’ command output.

echo "Shared /media/sf_Shared vboxsf defaults,rw,uid=<<uid>>,gid=<<gid>> 0 0" | sudo tee -a /etc/fstab

Follow the rest of the steps as usual and you should be able to access the folder without any problems.

Cloning a Virtual Machine in VirtualBox

Update: As of version 4.1.0 and above, VirtualBox GUI has support for cloning a virtual machine. The following method still applies to older versions, however, you are encouraged to upgrade to the latest version for best experience.

VirtualBox has emerged as a viable free alternative to the popular vmware virtualization platform. While it contains less features than vmware, it still is very good at running virtual machines at fast speed without much problem, allowing you to test your software and perform lots of other useful experiments inside virtual machines without affecting your main system.

VMWare has a very nice feature that allows you to ‘clone’ a virtual machine easily from its main interface. It takes a few minutes depending on the size of harddisk, and gives you a copy of the machine at the end of the process. VirutalBox, while being pretty neat at doing other stuff, has no such option in its GUI. Here’s how you can clone a machine for VirtualBox with the minimal effort.

The cloning process involves these steps:

  1. Open a command prompt on your system.
  2. Navigate to the folder where the harddisk of the source vm resides
  3. Clone the virtual disk file into a new one
  4. Create a new machine with the new hard disk and same specs as the source machine

Open a command prompt and use the following commands to complete the second and third step.


cd E:\VM\VBOX\

set path=%path%;C:\Program files\Oracle\VirtualBox

vboxmanage clonehd MYXP.vdi MYXP_2.vdi

In the above, replace E:\VM\VBOX\ with the path where your virtual machines are stored. This can be found by going to VirtualBox preferences. The second line contains the installation path for VirtualBox (the one presented here is the default for VirtualBox 4.xx installation)

vboxmanage is the actual goodie that comes with VirtualBox and can be used for lots of neat stuff once you get hold of it. The last command creates a copy of the harddisk file as another virtual harddisk. This is MUST, because simply copying the hard disk file from explorer will not allow you to use that file as a valid hard disk.

Once you run the last command, it will show some progress and once complete, you will have a copy of the old hard disk file as a new one by the name MYXP_2.vdi

There is only one thing left to do now. Open Virtual box GUI and create a new virtual machine with the same specs as the one you created for the first machine (I am sorry, but at the moment this is the fastest and neatest way to do this step)
Select the hard disk you created by cloning earlier above and you will have a new machine with the same configuration and hard disk state as the previous one.