Closed Bug 804571 Opened 12 years ago Closed 12 years ago

[OTA update] cancel download

Categories

(Firefox OS Graveyard :: Gaia::System, defect, P1)

defect

Tracking

(blocking-basecamp:+, firefox19 fixed, firefox20 fixed, b2g18 fixed)

RESOLVED FIXED
B2G C2 (20nov-10dec)
blocking-basecamp +
Tracking Status
firefox19 --- fixed
firefox20 --- fixed
b2g18 --- fixed

People

(Reporter: etienne, Assigned: marshall)

References

Details

(Keywords: feature, Whiteboard: [ota update])

Attachments

(2 files)

The latest spec for system and app updates (where both are merged) contains the ability to cancel all downloads.

No problem for the app updates, but is it doable for system updates?

Ideally gaia would send an mozContentEvent when the user asks for cancellation, then the UI goes back to the previous state (ie. indicating that X updates are available).

Thoughts? Blocker?
blocking-basecamp: --- → ?
Chris, how do you feel about this from a product standpoint?
Flags: needinfo?(clee)
Whiteboard: [blocked-on-input Chris Lee]
Whiteboard: [blocked-on-input Chris Lee] → [blocked-on-input Chris Lee], [ota update]
This is especially obvious after the change to the spinning bob instead of the progress bar.

I get frustrated by the slow speed (not knowing how much progress has passed) and I tap to cancel, but it did not work. Maybe I'm missing something obvious here, and I hate to sound whiny, but why is there no longer a way to monitor the progress of downloading a system update (which tends to be larger than most apps)? With merely the spinning bob, it feels insufficiently fast on the office network, much less on slower wifis in target countries.

:(

I was about to file a bug when I searched, found this and 2 other bugs already filed as dupe.

The only workaround is to restart the phone in a frantic bid to get my download to cancel.

+1 to nomination for blocking-basecamp?.

===

My Git commit info currently shows:

2012-10-31 10:23:10
17fa1d86cea7377f89b5566826058a9406d44... (I see ellipsis at the end)
I believe we need this for the following reason:

*User clicks on 'download' and realizes that the size is much larger than their data prepaid plan allows and need to stop the transfer.
*Not a hard requirement for v1, but partial updates would be valuable for the initial region given state of their data connection availability. 
*Downloading something with out the option to cancel seems like basic UI (UX team can confirm if this is the case)
Flags: needinfo?(clee)
Whiteboard: [blocked-on-input Chris Lee], [ota update] → [ota update]
blocking-basecamp: ? → +
Also, the user should be informed of the download size before initiating the download. You shouldn't have to wait until starting the download to determine the size.
(In reply to Dave Hylands [:dhylands] from comment #6)
> Also, the user should be informed of the download size before initiating the
> download. You shouldn't have to wait until starting the download to
> determine the size.

The download prompt now displays sizes! :)
(In reply to Chris Lee [:clee] from comment #5)
> I believe we need this for the following reason:
> 
> *User clicks on 'download' and realizes that the size is much larger than
> their data prepaid plan allows and need to stop the transfer.
> *Not a hard requirement for v1, but partial updates would be valuable for
> the initial region given state of their data connection availability. 
> *Downloading something with out the option to cancel seems like basic UI (UX
> team can confirm if this is the case)

Yep. In any mobile context canceling an activity that's consuming bandwidth is important. In our launch market, it's non-negotiable.
Not sure about the component choice, the majority of the work that needs to be done is on the platform side.

We already have a path to cancel downloads on the gaia side, but working only for apps right now.
(In reply to Etienne Segonzac (:etienne) from comment #9)
> Not sure about the component choice, the majority of the work that needs to
> be done is on the platform side.

Yeah, this is mostly a platform "bug" (feature). In a perfect world, we wouldn't give a "Cancel" button, but just a "Pause" button. Implementing pause / resume would probably a good deal harder, though.

I can tackle this.
Assignee: nobody → marshall
Component: Gaia → Gaia::System
Hi Marshall, do you have an ETA for this fix?
I hope to have a patch and pull request up for this today, should be early next week for landing unless there are major problems with my approach..
This implementation actually pauses the download, and will automatically resume
the next time the user tries to download the update. In B2G, this translates to:

- User starts system update download from the notification
- User taps the in-progress download to cancel, and confirms cancelation in a prompt
- A new notification shows to download updates (including a system update)
- Starting the download from the new notification resumes the download from where
  it left off
Attachment #686696 - Flags: review?(fabrice)
Attached file Gaia pull request 6724
Attachment #686712 - Flags: review?(etienne)
Comment on attachment 686712 [details] [review]
Gaia pull request 6724

Small comment on github, not a blocker.
Attachment #686712 - Flags: review?(etienne) → review+
Attachment #686696 - Flags: review?(fabrice) → review+
Keywords: feature
Priority: -- → P1
Target Milestone: --- → B2G C2 (20nov-10dec)
https://hg.mozilla.org/mozilla-central/rev/83c38674da8e
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
akeybl, does this need to get pushed down the channels in order to see the fix in the b2g nightly builds?
Flags: needinfo?(akeybl)
Comment on attachment 686696 [details] [diff] [review]
update download cancel - v1

Yep, approving for branches preemptively since this is b-b+ and looks low risk.
Attachment #686696 - Flags: approval-mozilla-beta+
Attachment #686696 - Flags: approval-mozilla-aurora+
Flags: needinfo?(akeybl)
Attachment mime type: text/plain → text/x-github-pull-request
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: