I cloned and modified stub.m into a creature called osxdnl.m for use when packaging ‘download if needed’ (dnlif). stub.m assumed it was download a .dmg which it mounted and copied to /Applications. Shoes 3.2 (federales) uses a .tgz for the download Shoes.
When you package ‘myapp.rb’ or ‘myapp.shy’ with dnlif option for OSX you’ll create an myapp-osx.tgz. You send that to your friends & co-workers or upload it to your website. It’s a small file. The end user double clicks the myapp-osx.tgz, OSX offers to expand it and you get a Myapp with the shoes icon. Double click that and if Shoes is installed in /Applications it will start running myapp.rb or myapp.shy
If Shoes is not installed, then it downloads and installs Shoes. Thats how it works in Linux and Windows and soon on OSX (I hope). It’s the default way to package in the upcoming Shoes 3.2.16. You can still include Shoes with your package but it’s not the default. dnlif is much simpler for all. A working GUI downloader in Objective-C/cocoa that I can run from a bash script is the first step. It should proceed quickly. Unless it doesn’t.