Page MenuHomePhabricator

Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2)
Open, MediumPublic

Description

When scrolling the Table of Contents with lots of topics, I'm easily getting to the end of the current loaded topics which makes the experience jumpy. Although the loading of more topics is triggered, reaching that point, propagates the scroll to the page what produces a jump until topics are loaded in the ToC again.

If we were triggering the loading of more topics earlier, the whole scrolling experience would be more fluent.

Event Timeline

Pginer-WMF raised the priority of this task from to Needs Triage.
Pginer-WMF updated the task description. (Show Details)
Pginer-WMF changed Security from none to None.
Pginer-WMF subscribed.
DannyH renamed this task from Trigger topic loading (infinite scroll) before the very end of the list is reached to Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2).Jan 9 2015, 12:54 AM
DannyH moved this task from Untriaged to Team discussion on the Collaboration-Team-Triage board.
DannyH renamed this task from Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) to Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) [2].Jan 9 2015, 7:12 PM
DannyH renamed this task from Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) [2] to [2] Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) .
Mattflaschen-WMF renamed this task from [2] Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) to Trigger topic loading (infinite scroll) before the very end of the list is reached (ToC v2) .Feb 2 2015, 8:01 PM
Mattflaschen-WMF edited a custom field.

The final goal is to make the scroll fluent. For which we need to make sure than on "usual scrolling" speeds the user does not reach the end before the "usual time" it takes to load more topics is complete. So scrolling speed, the time it takes to load topics, and the number of topics loaded will affect the final value (I made some estimates, but feel free to provide more accurate numbers).

Considering that the visible topics are 10 items of about 40px each, we have a "page" of 400px.
Assuming that users can scroll a page in half a second, and that is the time that it takes to load another page, we always need to keep at least one extra page loaded in addition to the one displayed.

Given the above, we can try to set the threshold to load new topics at 800px (two pages), which would give a page of extra room for slow loading times and/or faster scrolling.