Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have "load more results" only load the next 100 results, instead of loading the full round #171

Open
dunkOnIT opened this issue Aug 15, 2023 · 2 comments

Comments

@dunkOnIT
Copy link
Collaborator

In larger rounds (several hundreds) this is resource-intensive, and causes unnecessary slowdown for the user.

@jonatanklosko
Copy link
Member

We are already fetching all the results, the button is only to actually show the remaining ones. This is an optimisation to speed up rendering on the client. We could paginate the results, but I'm pretty sure people would be very annoyed if they need to click several times to find a specific result (given that the total number has a practical bound).

Theoretically we would load the remaining results lazily, but we are also sending updated ranking for all the results during realtime update (the payload is generated once and sent to all clients).

But it may be worth investigating load time differences for bigger rounds with lazy loading and make improvements based on that.

@dunkOnIT
Copy link
Collaborator Author

Per discussion via video call, lazy loading results is a very hard problem, best left to when there is a clear need for it.

In the meantime, this remains a UX/load speed concern - some sort of UI/UX design where by a user can do the following would be a welcome (but not urgent) contribution:

  • see the Top 100 results by default
  • Jump to a certain result and show the ~50 results on either side of (ie, show me number 150) - use case here is to figure out what is needed for advancement to the next round in a large round
  • "Follow" a certain competitor (the user being the default suggestion) - so that as their results get entered, you see their current position and the ~50 results on either side of it (to monitor how someone is doing as results are entered)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants