Development:Planning:Software Update

(Difference between revisions)
Jump to: navigation, search
(Comparison Table)
(Comparison Table)
Line 174: Line 174:
<td>Can remind to download later</td>
<td>Can remind to download later</td>
<td {{GreenCell}}>Yes</td>

Revision as of 00:55, 29 August 2007



  • can build in a 10.3/10.3.9 SDK/gcc3.3 and 10.4/10.4u/gcc4 Universal configuration
  • Compatible license
  • Approval to land in cvs (if not using mozUpdate) - mento prefers landing source code instead of binary drops
  • https capabilities
    • Everything needs to be either https or signed (signing is an option for the Sparkle downloads, but there's a logistical issue that would come with that)
  • Update checking (OS version, etc.)
    • say, 1.6.x updates to 2.0.x at some point unless you're running 10.3, in which case you only get 1.6.x updates
    • and if you move to 10.4, do you get re-offered 2.0.x
  • provide a way to turn off update checking from inside the app (unlike adium - with apologies to cbarrett for the jab)
  • one thing i don't like about sparkle is that it doesn't check to see if you have permission to update the app first
  • We should only enable update checking in official release builds
  • en-only and ML Camino
    • what if your language drops from ML in a major update?
  • Localization of required strings
    • This is significant UI, and it needs to be localized (i.e., Gecko chrome strings bug is a no-go here)
  • Automated generation of update and update notification
  • Bouncer/download counts

Potential requirements

  • Resuming lost connections
  • Background/throttled downloads
  • Remind me later
    • Don't remind me again???
  • Install update later


  • QA
  • Documentation
  • Gecko
  • Well-maintained

Comparison Table

<tdstyle="background: #8F8;">Yes</td> <tdstyle="background: #8F8;">Yes</td> <td></td>

<tr> <td>License</td> <td style="background: #8F8;">Tri-License</td> <td style="background: #8F8;">MIT [1]</td> <td></td> </tr> <tr> <td>cvs Approval</td> <td style="background: #8F8;">In tree</td> <td></td> <td></td> </tr> <tr> <td>Can land source code
(instead of binary drops)</td> <td style="background: #8F8;">In tree</td> <td></td> <td></td> </tr> <tr> <td>Uses https for binary downloads</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Uses https for "need to update" notice downloads</td> <td></td> <td></td> <td></td> </tr> <tr> <td>https server available</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Supports fine-grained checking for version/OS pairs</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Can disable update checking within Camino</td> <td></td> <td style="background: #8F8;">Yes</td> <td></td> </tr> <tr> <td>Verifies user has permission to update first</td> <td></td> <td>Supports users authenticating</td> <td></td> </tr> <tr> <td>Can enable updates/update checking only in official release builds</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Can handle ML as well as en-only Camino</td> <td></td> <td>Probably, via localized InfoPlist.strings</td> <td></td> </tr> <tr> <td>UI string localization</td> <td></td> <td>26 .lproj</td> <td></td> </tr> <tr> <td>Release automation</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Bouncer/download counts</td> <td></td> <td></td> <td></td> </tr> <tr> <td colspan=4>Desirables</td> </tr> <tr> <td>Support for resuming lost connections</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Can download in background</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Can download at low speed to not affect connection</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Can remind to download later</td> <td></td> <td style="background: #8F8;">Yes</td> <td></td> </tr> <tr> <td>Can install later once downloaded</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Good UI/UE
(not lots of prompting, esp. at launch)</td> <td></td> <td></td> <td></td> </tr> <tr> <td colspan=4>Other concerns</td> </tr> <tr> <td>Expanded QA requirements</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Documentation</td> <td style="background: #FF8;">Poor/missing for many parts</td> <td></td> <td></td> </tr> <tr> <td>Complexity added to the app
e.g. wrapping Gecko</td> <td></td> <td></td> <td></td> </tr> <tr> <td>Actively maintained and supported</td> <td></td> <td></td> <td></td> </tr> <tr> <td colspan=4>Color key</td> </tr> <tr> <td> </td> <td style="background: #8F8;">Present</td> <td style="background: #FF8;">Unknown</td> <td style="background: #F88;">Missing</td> </tr> </table>
Personal tools
Requirement mozUpdate Sparkle Option 3
Can build as 10.3/10.4 Universal