Firefox 3.6 Performance: Startup and Snappiness Improvements

Firefox 3.6 was released today! For me, the most important changes in this release are the performance and stability improvements. On Mac especially, there are some big improvements in startup time, yielding up to 30% faster startup generally. And on both Mac and Windows, we fixed some pathologically bad startup scenarios.

The list of bugs fixed that specifically affect startup time is here, however a few should be called out individually:

The full list of bugs fixed in Firefox 3.6 with the “perf” keyword is here. These range from improvements to web page loading times, general UI responsiveness, and improvements to specific UI actions such as searching History and Bookmarks:

And all of this is just a taste of what’s to come: Over 60% of the bugs fixed as part of our focus on startup performance have landed on trunk, but didn’t make it in time for the 3.6 release. You can follow along on the wiki page for the startup project, and here on my blog, where I post status updates every Friday.


Streaming Your iSight Camera to the Web with the Video Tag

I wanted to do a demonstration of live streaming using the <video/> tag for my talk at the upcoming Open Source Bridge conference; maybe a stream a surprise guest in, do some audience interaction, something fun. I figured the easiest way to test the streaming myself would be to use the webcam in my MacBook Pro’s built-in iSight camera.

I pinged Asa to get details about how he streams Air Mozilla, which brought Icecast into the picture. I found some old posts about using VLC on Linux to capture the external iSight, so tried it… but no dice, the capture module barfed when trying to talk to the camera. VLC ships with a capture module for the iSight, but hasn’t been updated to work with the internal iSight. Bah. VLC also supported transcoding to Ogg Theora, as well as streaming to Icecast servers, so it really seemed like it’d provide just about everything, if it only supported the camera.

I looked up the error I got from VLC, posted on the VLC forums, no answers. So I emailed the author of VLC’s Quicktime module, Pierre d’Herbemont, at the email he left in the source file. After a couple of emails, and less than 24 hours later, he’d checked in a fix. Open source FTW. Thanks Pierre.

The steps to get it working are enumerated below. At some point, the VLC fix will ship, but until then you’ll need to use nightly builds.

Install and configure the Icecast2 server:

  1. Install MacPorts
  2. In the Terminal: sudo port install icecast2. This installs everything into various dirs in /opt/local.
  3. Edit /opt/local/etc/icecast.xml, set user/group it runs as (for logfiles, i set mine to _www, same as Apache), and change the default passwords in the authentication section.
  4. Set permissions on /opt/local/var/log/icecast to be writable by the user you configured Icecast to run as.
  5. In the Terminal, start the server: sudo icecast -c /opt/local/etc/icecast.xml -b
  6. Test your install by checking the server’s status at http://localhost:8000/status.xsl
  7. Watch the log in the Terminal: tail -f opt/local/var/log/icecast/error.log (Useful for confirming VLC access, as well as catching authentication problems)

Start the stream:

  1. Download and install the most recent VLC nightly build
  2. Open the terminal, and execute the command below
  3. Open http://localhost:8000/stream/isight with Firefox 3.5b4 (or newer)

VLC Command (all one line):

/Applications/ qtcapture:// –sout=”#transcode{vcodec=theora,vb=256,venc=theora,acodec=vorbis,ab=64,aenc=vorbis}: standard{access=shout,mux=ogg,dst=source:yourpassword@localhost:8000/stream/isight}”


It’s still not quite ready for practical use:

  • There’s still some size distortion, maybe I have the aspect ratio wrong or something
  • Still working on sound
  • Lag is pretty bad

Live Screencasting on a Mac with Mogulus and CamTwist

This is bare-bones for now, just basic instructions to point folks at.

  1. Download and install CamTwist
  2. Go to create an account and a new channel
  3. Start CamTwist
  4. Select “Desktop” from the video sources list on the far left
  5. Select “Full Screen” from the settings pane on the far right
  6. Restart your browser (yes, do it)
  7. Log in to your channel’s studio on
  8. On the left, in the Sources section, under the Cameras tab, your camera should show up
  9. In your camera settings, select “CamTwist” as the Video Source, and click the Cue button
  10. On the right, in the “Cued clip” section, press the big “Transition to cued clip” button

Boom, you’re now screencasting live.

Installing the Lexmark P4350 on Mac OS X Leopard

  1. Uninstall the printer, if already installed from a previous version of OS X, or from previous attempts to install Lexmark’s drivers
  2. Open Finder, click on your HD, find Library/Printers/Lexmark, and rename it to Lexmark.bak
  3. Reboot
  4. Insert your Leopard DVD, double-click Optional Installs, double-click Optional Installs.mpkg
  5. When Optional Installs has loaded, open Printer Drivers, and check the box next to Lexmark, then finish the installation process.
  6. Open System Preferences, and then Printer and Fax
  7. Click the + sign to add a new printer
  8. Your P4350 should show up as “4300 Series Printer” in the list. Select it.
  9. The dialog may spin for a few minutes. When done, it will enable the driver selection list. Select “4300 Series” from the list and click OK.

You should now be able to print. I did this on two different Macs, and it worked for both.