For a while I expected there could be a good return on a good implementation of this, but now as soon as a strong interface itself is created it seems easy to copy.
I imagine in domains you are skilled at you'd also prefer high level instructions than a step-by-step tutorial.
I agree that doesn't help the beginner, or someone who doesn't cook regularly, or someone cooking something new and I think most recipe writers are just following the established structure without thinking about what they and others really need.
— Carl Sagan
FWIW though most recipes are basically ~10 steps long so a simple list suffice.
Still it could be an interesting experiment as I imagine that precisely recipes that are less sequential are (on average, with as challenging steps, e.g. excluding making caramel which has a high chance of burning) perceived as more complex.
Your tables remind me of recipes in Modernist Cuisine. They all have ingredients grouped by the procedures together with weight, sometimes volume, and ratio.
Example: https://modernistcuisine.com/wp-content/uploads/2013/01/Mac-...
And I don't know why, but "Beans (green)" is really tickling my funny bone.
This would help coordinate two cooks to make prepping more independent.
I’m trying to figure out if an landscape Ipad, with interactive elements for extra details if needed, would be a good UI for this.
-
Edit: Showed it to my non-Engineer wife and she said ”this is horrible” after staring at it for 10 seconds. Maybe not for everyone…
"peeling carrot" (process) consumes "washed carrot" (object)
"peeling carrot" (process) yields "peeled carrot" (object)
"peeling carrot" (process) yields "carrot peel" (object)
"finely dicing carrot" (process) consumes "peeled carrot" (object)
"finely dicing carrot" (process) yields "finely diced carrot" (object)
"prepare mirepoix" (process) consumes "finely diced carrot" (object)
"prepare mirepoix" (process) consumes "finely diced celery" (object)
"prepare mirepoix" (process) consumes "finely diced onion" (object)
"prepare mirepoix" (process) consumes "butter" (object)
"prepare mirepoix" (process) yields "mirepoix" (object)
The advantage of OPM is alignment of graphical and textual representations.
The downside of such approach is you soon discover how many millions of objects may exist in recipes--unwashed carrot, washed carrot, orange carrot, purple carrot, yellow carrot, white carrot, peeled carrot, coarsely diced carrot, finely diced carrot, julienned carrot... and purple julienned carrot vs. yellow julienned carrot. And that's just basic preparation complexity well before any contemplation of cooking or plating up elements. To go further you then discover a lack of useful labels such as "mirepoix" or "soffrito", if for example, you wanted to substitute sweet potato in place of carrot in the recipe.
Then there is SysML 2[2] which is kind of like OPM if you ever wanted to write a recipe in 35,000 lines of code, including possibly all the complexity of mathematical modelling of the Maillard reaction for purple carrots vs. yellow carrots using either extra virgin olive oil or butter. Probably best suited for the largest food processing companies such as Nestle, Unilever, Modelez, etc and even then, inherent complexity of their food products rarely would reach the level of a fine dining dish prepared by a chef.
[1] https://en.wikipedia.org/wiki/Object_Process_Methodology
Great job!