Closed Bug 1402961 Opened 7 years ago Closed 3 years ago

Improve transition (animations) into Activity Stream

Categories

(Firefox for Android Graveyard :: Activity Stream, enhancement, P3)

All
Android
enhancement

Tracking

(fennec+)

RESOLVED INCOMPLETE
Tracking Status
fennec + ---

People

(Reporter: mcomella, Unassigned)

References

Details

(Whiteboard: [mobileAS])

With an existing profile on my personal device, I think opening Activity Stream looks unpolished:
- First shown are the section titles and the learn more link
- Soon after, Pocket appears first in the middle of the page, with each item expanding to fill the space but the dividers awkwardly drawing through content (it's cached so it appears faster than Top Sites)
- Top Sites pops in at the top, all at once (inconsistent with how Pocket fades in)
- Pocket is pushed down to the bottom of the screen now that top sites is shown

I think we could make Activity Stream look a lot more polished if we planned how the transition would work and made it consistent, e.g.:
- Load items from the top of the page, down (top sites, then pocket, then highlights)
- Have consistent animations for each item (fade in? expansion?)

The caveat is we might have to block on whatever we want to display first rather than displaying things as soon as they're available (though, in my experience, this doesn't matter because AS is unusable until Top Sites and Pocket are done because they move around otherwise).

Notes:
- If we cache top sites (and highlights! bug 1388187) results, everything might appear at roughly the same time and we wouldn't need to do much here
- It could be hard to do anything with the current code since it's all smashed into one RecyclerView. I think a better design would be to change TopSites to display a RecyclerView for each section so now may be a good time to do it
- Assuming we want to display top-to-bottom, we could consider loading each component on a single thread, in sequence. Right now, we have a lot of async stuff (e.g. DB reads, file cache reads, favicons) and I'm wondering if the lack of planned threading is causing performance issues
- We dynamically resize the top sites tiles during onBind and I wonder if this is causing the UI thread extra work where we remeasure and relayout multiple times (bug 1402182?)
All open Activity Stream bugs are moving from the whiteboard tag, "[mobileAS]", to the Firefox for Android component, "Activity Stream", so that I can keep better track of these bugs as the new triage owner; I will send out an email shortly with additional details, caveats, etc.
Priority: -- → P3
tracking-fennec: ? → +
In bug 1410852, Bogdan recorded a great video of a bad animation: on tablet, pocket is already loaded when displayed but highlights (with dividers) needs to animate over pocket: https://goo.gl/GbzTcq
We may also want to consider loading animations as some items are retrieved asynchronously, like Pocket Stories.
See Also: → 1417371
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 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.