openculinary / frontend

The RecipeRadar Frontend is a recipe search and meal planning application
GNU Affero General Public License v3.0
13 stars 2 forks source link

Provide ingredient suggestions based on staple kitchen ingredients #172

Open jayaddison opened 4 years ago

jayaddison commented 4 years ago

Is your feature request related to a problem? Please describe. When using the application from scratch, there's zero context present about the kitchen ingredients that the user has available.

While this may be a good clean slate to start from, it's likely that many households have certain staple foods (salt, pepper, and, depending on culture, perhaps a few common raw ingredients like onions, garlic, and so on).

We would like to help those households make the best use of those ingredients.

Describe the solution you'd like [draft - further specification required]

Although we would like the application to cater to any cultural environment, it can still be helpful to provide basic locale-specific suggestions as long as they can be edited or dismissed.

One option would be to provide a 'staples' selection box that contains a set of commonly-used ingredients relative to the user's detected locale. We may wish to show a small flag on the page to decrease any potential confusion about how the common ingredients were inferred.

There would be an associated button/mechanism to add some/all of the staple ingredients into the recipe search context.

Describe alternatives you've considered One alternative would be to provide prompts within the search controls that allow quick entry of the set of staple ingredients.

Another possibility would be to pre-fill the search query with staple ingredients to begin with -- although this would increase visual noise.

Yet another option would be to assume the availability of staple ingredients at search-time.

Additional context Idea initiated by HN user nickff @ https://news.ycombinator.com/item?id=24631400

ahnick commented 4 years ago

Just to add another data point, I nearly didn't even fill out the ingredients, b/c the thought of having to enter in all the ingredients seemed pretty overwhelming. I was on my laptop, so it wasn't so bad, but on mobile I can imagine the current UX being extra cumbersome. I liked the results though, so I'm glad I ultimately did. :smiley:

To key off this suggestion I think it needs to be more visual too. Imagine you have a picture of kitchen staples all bunched together (salt, pepper, butter, etc) and then the word "Staples" in white text across the picture. (Something kind of like this https://www.punchfork.com/, but instead of recipes it's groupings) Then all the user has to do is click the picture and then it adds all the staples. They could then remove (by hitting the "x") on any item they don't have.

In addition to kitchen staples, I would also add in cuisines or ethnic groups of ingredients. The general makeup of the groupings might need to be fleshed out, but below is an example of what I'm kind of thinking...

You could either have the UX be it adds all of these to the list and the user removes it or have a secondary menu that appears where the user can either add all or then click to add each ingredient from the list. It will save the user a lot of typing and I think generally be a lot more pleasurable experience, especially on mobile.

jayaddison commented 4 years ago

That is brilliant, thanks for elaborating this idea in more detail @ahnick. Each of those sets of ingredients becomes a kind of 'navigation origin' set of ingredients to start exploring through the set of possible recipes.

This will take a little while to get around to so don't hold your breath, but I really appreciate the feedback and look forward to adding support for this.

jayaddison commented 3 years ago

@ahnick This is a slight tangent from the previous discussion here, but it does cover some similar ground regarding recipe navigation: there's now an experimental 'recipe exploration' view on RecipeRadar, which provides a gesture-based interface to include/exclude ingredients (which it suggests for you, without data entry required). Would be great to hear your feedback if & when you get time!