Possibly one of the coolest things I’ve come across for Mac developers in recent months is Sparkle. What is Sparkle you ask? Sparkle is a handly little cocoa module that you add to your programs that automatically checks for updates of the application you’ve built, downloads, extracts, installs, restarts, and can even show release notes. How cool is that?
According to the website Sparkle features:
- True self-updating—no action required from the user.
- Supports appcasts for release information. Appcasts are cool.
- Extracts updates from .zip, .dmg, .tar, .tbz, and .tgz archives.
- Displays release notes to the user with WebKit.
- User-enableable fully automated updates (beta).
- Displays a detailed status window to the user.
- Seamless app integration—there’s no mention of Sparkle anywhere; your app’s name and icon are inserted everywhere automatically.
- Supports authentication for installing in secure locations.
- Supports DSA signatures for ultra-secure updates (or MD5 for verified updates).
- Really, really easy to install.
- You don’t have to put any glue code for Sparkle anywhere in your project (it’s all through IB), so it’s trivial to upgrade or remove the module.
- Good about error handling in bad conditions.