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 | ||||