Design Element
Comment on "Portable Applications on Mac OS X"
by dc — Oct 13
ssp's idea above seems like a pretty good one. It could even be as simple as portable-aware applications looking at mounted drives for a "Library" folder. If they detect a different set of preferences on some drive, they could prompt the user if they would like to use those settings instead. (Perhaps this could be done automatically if there is no extant application support folder for the app, as would usually be the case on lab Macs. This could possibly be a security risk--set up an Adium account to point to your own personal Jabber server, trick someone into mounting a disk image containing those prefs, prompt for their account password... 0wned! Hey, it could happen.) Applications that support portability could have a menu item to "save portable preferences" or some such, which would automatically copy the correct files to the drive. The home machine versions of these apps automatically detecting the presence of a device with portable preferences, and syncing them when necessary, would be icing.

Alternatively, and perhaps a little cleaner, apps which wanted to implement this functionality could offer an "Export Portable App" menu item, which would create a special version of the program containing all relevant preferences. Perhaps this portable app could do something clever like override the default framework's NSPreferences implementation and point them to its own app directory, or maybe something as simple as symlinking the relevant files in the host machine's ~Library folder to the app bundle on the drive.

This latter one could be a problem if the app already exists on the host machine. And, as mentioned above, if someone wanted to give a friend their copy of say Adium, it would be a definite security issue to include their preferences. You could do something simple to discourage this: changing the app icon (the original icon, dangling off a keychain?) and name ("Bob's Adium") to remind people that this is a special Adium. To avoid security problems, perhaps a portable app could detect if it was being run off the boot volume, and in that case delete the stored preferences and start from scratch--though that might result in unexpected behavior in certain use cases.

I like the simplicity of encapsulating the portable app in a single app icon. Changing the icon and name of portable apps, and including some kind of syncing functionality when connected to the original host machine, would be a very Mac-like way of doing it.

So hey, you programmers, implement it already! Having this capability in Adium/Colloquy in particular would be fantastic. A portable address book is obviously indispensable. Portable iCal, NetNewsWire, Safari/Firefox, Mail (or, failing that, Thunderbird)--all fantastic. I'm a big fan of WriteRoom; copying it to a thumb drive and knowing that all my current writing projects would be with me at all times (and autosynced with my main computer) would just be a godsend. How about a portable version of iTunes which sets up an SSH tunnel to your home Mac, and fools itself into thinking all your music is local? *That* would be cool, though probably beyond the scope of this project.

Anyway. Great idea. Apps on the Mac are so almost portable, it's such a small step to actually getting them there...
Back to "Portable Applications on Mac OS X"
Design Element

Copyright © Scott Stevenson 2004-2015