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

Product addition (tracker) #1379

Open
20 of 30 tasks
Tracked by #503 ...
teolemon opened this issue Mar 29, 2022 · 18 comments
Open
20 of 30 tasks
Tracked by #503 ...

Product addition (tracker) #1379

teolemon opened this issue Mar 29, 2022 · 18 comments
Labels
✏️ Contribution ✨ enhancement New feature or request good first issue Good for newcomers Product addition The easier it is to add a product and get Nutri-Score, Eco-Score, the happier the users.
Milestone

Comments

@teolemon
Copy link
Member

teolemon commented Mar 29, 2022

Who for

  • Contributors

What

Product addition

  1. monsieurtanuki
  2. Product addition ✏️ Contribution
  3. 2 of 6
    Eco-Score ✏️ Contribution 🛣️ Road to scores
  4. 1 of 2
    ✏️ Contribution 🚥 Nutri-Score 🛣️ Road to scores

More substantial addition

  1. Product addition 🎨 Mockups available 🎯 P1 🛣️ Road to scores
    monsieurtanuki
  2. ✏️ Contribution ✏️ Editing - Packaging input 🎨 Mockups available
  3. P5 Product addition multilingual products 🎨 Mockups available
  4. Product addition ✏️ Contribution ✨ enhancement 🎨 Mockup required 🎯 P1
    teolemon
  5. 0 of 3
    Eco-Score image upload ✨ enhancement 🎨 Mockups available 🎯 P0 📍Origins 🖼️ Photos - additional photos
    monsieurtanuki
  6. Eco-Score Product addition ✏️ Editing 🎨 Mockups available 🎯 P1 🛣️ Road to scores
  7. Product addition ✏️ Editing ✨ enhancement 🎨 Mockups available 🎯 P1 🤖 Robotoff
  8. Eco-Score Product addition ✏️ Contribution ✏️ Editing - ingredients 🎨 Mockups available 📍Origins
  9. 1 of 21
    nutrition facts ✏️ Contribution ✏️ Editing - Nutrition input 🎨 Mockups available 🛣️ Road to scores
  10. Product addition layout 🐛 bug
    monsieurtanuki
  11. ✏️ Editing 🎯 P1 🤖 Robotoff
  12. ✏️ Editing 🎯 P1 🤖 Robotoff
    g123k
  13. Product addition autosuggest ✏️ Editing ✏️ Editing - Basic info input ✨ enhancement 🎯 P1

Done

  1. P3 Product addition ✏️ Contribution ✏️ Editing - ingredients 🛣️ Road to scores
  2. P2 Product addition good first issue 🐛 bug
    Anant-2005
  3. Product addition good first issue 🐛 bug
  4. Product addition good first issue 🎯 P1 🐛 bug
  5. Product addition 🐛 bug
  6. Product addition good first issue 🎨 UI / UX 🐛 bug
    prathamsoni11
  7. Product addition 🎯 P1
    cli1005
  8. good first issue image upload 🎯 P1 🐛 bug
    cli1005
  9. P4 Product addition ✏️ Contribution 🖼️ Photos - Cropping
  10. Offline Offline - Contribution Product addition ✏️ Contribution 🎯 P1
    AshAman999
  11. Product addition User agent
    M123-dev

Video

https://photos.app.goo.gl/V1cwkaVEM9ArwJBL7

Part of

@teolemon teolemon added 🐛 bug Something isn't working ✨ enhancement New feature or request good first issue Good for newcomers Product addition The easier it is to add a product and get Nutri-Score, Eco-Score, the happier the users. labels Mar 29, 2022
@teolemon teolemon added this to the Trackers milestone May 8, 2022
@teolemon
Copy link
Member Author

teolemon commented May 9, 2023

@monsieurtanuki a quick and dirty fix would be one button per pipeline in the addition screen (plus two concatenations of editing sections)
image

@monsieurtanuki
Copy link
Contributor

@teolemon The pipelines (actions behind "help!" buttons) do not exist yet, right?

I would even put the "help!" buttons on top, as it's probably what users want first. I mean, 1 star users may want an answer quickly, rather than contribute with pictures that they already see (no added value for them) (plus the gamification: as a user I see that my first inputs already have an impact).

@teolemon
Copy link
Member Author

teolemon commented May 9, 2023

  • They don't. I just had a look at the mockups in Figma, but they are too ambitious.
  • Stacking the necessary existing editing sections on top of each other should be a good first.

@monsieurtanuki
Copy link
Contributor

@teolemon Something like that?

top bottom
Screenshot_2023-05-10-09-42-55 Screenshot_2023-05-10-09-42-59

@teolemon
Copy link
Member Author

teolemon commented May 10, 2023

Looks reasonable.
Perhaps being honest ? "Help compute the Nutri-Score in 2 minutes."

Bugs to open

@teolemon
Copy link
Member Author

@monsieurtanuki monsieurtanuki self-assigned this May 12, 2023
@monsieurtanuki
Copy link
Contributor

@teolemon Something like that?
Screenshot_2023-05-12-19-28-50

Regarding a short "add THE product category", it means that we'll have to maintain 3 labels:

  • add the product category (new product / empty category)
  • Add missing product category (when the category is not good enough, cf. KP, cf. "skyr" that is not a precise enough category) (?)
  • category entered! (or we just remove the button)

Same for nutrition facts and ingredients, right?

@teolemon
Copy link
Member Author

yes, much better 👍

@teolemon
Copy link
Member Author

and the grey nutri-score is replaced by the actual one, as soon as we have it

@raphael0202
Copy link

raphael0202 commented May 18, 2023

After discussing the issue with @teolemon, here is my opinion on implementing a new product addition pipeline.
First, from an AI perspective, we need to ask the user to upload images first, as there image upload takes time (especially if the user network is slow) and as prediction extraction by Robotoff also takes time.

The idea is to assist the user with information predicted by Robotoff during the product addition process.

I would suggest to set up the following simple pipeline with the following screens:

  1. asking for most important images: front, nutrition, ingredient (in that order) + crops. I would drop the "packaging" and "additional photos" at this stage.
  2. asking for product name + weight. If we have product_weight insights from Robotoff at this stage, we pre-fill the field.
  3. asking to fill the nutritional information. At this step all Robotoff processing should be finished. We can ask Robotoff with the /predict/nutrition endpoint nutrition information and pre-fill the nutrient fields.
  4. asking user to extract ingredients. Currently, Robotoff cannot do it automatically, but there is an ongoing AI project to do this.
  5. asking user to provide the category. We should have a pretty good category prediction at this point with all the previously provided data (product name, nutrients, ingredients, images). We should provide Robotoff category insight as a category suggestion.
  6. (optional for a first pipeline version) Asking user to add labels, using Robotoff suggestions.
  7. (optional for a first pipeline version) Asking user to take packaging + additional pictures.

We should send data points as soon as the user submit the data at each pipeline stage, to be sure we get partial data in case the user drops the product addition.

I don't think it's valuable to talk about ecoscore or nutriscore at the beginning of the pipeline, as the user doesn't necessarily know what these scores are about. I think the user expect to have to provide some data to get information about the product, he/she just needs to be guided.

@monsieurtanuki
Copy link
Contributor

I don't think it's valuable to talk about ecoscore or nutriscore at the beginning of the pipeline, as the user doesn't necessarily know what these scores are about. I think the user expect to have to provide some data to get information about the product, he/she just needs to be guided.

@raphael0202 I have no idea what users expect, but it would be fair to assume that at some point nutriscore and ecoscore mean something for them in the app, as:

  • they are displayed on top of each product card
  • there are only 3 attributes deemed important enough to be part of the default settings and they're among them (nutriscore: very_important, ecoscore: important, nova: important)

We could dismiss the nutriscore / ecoscore input in the "add new product" page for users that say they don't care about those attributes.

That said, my point here was to code a quick fix (slightly better looking, more interactive) by adding a couple of buttons.
Your suggestion is much more ambitious, and deserves a proper issue (if not several issues).
And keep in mind that the images are uploaded in the background, which means some glitches in the pipeline.

@raphael0202
Copy link

raphael0202 commented May 19, 2023

@monsieurtanuki My point about the ecoscore/nutriscore wasn't very clear, sorry for that. I was taking the perspective of a user in a country with low product coverage (such as Romania, where we're gaining some traction lately), where the user has a high chance of scanning a product not referenced by Open Food Facts. As such, his/her first "interaction" with nutriscore/ecoscore would be in the product addition page, and I find this a bit confusing.
I think it's preferable that users learn more about what is the ecoscore and the nutriscore on the product page instead.

I think it's a good time to implement a first version of the pipeline, as it would bring more value than quick fixes (and it's something that we have been postponing for a long time, we already talked about this for the old android app).

It's not an issue if images are not uploaded on time, as ML predictions only come as a bonus, it should be possible to complete the pipeline without it.

This can be implemented step by step, we don't need to implement the full pipeline now. Just adding step (2) (asking for product name + weight + Robotoff weight prediction) could be a good start.

I'm also curious about your feedback on this proposal @teolemon @g123k

@teolemon
Copy link
Member Author

Composite pipelines

  • For existing products, we will need those composite Nutri-Score and Eco-Score completion pipelines in the product page anyway (we currently have some mechanism in place thanks to the Knowledge Panel actions, but they are not linear, especially for Eco-Score)

We need to wire existing editing components to Robotoff (including for existing products)

Easy

Harder

Better Eco-Score and Nutri-Score onboarding

Be tougher on incomplete products / Towards personal pipelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✏️ Contribution ✨ enhancement New feature or request good first issue Good for newcomers Product addition The easier it is to add a product and get Nutri-Score, Eco-Score, the happier the users.
Development

No branches or pull requests

3 participants