- one app to find them all, and in the darkness bind them.
- open to anyone. dependent on no one.
- like mac os x’s Software Update
- extensible
- simple plugin interface
- format
<?xml version="1.0" encoding="utf-8"?> <application> <name>Delicious Library</name> <host>delicious-monster.com</host> <updateInfoURI>http://delicious-monster.com/softwareUpdate/update.xml</updateInfoURI> </application>
- optional nodes
<updateFrequency>daily</updateFrequency> <updateFrequency>weekly</updateFrequency> <updateFrequency>monthly</updateFrequency> <requiredMinimumVersion>2.0</requiredMinimumVersion> <requiredMinimumUpdated>20040118</requiredMinimumUpdated>
- plugins by users or developers (partying together)
- format
- server side : update.xml
- single app
<host name="delicious-monster.com"> <application> <name>Delicious Library</name> <updated>20041118</updated> <version>1.0.5</version> <updateURI>http://delicious-monster.com/downloads/DeliciousLibrary.dmg</updateURI> </application> </host>
- multiple apps
<host name="ranchero.com.com"> <application> <name> NetNewsWire</name> <updated>20041022</updated> <version>2.0b6</version> <updateURI>http://ranchero.com/downloads/NetNewsWire2.0b6.dmg.gz</updateURI> </application> <application> <name>MarsEdit</name> <updated>20041116</updated> <version>1.0b12</version> <updateURI> http://ranchero.com/downloads/MarsEdit1.0b12.dmg.gz </updateURI> </application> </host>
- optional nodes
<updateFrequency>daily</updateFrequency> <updateFrequency>weekly</updateFrequency> <updateFrequency>monthly</updateFrequency> <requiredMinimumVersion>2.0</requiredMinimumVersion> <requiredMinimumUpdated>20040118</requiredMinimumUpdated> <endOfLife>true</endOfLife> <endOfLife>false</endOfLife>
- respect server side unless overwritten client side by user
- update frequency : all items
- daily
- weekly
- monthly
- manually
- resolve decompression
- if zip, gz, tar, et al : decpress internally
- if sit, sitx : farm out to stuffitexpander
- inital lastUpdated date for each app
- from the app’s ‘date modified’ data?
- sounds like good enough to me
- are namespaces necessary?
- beneficial?
- for users
- easy maintainence
- stay up to date
- open to all apps
- growl notifications
- can easily migrate existing check for update systems
- inexpensive deployment
- inexpensive maintainence
- inexpensive bandwidth
- keeps user base up to date
Originally published at: http://sbb.me/b3YQ7
needs description node for server side update