Sparkle
Appcasting seems like a great idea to me. In short, an appcast is an RSS feed with an enclosure that is your latest release. I was turned on to appcasting when I found out about Sparkle. Sparkle made it super easy for me to add “check for update…” support to rooVid (it’ll be in beta 2). Sparkle pings your appcast feed to check for updates. If a newer post is found, it presents release notes / changelogs (optionally) and offers to download the update. After downloading, the user has the option to install and restart the app. The quick test I did was successful and seemed pretty slick (more testing required). The only custom tweak I’ll need to do is make sure there isn’t an active encode going on before “install and restart” is allowed.
rooVid’s appcast: http://roobasoft.com/rooVid/appcast.xml

February 25th, 2006 at 5:00 pm
One thing I’m wondering about is: Could appcasting be subverted to create a software update clone? I already wrote a little software update clone that works with MacPAD files, but those contain the bundle identifier of the application. Appcast feeds only contain the download and some text, so it’d be hard to find the corresponding application and version number to find out whether the RSS feed is a newer version than the one on the hard disk.
My thought was to add some more tags to the feed, that contain that info, but I’m wondering whether the tools people use to do their feeds support that. What tool are you using for your appcasting feed? Would it let you add arbitrary additional tags like that? Would that be a lot of work for you?
February 25th, 2006 at 7:00 pm
It took me a while to figure out what you were talking about, but I think I got it. You mean an app that could check for new revs of all your software? Similar to what “Software Update” does for Apple software, makes sense and that’d be pretty interesting. From what I can tell, the way Sparkle determines if there’s a newer rev is by looking at the filename of the latest enclosure in your feed. There’s a strict format for naming your .dmg (or however you distribute) for sparkle. It requires: {appname}{version}.dmg (and possibly some other variations, but that’s what I’m using). My {version} is the subversion revision that the release was built from. So for rooVid, beta 3 is really rooVid151.dmg I’ve yet to answer your question
To author my feeds I’ve been using feeder. I haven’t purchased a license yet but I probably will. It takes care of the enclosures and pubdate and all that other stuff and seems to do a good job at it (I haven’t dug very deep, and I hope not to have to). As for adding custom tags to the feed, if you can do this, I don’t see how.
February 26th, 2006 at 5:03 am
I think you just solved my complete problem… I used to try encoding the version number in the title, but obviously the download name is a much better choice because the users don’t see that as much. And I don’t really need the bundle identifier at all, since I can use the feed URL to find the application referred to by a feed (because all apps would have to include a pointer to their appcasting feed anyway).
Thanks! Nothing better than to talk to another programmer to make oneself feel stupid