[vlc-devel] Future of the update mechanism
Felix Paul Kühne
fkuehne.videolan at googlemail.com
Wed Jul 29 18:37:20 CEST 2009
Am 29.07.2009 um 18:20 schrieb jpd at videolan.org:
> If showing a (clickable) link in a popup hooks into existing
> download-and-execute facilities already provided, that saves us a
> lot of
> code and makes the process clear for the operator. All we would need
> a hook in the installer to remove and clean an existing instance
Sounds great for Windows, indeed.
> If such an approach doesn't work we'll have to re-think our approach.
> Personally I am not readily in favour of duplicating another wheel
> or even importing someone elses' reinvented wheel. If that means our
> updater looks a bit kludgy (but otherwise works reliably and well),
> I'll live with that.
Well, at present, it crashes in release builds on both Mac OS X and
Win32 and additionally, it doesn't work on PPC-based Macs at all.
> What should worry us first is how we present minimum
> hassle for /the user/ (including update nagging), combine that with
> minimum extra code and complexity for us, and before all else make
> nothing happens without /the user/'s informed consent.
Well, that's the good thing about Sparkle. From the developer's
perspective, it's a matter of half an hour to set everything up (set a
few properties in the app bundle, link framework to UI, copy XML to
server). After that, all you need to do is editing the XML once per
release and sign the new binaries. From the user's perspective, you
can set the check interval (if not, it's once per week or you can
disable it altogether) and tell the panel to go away, if you don't
want to update right now. Basically, it's a lot easier and nicer for
However, courmisch got a really good point. SSL is expensive, both
money and CPU-wise. If we want to get a SSL certificate anyway, "my"
approach might be a good idea. If not, well having a trusted SSL
certificate for trac, etc. would be good as our SSL connections don't
really make sense right now.
More information about the vlc-devel