Closed Bug 813749 Opened 10 years ago Closed 8 years ago

Show download UI while downloading and installing apps

Categories

(Firefox for Android Graveyard :: Web Apps (PWAs), defect, P1)

All
Android
defect

Tracking

(fennec+)

RESOLVED INCOMPLETE
Tracking Status
fennec + ---

People

(Reporter: wesj, Unassigned)

References

Details

(Keywords: uiwanted, Whiteboard: [A4A] [packagedapps])

packaged apps (and webapps that have an app cache in their manifest), go through a download process when they're being installed. Right now we just ignore it because we only support the manifest and we're fine launching even if it isn't downloaded entirely yet. For Packaged apps that isn't true.

For app cache, that means passing a listener [1] through when we call confirmInstall [2].
[1] http://mxr.mozilla.org/mozilla-central/source/uriloader/prefetch/nsIOfflineCacheUpdate.idl#21
[2] http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js#6853

I'm not exactly sure if this will be enough for packaged apps. We likely want to show the progress using a native Android Notification (the same one we use to show the install happened if its around). An example of showing download progress in a notification is done by our download manager:

http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/downloads.js#127
Whiteboard: A4A, blocking-webrtandroid1?
Whiteboard: A4A, blocking-webrtandroid1? → [blocking-webrtandroid1?]
Component: General → Web Apps
QA Contact: aaron.train
We really need to establish the minimum UI required. We don't use a progress bar for Add-ons, for example. Just toasts.
tracking-fennec: --- → +
Priority: -- → P1
Whiteboard: [blocking-webrtandroid1?] → A4A
Assignee: nobody → ibarlow
Just want to make sure I understand what we're looking for here in terms of UX. So right now, the download behaviour is such that I don't have any visibility into what is happening: 

1. I tap download in the marketplace
2. App downloads (no indication of this other than confirmation on marketplace page)
3. App appears on home screen
4. User is notified via toast?

So we want to provide some more useful real time information, like 

1. I tap download in the marketplace
2. I see a download icon appear in the notification bar
3. Opening the notification tray shows me what is downloading, and how far along it is
4. The notification tells me when the download is done
5. The notification (or a toast) tells me when the app has been successfully installed

I can work on some UI for this, but is that the gist of what we're discussing here?
(In reply to Ian Barlow (:ibarlow) from comment #2)

> So we want to provide some more useful real time information, like 
> 
> 1. I tap download in the marketplace
> 2. I see a download icon appear in the notification bar
> 3. Opening the notification tray shows me what is downloading, and how far
> along it is
> 4. The notification tells me when the download is done
> 5. The notification (or a toast) tells me when the app has been successfully
> installed

Technically, we don't even need #3 (the progress part)

> I can work on some UI for this, but is that the gist of what we're
> discussing here?

Yes. Some webapps are just links to websites. Those need no download. Some webapps are like native apps: They are a ZIP file downloaded from the Marketplace. Those need a little indicator that a download is happening. Native apps do the same thing when installing.
Note: We need to be sure that we have a download/network failure/interrupt case covered. :)
No longer blocks: 830876
Whiteboard: A4A → [A4A] [packagedapps]
Keywords: uiwanted
Status: NEW → ASSIGNED
Blocks: 813753
No longer blocks: 813753
Blocks: 874686
Blocks: 835405
No longer blocks: 874686
Assignee: ibarlow → nobody
We won't fix this in the original implementation, but we'll fix it in the new one, for which aaronmt filed bug 960584.  Let's use that bug to track the work.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.