
How Should Mac Apps Be Distributed? - naish
http://daringfireball.net/2009/09/how_should_mac_apps_be_distributed
======
atlbeer
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

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

~~~
blasdel
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.

------
teehemkay
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 =

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

~~~
teehemkay
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 =

------
bobius
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.

~~~
modeless
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.

------
pieter
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

------
andrewtj
_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.

------
bkudria
With apt-get.

~~~
wmf
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.

~~~
catch23
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.

~~~
blasdel
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.

------
fortepianissimo
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.

------
s3graham
By going to the domain where it's hosted.

------
steveklabnik
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.

~~~
Psyonic
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.

