DIY Suggestion: recipes as ingredients


#1

This is a fairly simple idea to enhance the DIY site: allow recipes to be used as ingredients. The frame of data is the same, since a recipe is just the sum of its constituents, so I don’t imagine it would be a gargantuan task to implement. Doing this would shift to a more object-oriented approach to recipe building, giving DIYers more ways to organize recipes and variants.

I think this would be particularly useful for designing cyclic regimens, for example using a different mix for each meal or alternating on different days. It would also be handy for maintaining persistent pointers to current versions of recipes with version histories.


#2

How would this differ from the current “copy recipe” functionality?


#3

Always count on @horsfield to be the first detractor :slight_smile:

To explain it in programmatic terms, think of an ingredient as an object and a recipe as an array. In just about every language you can use an array within an array, which is essential when dealing with structured data. Because an ingredient and a recipe are fundamentally the same, I see a natural marriage of concepts here.

I’ll use my own scenario which spawned the idea as an example. I mixed up week’s worth of one version of a recipe, but then I settled on a different version a few days later. Now I have a large batch of powder that will go to waste if I don’t find a way to re-purpose it. So I ended up creating a new ingredient containing the nutritional sum of the old powder mix, that way I could re-balance it by adding things to it. That is when it hit me that it would be much simpler if I could just use the old recipe as an ingredient.

In a hypothetical scenario, say you have a recipe with 4 variants, and you want to quickly swap out ingredients. As it is, you would have to copy the new ingredient to each recipe every time. However, if you put that ingredient in a recipe and then use that recipe as the ingredient in your other recipes, then the changes automatically populate in all recipes linking to it.

In another scenario, say you have a popular recipe like PeopleChow which has a long version history, but you always want a “main” recipe which contains the latest version so that the link you give people never becomes outdated. This change would make it a lot simpler to maintain that placeholder.

It is hard to come up with practical examples from thin air, but hopefully you can see how it would make recipe management a bit more dynamic.


#4

+1 for this, @NickP

As another example I have used some of my recipes as base ingredients for brownies, etc. I thought at the time it would be nice to be able to do as you suggest.


#5

Thanks for the suggestion - this has actually been on the feature request list for a long time but since there’s more interest I’ll try and get it implemented sooner rather than later


#6

Thanks,@nickp! I look forward to it.

@kennufs what you said got me thinking - this change would allow you to plan your entire diet, including regular food. If you build food recipes in the soylent editor, you can then include them in other recipes combined with soylent to precisely plan your nutritional uptake. I think that has some value.


#7

I wasn’t detracting I was just unclear as to what the difference was. Hate to think I’m developing a reputation for that on here :smile: Now I see. The recipe would become a single ingredient in a child recipe. If the parent recipe is updated the child gets updated too. I actually like that idea because I have several recipes that are based on a parent recipe and have had the same thought.