It's the year 2020. You use a modern front-end stack of Relay,
GraphQL, React and TypeScript.
You can build an infinite scroll 'feed' type UI totally out of the box with these tools, by mostly putting together
boilerplate (proper connections,
along with a pagination container). You have a design system, and
are rapidly building up a component library. Things are great!
Then you take a look at the latest design comps for a 'browse' type page, and you see that the
controversial
infinite scroll has been replaced by a more traditional pagination bar.
You know the one. Like the following, from Amazon:
You start to realize that the cursor-based setup of a connection, along with a Relay pagination container, does not
lend itself to this more traditional UI. For one thing, a user can arbitrarily 'jump' to any page by including a
?page=X
query param (typically). For another, the user can only actually see the current page of content, versus
a feed. As you go to sleep and dream of REST, Rails controllers, kaminari,
will_paginate, and a simpler time, you start to have a vision...
Read on →