When you download a new program for your Mac, it often comes with a “.dmg” file. The “dmg” extension stands for disk image. When you double-click on the DMG, it attaches, revealing its contents in Finder. From there, users drag and drop the image’s contents into the Applications directory to install new apps on their Macs. But why does macOS use DMGs for installing new software? Can’t they just use automated installers like Windows?
Turns out that one of the benefits of macOS app design is the lack of installers, but apps still need to be transported inside something. And that something is disk images.
Installing New Software
Mac applications actually rarely need installers. Because applications are bundled together in a single directory, installation is as easy as drag and drop. Over-complicating the process with a Windows-style installers is slow and unnecessary.
The differences can lead to misadventures for new macOS users. When I was migrating from Windows, I had no clue about what DMGs were or how macOS use DMGs. After all, many programs can run perfectly from their disk image, and disk images don’t always explain the “drag-to-Applications” step. As a result, I launched Firefox from the disk image for about a month until I realized I didn’t have any bookmarks and couldn’t understand why.
If it has the potential for confusion, why does macOS use DMGs for new program installation outside of the app store? And what’s the point of “mounting” a DMG just to drag and drop a file? Couldn’t a ZIP archive work just as well?
Reason 1: The Mac Application Structure
While a Mac application is represented by an attractive icon that you double-click to launch the application, that icon conceals a secret. That .app file actually represents a package. That’s essentially a folder containing all the application’s files.
See for yourself: right-click on any application in Finder and select “Show Package Contents” to explore on your own. Because macOS applications are essentially folders, they need some kind of container to transport them to new computers without losing files. Transferring a naked folder can be messy, especially across networks.
It’s like transporting a dozen eggs without a carton. And it turns out that the DMG makes a pretty good egg carton. Of course, other formats can hold a folder. Most people sharing a folder online use a ZIP file. What are reasons are there to explain why macOS use DMGs?
Reason 2: Aesthetic Customization
If you’ve shared folders online over email or FTP, you might have some experience with the problems encountered when trying to successfully share a folder and its contents over the web. But your solution was likely a ZIP file. After all, you even get a little compression out of the experience. But one thing ZIP files don’t allow for is a customized installation experience.
Customizing disk images means that developers can create a simpler and more pleasant installation experience for users. This includes setting features like custom icons, icon positioning, and background images. On the Mac, that kind of user kindness is sort of expected by the user. It’s one of the reason a lot of power users dislike the OS, but I find it makes an enjoyable and friendly OS myself.
When you open a disk image and see an arrow prompting you to drag the app into the Applications folder, you’re actually looking at the background image of the DMG. This isn’t possible with other container formats, and macOS developers are sensitive to visual design. ZIP archives can offer compression, but they can’t offer this degree of “installation experience” without running an actual installer. Instead, the unzipping program just drops files into a folder, offering the developer little aesthetic control.
Reason 3: Disk Images Are Similar to CDs
Remember that disk images became popular (and were adopted by Apple) in the day of physical media. Back when software was installed by inserting a CD, DMGs made a little more sense as a process.
The disk image mimics the CD-based installation process, piggy-backing on a familiar user behavior. Images can also be read-only (just like a CD), preventing the user from damaging or altering the known good copy of the application. Users can archive disk images, knowing they’ll have a functional copy of the app shelved away in case of emergency. For users used to CDs, this made DMGs easier to understand and adopt.
Conclusion: Modern Alternatives and Package Installers
Disk images still see a lot of use, even today. Along with their benefits, DMGs have developed a crust of tradition and expectation. Users expect new Mac apps to be delivered via DMG, so developers provide it that way. But you’ll also find a reasonable quantity of bare .app files inside ZIP archives scattered across the Internet. This is especially true for applications from GitHub or smaller developers.
You might also see applications come in packages (.pkg) with installers on board. Developers use the package format when the application needs to execute instructions upon opening. For more complicated applications, or applications that interface with macOS in specific ways, package installers are essential. It’s especially useful when the program needs to copy files to directories outside of “/Applications.”
For example, if the installer needs to install custom fonts or copy files to the Library directory, a package format can accomplish that with an installer. This way, users don’t have to create folders in and copy files to a directory they can’t even see by default.
You might also be interested in the following posts: