Re: Would Any Developers Use This?
Re: Would Any Developers Use This?
- Subject: Re: Would Any Developers Use This?
- From: Chris Boot <email@hidden>
- Date: Mon, 10 Sep 2001 17:40:19 +0200
Hi,
In my opinion, there should be both a centralized program that can handle
all of the supported programs' updates, as well as a Framework under some
unrestrictive license (as in LGPL or the like) that programs that wish to do
updates for themselves can link against or even build into their programs.
It would be best if the framework used only libraries available on Darwin OS
so that those programs could use it too.
The updates themselves could be on the developer's server, or in a
centralized system if someone would like to get into this business. The
information about the program (its name, version, etc...) as well as the
server to get updates from (address, port number, program's unique ID,
etc...) would be stored in a plist file in the updateable application's
Resources folder. This file would have the same name in each and every
application that wishes to use such update services.
The updater application could very easily locate updateable applications
that want to use update services by performing an HFS catalog search or
whatever for this property list. It would check that this file is inside an
application's Resources folder, and if so, read it and find out from that
plist whether the application really wants the updater to list it.
As for the framework, it would be up to the developer to choose when and how
to perform updates. My suggestion would be to have a menu item between the
about and preferences items in the application menu to handle such updates.
The updater application could also install a Cocoa service or some such
mechanism that would be available to all applications and allow updates of
the current application if certain criteria are met.
The procedure for finding out whether an application needs updating is
rather simple. The updater framework would download an XML file which the
updateable application's plist file points to, and compare version numbers
and the like. If the file on the server is newer, the user is asked whether
the download should be performed. If yes, the updated file is downloaded
from the server (the URL is retrieved from the XML plist file on the server)
and the user asked whether to install the update automatically or to leave
it in the downloads folder and let the user take care of it.
An implementation of this system would only require very few lines of code
as all of the XML parsing and stuff is already written as part of
CoreFoundation and would only require a simple HTTP / FTP server to run. It
could be run under CarbonLib on Mac OS 9 if it stuck to CoreFoundation and a
CFM version of the framework built.
The whole thing (not just my ideas) seems like a great thing to me, and
would not require very much effort on either the implementor's, developer's,
or end user's part to get working properly.
So what do people think?
--
Chris Boot
email@hidden
"Apparently if you play the Windows NT CD backwards you hear satanic
messages"
"You think that's bad, if you play it forwards it installs Windows NT!"
--orlando