Watson Status

    dan wood is a real class act. i've always loved watson. it was prolly the first app that really defined the difference between os 9 and os x for me. it's sad to see it go. i tried using sherlock the other day, but it just felt wrong. so here's to hoping that someone clones it. maybe they'll call it Moriarty. oh yeh, i'm mirroring the .dmg of watson 1.7.5 here. as far as i know, it's the last version he released. other people should mirror it, too, to share the load.

    UPDATE: dan has since put a free .dmg of watson up on the karelia site.

    So ... as of today, Watson (bumps and bruises and all, but still in decent shape) is now freely available. But the catch is, we can't make a new version that doesn't require entering a registration code; we don't have the source to Watson anymore. But we can give out a registration code that anybody is welcome to use.

    So here's the deal. Get a copy of Watson from a friend, or look for it somewhere on the Internet, as Karelia can't provide it directly. (The latest version, for instance, is available on the Yahoo! Watson Users Group, but if somebody wants to host a mirror of it, I'll post the URL here.) Then launch it and choose "Register Watson..." under the "Watson" menu.

    * Enter your name and (optionally) your organization.

    * In the E-mail address field, enter:

    nobody@karelia.com

    * And in the Registration field, enter:

    BNVQTTW 4P3SMC7 R7L8S3V 1XGKGG7A

    (Or, select the text of this message and drag into the registration window.) And that's it! Remember, this is unsupported software.

    class act.

    Project: Open Software Update

    • 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)
    • 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>
                    
    • download prefs
      • respect server side unless overwritten client side by user
      • update frequency : all items
        • daily
        • weekly
        • monthly
        • manually
      • enable / disable : item specific
      • auto download : item specific
      • auto download : item specific
      • admin password : save in keychain (BOOL)
    • auto open files
      • resolve decompression
        • if zip, gz, tar, et al : decompress internally
        • if sit, sitx : farm out to stuffitexpander
      • replace old version
      • backup older version pref (BOOL)
      • keep originals pref (BOOL)
    • issues to work out
      • initial lastUpdated date for each app
        • from the app's 'date modified' data?
        • sounds like good enough to me
      • xml namespaces
        • are namespaces necessary?
        • beneficial?
    • benefits
      • for users
      • for developers
        • can easily migrate existing check for update systems
        • inexpensive deployment
        • inexpensive maintenance
        • inexpensive bandwidth
        • keeps user base up to date