Spike: Determine how to handle result list performance issues

Description

Currently result lists in Stripes do not handle infinite scroll in a performant way. The issues are as follows:

  1. Scrolling to each page re-requests previous pages

  2. Scrolling ahead loads all previous pages causing step 1 to occur for every page

There are 2 proposed ways to handle these performance issues:

  1. Improve current behavior (eholdings style) to debounce scrolling so that the request only starts when scrolling pauses and then only requests the page in view. Scrolling up or down will fire off new page requests to fill in incomplete pages. Once a page is painted in the result list, pages are never re-requested.

  2. Change result list behavior to force user to click a "show more" button in order to proceed to next page. This forces sequential paging and restricts the speed in which users can request pages. Each page request should not re-request previous pages.

The purpose of this spike is to investigate both approaches and create a POC of the most promising approach.

Environment

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Ryan BergerDecember 2, 2019 at 2:45 PM

After analyzing both use cases, we determined that option 2 would require less development effort and would be able to be delivered more quickly and with fewer bugs as infinite scroll introduces many more edge cases to handle.

Done

Details

Assignee

Reporter

Priority

Sprint

Development Team

Stripes Force

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created November 20, 2019 at 9:40 PM
Updated December 2, 2019 at 2:45 PM
Resolved November 27, 2019 at 3:10 PM
TestRail: Cases
TestRail: Runs