Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How Should Mac Apps Be Distributed? (daringfireball.net)
47 points by naish on Sept 18, 2009 | hide | past | favorite | 26 comments


Simple proposal.. How about a zipping an application and merely naming it .appz (or just plain zip)

The only reason why Mac application can't be distributed like Windows .exe files is that Mac applications are actually directories. Excluding .pkg installers 99.99% of the time the .dmg file is merely just a container for the single .app directory.

Safari automatically unpacks .zip files by default on download. Where's the mystery here. Why bother with dmg in the first place


This is already implemented on the iPhone.

The main reason they haven't done it on OS X is that it would be completely backwards-incompatible. They should have done it in Snow Leopard (an easy choice if your app uses GC), but if they did they didn't tell anyone. Instead they added optional zip/deflate compression to HFS, and used it for most of the system files.


So, leeching your appz directly will cause no need for dmg?

(-:


This would be a huge improvement, in my opinion. The only thing I would change is to rename .appz to .zapp :P


Why do they need to be named differently at all? One is a directory, the other a file -- no ambiguity.

The Finder and LaunchServices are the only bits of code that care anyway.


re: all the zip suggestions. Apple already provides a solution:

"Internet-Enabling a Disk Image

Although all disk images can be transported through the Internet, users need to open them, retrieve their contents, and discard them. An Internet-enabled disk image automates this workflow. After a user downloads an Internet-enabled disk image from a network using a web browser, the image is automatically opened, its contents placed at the user’s download location, and discarded (in the Trash). This improves the manual install experience by performing a few tedious tasks for the user. "

Too few devs seems to be aware of this.

Anyway a custom installer for Firefox is a backward idea.

= tmk =



How long has this feature been around? This should definitely be in use for all dmgs with only one file.


According to Wikipedia this feature appeared in Mac OS X 10.2.3 which was released in December 2002...

http://en.wikipedia.org/wiki/Apple_Disk_Image

http://en.wikipedia.org/wiki/Mac_OS_X_v10.2

= tmk =


On launch, your application can check to see what directory it's in. If the directory is mounted as the same name as the .dmg image you shipped, then you could prompt the user. "You appear to be running this application from a disk image. This will make the application run slower. You should copy the application to your Application Folder. Do you want to move it there now automatically Y/N/don't show this again." or whatever.


Let's combine this with the zip file approach. Your app is distributed as a zip file containing only the app folder. Safari unzips it automatically, then the user double-clicks your app icon. Your app notices it's in the "Downloads" directory and asks "Would you like to install me to the Applications folder?" If so, the move is done visually by opening two finder windows and literally moving the app icon as if it was being dragged. Afterward the Applications folder remains open displaying the app icon in case the user wants to drag it to the dock.


Some, I think Adium is one, already do this. It's really nice, very use-friendly.


The problem isn't the dragging to the application folder itself. I've seen my mother do this and it went fine.

He problem is that the application isn't moved, it is copied. After putting a copy in the Applications folder, she just drags the application from the disk image to the dock. Now she has two copies, and uses the slower one in the disk image. Sometimes she even drags the disk image to the Application folder too. It's all very confusing

I agree that the disk image system is very confusing for the casual user. The zips seem to give a much nicer interface


As it stands, they’re following the common pattern of delivering the Firefox app on a disk image, which, when mounted, uses a background image and alias to the /Applications/ folder to encourage users to copy the app from the mounted image to their startup drive.

I'd bet this pattern would be a whole lot more effective if there were text prompting the user to take this action. It seems like most implementations of this pattern focus on bling rather than usability.


With apt-get.


If you have one repository you've just created a monopoly. If you have multiple repositories (probably one per app) then you've just shifted the problem to installing new repositories.


What's wrong with multiple repositories? It should be easy to add new ones. There's multiple places to get debian packages, there's the main packages, non-free, backports, and other homebrew ones like mythtv etc. It's as easy as adding a line into a text file, but I'm sure the interface could be better... maybe even something integrated with the browser.

Maybe github & sourceforge has a mac repository. So you'd have the default one from apple, plus any open source apps from github & sourceforge. Individual developers who just publish code on github wouldn't need to setup their own repository. In a way, it's kind of how the ruby community distributes their packages.


Freetard wankery is the only reason there is more than one place to get debian packages.

Fuck debian-legal. I hope their heads fall off.


Zero Install attempts to resolve that issue amongst others: http://0install.net/


What's wrong with a monopoly? The common iPhone user has no problems with the App Store...


Lack of package management was one of the reasons I dumped OS X.


There’s a couple of good package management systems for OSX, if you’re looking for servers/frameworks and command-line apps. Seeing as servers & frameworks tend to be more complicated to install that dragging an app to the Applications folder this suits me. I use http://www.macports.org/


If Apple can be persuaded to do something, either prompting user to move an unzipped .app to Applications folder or treat .appz (zipped app) as an .app should work.


By going to the domain where it's hosted.


Ever install Skype for the Mac? They actually have a link to the Applications folder in their .dmg, and a little arrow icon to show exactly what you have to do. It's pretty sweet.


A lot of .dmg's have that same thing, but as someone else mentioned, doesn't solve the whole problem. Naive users will drag it there, but then also drag it to the dock.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: