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

Make the "load more" mechanism more user friendly in product search #2174

Closed
VaiTon opened this issue Jun 5, 2022 · 3 comments · Fixed by #2770
Closed

Make the "load more" mechanism more user friendly in product search #2174

VaiTon opened this issue Jun 5, 2022 · 3 comments · Fixed by #2770
Assignees
Milestone

Comments

@VaiTon
Copy link
Member

VaiTon commented Jun 5, 2022

What

  • In search page the load more button should not create a dialog, blocking the user from doing anything.

Steps to reproduce the behavior

  1. Search something
  2. Scroll to bottom
  3. Tap on "load more" btn
  4. Enjoy waiting

Expected behavior

The loading should happen while the user is free to move the list or even open a product.

If the user changes pages the loading should stop, like an infinite scroll.

Related to

#1900 (comment)
#1333

Part of

@monsieurtanuki
Copy link
Contributor

Hi @VaiTon!
I understand your use-case, and that opens many potential UX issues or improvements:

  • let's say that the download is in the background - that's basically what you suggest, right?
  • then we have to run the download as a service (or something like that), we haven't done that so far in the project (interesting topic)
  • when we go back to the same result page, we should see if there's a download already running and make it possible to stop or restart it
  • we should send a notification like "btw what you wanted was just downloaded", with a direct access to the result page
  • beyond that, some users would probably say "As it's in the background, I may as well download the whole thing instead of chunks of 25"

@VaiTon
Copy link
Member Author

VaiTon commented Jun 6, 2022

Thank you for your response @monsieurtanuki!

I was thinking something more simple, like what the YouTube app does.

If I scroll down, after a checkpoint the app starts to load more product (I would also be ok with the button) and if i leave the page the process is just cancelled. So if I go to that page again and scroll to the bottom the app should re-make the query.

@monsieurtanuki
Copy link
Contributor

@VaiTon Oh then it was not exactly what you implied in the OP:

Expected behavior: The loading should happen while the user is free to move the list or even open a product.
Why: If the connection isn't good, the user will spend a considerable time waiting.

Whatever you do, the user still spends a considerable time waiting, with just the possibility to stop whenever wanted. There's currently a button to stop the download, right? Therefore the user can already cancel at any moment.

That said, it's not a smooth experience, I give you that.
Maybe you should rephrase your OP with something like that: "Implement an infinite scroll effect (like youtube comments) for product list pages"

@teolemon teolemon added this to the V1.1 milestone Jun 11, 2022
@monsieurtanuki monsieurtanuki self-assigned this Aug 3, 2022
monsieurtanuki added a commit to monsieurtanuki/smooth-app that referenced this issue Aug 10, 2022
…utton

Impacted file:
* `product_query_page.dart`
  * we display the whole list of products, even if we don't know them (not even their barcodes)
  * we trigger automatically the download of the next page, when the first unknown product is asked by the `ListView`
  * when we are loading the next page we don't hide the previous results with a dialog or a progress indicator
monsieurtanuki added a commit to monsieurtanuki/smooth-app that referenced this issue Aug 10, 2022
…utton

Impacted file:
* `Podfile.lock`: wtf
* `product_query_page.dart`
  * we display the whole list of products, even if we don't know them (not even their barcodes)
  * we trigger automatically the download of the next page, when the first unknown product is asked by the `ListView`
  * when we are loading the next page we don't hide the previous results with a dialog or a progress indicator
teolemon pushed a commit that referenced this issue Aug 11, 2022
* feat: #2174 - doomscrolling instead of "download more" button

Impacted file:
* `product_query_page.dart`
  * we display the whole list of products, even if we don't know them (not even their barcodes)
  * we trigger automatically the download of the next page, when the first unknown product is asked by the `ListView`
  * when we are loading the next page we don't hide the previous results with a dialog or a progress indicator

* feat: #2174 - doomscrolling instead of "download more" button

Impacted file:
* `Podfile.lock`: wtf
* `product_query_page.dart`
  * we display the whole list of products, even if we don't know them (not even their barcodes)
  * we trigger automatically the download of the next page, when the first unknown product is asked by the `ListView`
  * when we are loading the next page we don't hide the previous results with a dialog or a progress indicator
Repository owner moved this from To discuss and validate to Done in 🤳🥫 The Open Food Facts mobile app (Android & iOS) Aug 11, 2022
monsieurtanuki added a commit to monsieurtanuki/smooth-app that referenced this issue Aug 11, 2022
…utton

Impacted file:
* `product_query_page.dart`: now downloading one page before needed; now displaying status for unknown products ("Loading", "Could not load", "Will be loaded later")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment