Sparkle– Plus!

Posted by Tom Harrington

Over recent weeks I’ve been working on my own version of Sparkle, Andy Matuschak’s uber-cool auto-update framework for Cocoa apps. I love it– but at the same time, Omni Group’s Software Update Stats page just plain makes me drool. I so need data like that, and if I’d realized that back in 2002 I might have given up supporting 10.1 by now. Or not. But at least I’d know if dropping it was going to seriously inconvenience my customers.

So, I thought to myself, “Self, why not combine these ideas? I mean, if the app’s already contacting the server to check for an update, why not have it pass along some basic information about the Mac it’s running on at the time?” Since Sparkle’s open source and has a completely non-restrictive license, I decided to do it. However, Andy didn’t think it was something he wanted in the core Sparkle distribution.

So, here’s SparklePlus– Sparkle plus basic system profile information. This version of Sparkle is, as with the original, something you can pretty much just drop into your app and have it work. Do this, and the app will ask your users if it’s OK to include anonymous system information, and do its work without asking for any help from you.

Here’s a quick movie to show you what it looks like. Aside from this it’s exactly like Andy M’s movie. (And by the way– yes, we could use some help with localizing this window from people who speak languages other than English!)

There’s also some PHP code to use on your web host, along with a MySQL database. The distribution includes a README that explains how to use it. At the moment pretty graphs a la Omni are missing, but all in good time. The data gets collected, the eye candy will fit in later.

I’d like to thank Jonathan Wight for offering to host SparklePlus here at ironcoder.org, and for fixing some problems in the PHP code. Also numerous people in #macsb have been extremely helpful, looking over the code, putting it through its paces and making sure it seems ready for public consumption.

<

p>You can get SparklePlus 0.2 through SVN here at ironcoder.org. That’d be: svn co http://ironcoder.org/svn/SparklePlus/tags/release-0.2 Or if you want to keep up to date with it, grab the trunk and take your chances: svn co http://ironcoder.org/svn/SparklePlus/trunk

As of today it’s current with Andy’s latest SVN updates (that’s rev 686).

13 Responses to “Sparkle– Plus!”

  1. Red Sweater Blog - Another UI Bites the Dust Says:

    […] While we’re looking at the Help menu, let’s try out some of the other options. Maybe, even though this product was just announced, and I’m running it on the day of its announcement, I somehow have an outdated buggy version? That option to “Download latest version” looks hopeful. I love it when applications help me stay up to date. But selecting this option does exactly what it says it will do, it links directly to a dmg download, which on my machine causes Safari to start re-downloading the version I’m already running. I don’t need it if it’s the same! Thanks, though. This situation would be made better by using Andy Matuschak’s free Sparkle framework or Tom Harrington’s cool SparklePlus branch, which allows for optional collection of a user’s machine statistics. Since Meetro includes the Growl framework, I know that the company is not averse to open source solutions. Lesson: Empower your users by incorporating de facto standard open source packages. Don’t reinvent the wheel badly. […]

  2. toxicsoftware.com » Quickies Says:

    […] Tom Harrington has announced Sparkle Plus. This is a fork of Andy Matuschak’s Sparkle auto-update framework for Cocoa. SparklePlus is hosted on ironcoder.org and becomes the first Mac OS X open source project hosted by Ironcoder. […]

  3. Mike Zornek Says:

    You need to fix the static wording of the window. For my app “Sparkle Test App” is there. As seen here:

    http://mikezornek.com/temp/need_to_sub_in_app_name.png

  4. Tom Harrington Says:

    The app-name bug was fixed in trunk. For the benefit of anyone else who might find bugs in SparklePlus, we’ve got Mantis running here for tracking purposes– just head over to http://ironcoder.org/mantis/ and file a bug.

  5. Ago Says:

    I read that you need some help with translating… since I’m italian I think I could take on some of the work. Feel free to e-mail me if you think that I could be of some help :) Bye!

  6. Logan Rockmore Says:

    I’m really interested in using Sparkle Plus, but I wanted to know if there was any plan to convert the Sparkle 1.0 final into Sparkle Plus. I’m not sure how difficult it would be (and if I could figure it out myself), but if you (Tom) were going to create a Sparkle Plus version 1.0, that would be great. Thanks!

  7. ironcoder » Blog Archive » SparklePlus 0.3 Says:

    […] SparklePlus has been updated to version 0.3. […]

  8. Hugh Says:

    A great idea to bundle App update and Mac System Info gathering (too bad i’m at work on a LoseDows PC and can’t give it a try).
    If you still need some translation to be done and want some help for French, drop me an email …

    Thanks again for this great idea.

  9. Red Sweater Blog - FlexTime 1.1 Says:

    […] FlexTime 1.1 also includes the afore-mentioned “large timer feedback” while running, and includes Sparkle-Plus for automatic software update checks. […]

  10. surr Says:

    If it’s still needed, I’d be pleased to make the French translation. Just send me an e-mail.

  11. Tales of Being TJ » Blog Archive » Developers: This Is How To Get Your Users To Upgrade Says:

    […] Daniel Jalkut was nice enough to inform me that he’s using a modified version of Sparkle Plus to do this. I’ve seen other apps using similar methods and I hope that it catches on with […]

  12. Robert 'Groby' Blum Says:

    Hm. The SVN repository seems gone. Andy Matuschaks Sparkle site is down, too. What happened?

  13. Jonathan Wight Says:

    @Robert. Moved. See:

    http://ironcoder.org/blog/2007/07/12/sparkleplus-has-moved/