Lots of stuff on OSX is tightly coupled – the .app bundle, for instance, is a great collection of almost everything related to an application that’s not a preference.
<p>An Installer bundle is another example - a nice collection of patches, updates, plists and scripts all tied together to make life easy for you.</p> <p>But one thing that gets left out in the cold is software updates. Some apps are updated every few weeks and you have to manually manage your patches, if you manage them at all. And even if you do you really have no disk-efficient way of doing version control. The update process is <b>un</b>coupled.</p> <p>This is a job for an OS. It would be great if there was a new folder in .app called Updates, either under .app or .app/Resources. A framework to manage updates (downloading, installing, applying, versioning, purging) would be created and the Installer could use it, applications could use it, heck probably Safari would use it sooner or later.</p> <p>The NeXT .app was developed way before daily Internet updates were around so it’s understandable how we got here, but I just counted almost 20 steps to apply a NeoOffice/J update and that one was well-done and went smoothly. Two of the steps were choices, one had only one option, and one was a security decision that could have been better made programatically. This should have been a 2-click install.