Automatic software upgrades

We have detected from crawls of the Tribler network most of our users never upgrade Tribler. The majority of our users are still using 3.6.0 and 3.7.0, software that is over a year old. As of Nov. 2007 less than 5% use the latest V4.1

A study found by Fabian given an insightfull look into the upgrade incentive problem, ‚Äčpage 25 only. We find that half of users are running software less than three months old. Unfortunately, a third of Azureus users run software more than 6 months old despite an auto-update mechanism. Furthermore, about 5% of BitComet users are running code over 18 months old. Clearly, no update can be expected to be universally adopted in a short timeframe.

Upgrading and installing patches is a universal problem in computer science, therefore it will take us time to fix it. The auto-update mechanism should work similar to the nice Firefox approach. Here is our ideal implementation :

  • Tribler developers test a Beta internally
  • When Arno declares it stable it is deployed to our 50+ testers
  • If deemed ready for release it is put on website
  • When no issues are detected after at least 2 weeks we start the auto-upgrade
    • We hard-code in every Tribler peer a "software superpeer PermID"
    • The BuddyCast profile of the software superpeer always contains the swarm with the latest downloads.
    • While running BuddyCast a new release is automatically detected, for relevant OS.
    • The software is automatically downloaded at low priority
    • Upon next startup a single window appears, title "Software upgrade to Tribler V4.4"
    • Pop-up Window text proposal :
        '''Software upgrade to Tribler V4.4'''
      
        The Peer-to-Peer network is upgraded.
      
        The latest Tribler version has been downloaded is ready.
      
           [ ] Launch old version, get less performance
      
                           [ OK ]
      
      
    • Without any additional GUI questions the latest version installs and starts (Similar to Firefox).
    • Users can select the launch old version checkbox
      • This is shown as a simple [ ] checkbox
      • This pop-up will show only once
      • Users have to decline only once
      • A pop-up appears again only if an ever newer version is available

Comments

Arno: People may have problems with being forced to upgrade. IMHO they stick with an old version for a reason, e.g. because it works fine for them. I'd rather provide a strong incentive for them to upgrade. Not obvious what that would be, apart from always saying "new version fixes major security bug" ;o)

Jan David: One feature I liked in other software is the 'A new version is available. Install / Skip / Later', after which "install" downloads and installs and asks for a restart, "skip" will not bug about this new version and "later" will ask me again next time. Full control, no hassle.

Threatening with worse performance is likely going to infuriate or alienate users. I would be pissed if my performance would be 'downgraded' even though I did not do anything. You can only boast about better performance with the new client, and -only- if its true. Most updates are bug fixes or new features, not extra performance on current features.