2009-10-04

Giving up on .dmg

Alexander Limi recently wrote Improving the Mac installer for Firefox (and also a part 2), where he basically explains all the ways in which .dmg is an awful choice.

John Gruber followed up with How Should Mac Apps Be Distributed?, in which he praised "the resurgent trend of delivering Mac apps as simple .zip archives".

It's not like .dmg hasn't always been awful; in 2006, C├ędric Luthi 's zip vs dmg complained about how slow .dmg is compared to .zip, and though he could have better emphasized that he meant the awkwardness of the entire process rather than just CPU time, it's clear he was really talking about the same problem.

The jessies.org applications have been shipped as .dmg files for years now, and since most of us build from svn and run straight from the file system, we don't often feel the pain of installation. Watching others struggle with .dmg, though, is a pretty convincing argument that this madness be stopped, Apple's recommendations be damned.

It's worth noting that Apple doesn't have to suffer its own recommendation, because Apple's stuff either uses .pkg or is installed with the OS [using .pkg behind the scenes] and updated by Software Update.

We've also had trouble since 10.5 with occasional bogus "the disk image you are opening may be damaged" messages. These are repeatable on any given machine, but the MD5 of the downloaded bits is exactly the same as on another machine where everything works fine. And later builds seem to work on machines that have had problems previously, and new machines that used to be fine start having trouble. This hasn't been fixed by 10.6. It doesn't seem to matter whether the .dmg is generated on 10.4, 10.5, or 10.6. (As far as I know, we've never seen the warning on a 10.4 machine, so whatever the bug introduced in 10.5 is, it wasn't included in 10.4 security updates.)

Anyway, so many people finally standing up and agreeing that the emperor has no clothes has given me the courage to revisit what I said in 2007's Choosing the best disk image format on Mac OS, where .zip was the clear winner even if it wasn't taken seriously as a contestant, and switch us over to .zip.