I recently set up an OS X machine, installing 10.3 to start with (base install plus BSD subsystem), and then upgrading to 10.3.7 and installing the required security updates. Having a completely clean system, I decided to install Firefox. I tried to do the install from an end user perspective, seeing what kind of experience they could expect. I figured I was in a position to do this, since I know little about OS X. Here is that tale:
I fired up Safari (great browser, clean interface) and head over to GetFirefox.com to download Firefox 1.0. In true end user style, I decided to forgo reading any documentation whatsoever and just hit the large “Free Download” link.
A few minutes later, I had a Firefox 1.0.dmg.gz file on my desktop, which I double clicked on. I was greeted with the following dialog:
I chose the ‘Choose Application…’ option and tried to find something that could reasonably be expected to open .gz files, but I wasn’t able to find anything that matched that description.
Having now reached the point at which most end users give up, I decided to be a more savvy end user, and go and read up on some docs. So, off I go and I end up at the Firefox 1.0 release notes, which have install instructions:
Double click the Firefox 1.0.dmg.dz Disk Image to uncompress and mount it. Your browser may have already done this for you. Double click the Firefox Disk Image to open it in Finder and drag the Firefox application onto your hard disk. Do not double click the icon in the disk image! Be sure to drag the Firefox application out of the disk image and onto your Hard Disk before running it. Drag the icon to your Dock if you want it to appear there.
Wait a second, didn’t I just do this? Safari had no earthly idea what to do with the .dmg.gz, so it didn’t open it, and obviously MacOS X had no idea either. Dead end.
The Camino download page had some instructions that looked potentially useful:
Once you’ve downloaded the .dmg.gz file, drag it onto Stuffit Expander to decompress it. If the disk image doesn’t mount automatically, double-click on the .dmg file to mount it. If that fails, and the file does not look like a disk image file, do a “Show Info” on the file, and, in the “Open with application” category, choose Disk Copy. In Mac OS 10.2, you can use “Open with” from the context menu.
But, my install of OS X didn’t have Stuffit Expander, nor did it have the Disk Copy application. After a little further research, I found out that starting in OS X 10.3, the functionality of Disk Copy was integrated into Disk Utility, but I was unable to get Disk Utility to do anything useful with the .dmg.gz file. Another dead end. This is way more than the amount of work we can expect 99% of end users to do, and I still hadn’t got Firefox installed.
Now, I realise that OS X has a BSD base, and has command line utilities to un-gzip files. But really, do we expect an end user to have to do that? I hope not. This install routine assumes too much about users’ systems and the tools they have at their disposal. This is not good.
There is an easy solution, which is to make Firefox available as a .dmg file rather than a .dmg.gz. We should be doing this anyway, because the standard way of distributing Mac software is via .dmg files. Presenting the user with a familiar install process will result in a much better user experience, with more completed installs. It’s rather unreasonable to expect end users to have to troubleshoot getting the installer disk image mounted.
UPDATE: The relevant bugs are as follows:
- Bug 169602: [Camino] Use compressed disk image instead of gzip’d dmg for installer
- Bug 242845: Firefox disk image should use .dmg internal zlib-compression, not .dmg.gz
- Bug 268074: [Suite] Mozilla DMGs are redundantly compressed with gzip
- Bug 276571: Thunderbird disk image should use .dmg internal zlib-compression, not .dmg.gz
UPDATE 2: Firefox, Thunderbird and Mozilla are all now distributed in compressed DMG format!
UPDATE 3 (11 May 2005): Camino nightlies are now distributed in compressed DMG format! Also, Mac OS X 10.4 (Tiger) no longer ships with Stuffit Expander installed by default, thus making this change even more important.