Tumbled Logic

Jul 1 2009

Mac Software Update

I love the fact that most Mac apps ship with Sparkle, a nice software-updating framework.

There’s one thing that bugs me, though: I have to run each app in order for it to update. Sometimes, this isn’t a problem, but there are occasions where I’d just like to be able to update all of my apps.

AppFresh aimed to solve this, but last time I used it, it was clunky and buggy, and I eventually stopped bothering. Part of the problem is that AppFresh has to scan your various applications folders, and also that it has support for downloading updates in all manner of different ways.

What I’d like is something far, far, simpler, although along the same lines:

  • Applications, when they run, log their own path, bundle identifier, AppCast URL and public key into a database hiding in ~/Library/Application Support—the key here would be path, rather than bundle identifier, so as to deal with multiple copies of applications.
  • An application built to do mass software-updating can query this database to find out where your updateable applications live, and pull AppCasts as appropriate.

…er, that’s it.

Not only would this help something of AppFresh’s ilk (fairly comprehensive, deals with lots of things besides AppCasts), but it would allow the creation of something far more elegant: a Software Update for Applications not too far removed in look, feel and simplicity from Apple’s own Software Update utility. As Sparkle has become the standard mechanism for updating applications and plug-ins on the Mac (even Apple uses it nowadays, for updating WebKit nightly builds), this little change to the framework would round that off nicely. Who knows—perhaps with this in place, a future release of Mac OS X could include a Software Update that updates non-Apple applications too?

I know there are a few Mac developers who read this, so I’d be interested in their thoughts.


blog comments powered by Disqus
Page 1 of 1