Difference between revisions of "Development:Planning:Software Update"
Jump to navigation
Jump to search
(in progress; i'll finish updating this later) |
(herewith some updates, and a table we can use to compare) |
||
Line 11: | Line 11: | ||
* 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 | * 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 | * 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? | ||
+ | * Automated generation of update and update notification | ||
== Potential requirements== | == Potential requirements== | ||
Line 20: | Line 23: | ||
==Concerns== | ==Concerns== | ||
* QA | * QA | ||
− | * | + | * Documentation |
* Gecko | * Gecko | ||
+ | * Well-maintained | ||
==Comparison Table== | ==Comparison Table== | ||
Line 70: | Line 74: | ||
<tr> | <tr> | ||
<td>Uses https for "need to update" notice downloads</td> | <td>Uses https for "need to update" notice downloads</td> | ||
− | + | <td></td> | |
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 111: | Line 115: | ||
<tr> | <tr> | ||
− | <td> | + | <td>Can handle ML as well as en-only Camino</td> |
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 118: | Line 122: | ||
<tr> | <tr> | ||
− | <td> | + | <td>Release automation</td> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td | + | <td colspan=4>Desirables</td> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Support for resuming lost connections</td> |
− | <td | + | <td></td> |
− | <td | + | <td></td> |
− | |||
− | |||
− | |||
<td></td> | <td></td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Can download in background</td> |
− | + | <td></td> | |
− | <td | + | <td></td> |
− | <td | + | <td></td> |
− | <td | ||
− | |||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Can download at low speed to not affect connection</td> |
− | <td | + | <td></td> |
− | <td | + | <td></td> |
− | <td | + | <td></td> |
− | |||
− | |||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Can remind to download later</td> |
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>Can install later once downloaded</td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 187: | Line 168: | ||
<tr> | <tr> | ||
− | <td | + | <td colspan=4>Other concerns</td> |
− | + | <td>Expanded QA requirements</td> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 227: | Line 176: | ||
<tr> | <tr> | ||
− | <td> | + | <td>Documentation</td> |
− | |||
− | |||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Complexity added to the app<br />''e.g.'' wrapping Gecko</td> |
− | |||
− | |||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
Line 247: | Line 191: | ||
<tr> | <tr> | ||
− | <td> | + | <td>Actively maintained and supported</td> |
− | |||
− | |||
− | |||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td colspan=4>Color key</td> | ||
</tr> | </tr> | ||
Line 259: | Line 204: | ||
<td>Sample colors</td> | <td>Sample colors</td> | ||
<td style="background: #8F8;">Present</td> | <td style="background: #8F8;">Present</td> | ||
− | <td style="background: #FF8;"> | + | <td style="background: #FF8;">Unknown</td> |
<td style="background: #F88;">Missing</td> | <td style="background: #F88;">Missing</td> | ||
− | <td style="background: #88F;">Completed/waiting for files</td> | + | <!--<td style="background: #88F;">Completed/waiting for files</td>--> |
− | |||
− | |||
</tr> | </tr> | ||
− | |||
</table> | </table> |
Revision as of 17:59, 22 August 2007
Requirements
- 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?
- Automated generation of update and update notification
Potential requirements
- Resuming lost connections
- Background/throttled downloads
- Remind me later
- Install update later
Concerns
- QA
- Documentation
- Gecko
- Well-maintained
Comparison Table
Requirement | mozUpdate | Sparkle | Option 3 | ||||
---|---|---|---|---|---|---|---|
Can build as 10.3/10.4 Universal | |||||||
License | |||||||
cvs Approval | |||||||
Can land source code (instead of binary drops) |
|||||||
Uses https for binary downloads | |||||||
Uses https for "need to update" notice downloads | |||||||
https server available | |||||||
Supports fine-grained checking for version/OS pairs | |||||||
Can disable update checking within Camino | |||||||
Verifies user has permission to update first | |||||||
Can enable updates/update checking only in official release builds | |||||||
Can handle ML as well as en-only Camino | |||||||
Release automation | |||||||
Desirables | |||||||
Support for resuming lost connections | |||||||
Can download in background | |||||||
Can download at low speed to not affect connection | |||||||
Can remind to download later | |||||||
Can install later once downloaded | |||||||
Other concerns | Expanded QA requirements | ||||||
Documentation | |||||||
Complexity added to the app e.g. wrapping Gecko |
|||||||
Actively maintained and supported | |||||||
Color key | |||||||
Sample colors | Present | Unknown | Missing |