Timekeeping: My initial notes and sketch stayed within the one hour time limit, if you ignore the fact that my Wacom tablet and Photoshop had a disagreement that required troubleshooting and a reboot. I spent another 30 minutes or so typing this up.
The basics of a recipe app are pretty well defined at this point. Virtually every one contains a list of recipes, with the ability to search, sort, filter, and favorite. Each recipe contains an ingredients list and the steps needed to create the dish, and most include photos and secondary data such as tips, timing, and common substitutions. They’re literal digitizations of your parents’ or grandparents’ file of recipe cards. The better apps offer digital-native features, such as the ability to generate shopping lists and may have a video of someone following the recipe, but those are the exception.
Let’s think of some scenarios for a family cooking app that takes full advantage of a digital platform, specifically an iPad. Knowing how my family cooks, and others cook, there are a few common scenarios that occur:
First: the “rushed parent” scenario. I have little time, and only the ingredients on-hand to create a meal. This is largely solved by a large recipe database and good filters.
Second: I’m the primary cook, and I’m preparing a meal with multiple dishes. At the extreme end, this is someone preparing for a large family’s holiday meal. Multiple dishes need to be prepared in a sequence that allows me to make the best use of my time.
Third, I’m the primary cook, but I have a helper in the kitchen today who is less adept. I need help dividing the tasks appropriately so they can be a part of the meal without putting themselves (or the meal) at risk.
No, meals aren’t people, but let’s create some axes anyway:
- Single dish vs multiple dishes
- Single session vs a multi-day affair
How comfortable is the person in their ability to successfully cook this recipe?
- I’ve never cooked before
- I’ve never cooked this recipe before
- I cook this recipe regularly
Is the cook capable of doing everything?
- I have no limitations
- I don’t know how to do something
- I can’t do something…
- …because my hands are full (or covered in something)
- …because I have a physical limitation (such as someone with arthritis kneading dough by hand)
- …because it’s not safe for me (a young child using a knife or stove)
How much mental power can you devoting to cooking?
- My full attention
- I’ll have the occasional interruption
- A knock at the door
- A crying child
- I will be constantly interrupted
- I have ADHD, or am otherwise not ‘neurotypical’
- There’s a lot going on around me
Because most recipe apps are little more than a collection of text files, they can’t handle these problems well. It’s assumed you’ll read and absorb the recipe ahead of time and make sure you’re planning things out in advance. Additionally, recipes themselves are often written to encourage you to do large amounts of prep work up front, regardless of if it’s a quick stir fry (where this is important) or a slow braise (less so).
They also lack common definitions. If you’re a new cook, you probably don’t know the difference between a simmer and a boil, and if it’s your first time baking bread, do you know how to knead dough?
It’s easy to get lost in the steps if you get distracted for any reason, largely due to the design to optimize for page count even if you’re not printing the recipe.
As a part of the app, allow for the creation of users who may have different skill levels or specialties. Each recipe must be broken down into steps, with metadata for each step that denotes what is required for that step from prep, skill, and equipment perspectives. Allow for the combination of recipes into a meal.
Use those three pieces (distinct users, step metadata, meals) to create a step-by-step flow that focuses on appropriate division of labor and just-in-time prep. Thing about it as Lean Cooking or Agile Pastry.
Within the presentation layer, ensure the timelines are built so that no user can get too far ahead, and that the display is limited to only what is necessary for that step. Imagine a “presentation mode” for a recipe where each step is one slide.
Assume that the user cannot touch the device with their hands. Any action – whether it’s to go to the next step, get info, or start a time, will be voice-accessible in this mode, by any user.