In order to build a product for cooking, we needed to first understand the pain points in the process of learning to cook a new dish. In initial discovery, I talked to people with a wide variety of cooking experience and observed them cooking.
I synthesized the results into four core insights:
⋅⋅⋅
Cooking is a learning process, so I studied the cooking process through the lens of our education system.
Traditionally, the American education system has been curriculum-based, with teachers as a standardized mode of delivery. We know there is no one-size-fits-all approach to learning, and yet we continue to instruct and evaluate students on a standardized, uniform basis. Other countries, like Finland, have seen huge success in adopting a human-centered educational model, with quality teachers at the center in a curriculum that adapts to the individual needs and dynamics of each student and teacher. This process has paid off, with Finland consistently ranking significantly above the US across the board in many educational metrics.
I made the assumption that cooking, like general education, was more about people than the recipe. We decided to try live instruction through videochat, and validated by running a series of cooking instruction sessions through existing videochat channels. I produced the following insights:
Participants talked as much about the chef as they did about the food. Most of them reached out afterwards to ask about doing future sessions, and stressed that making a dish perfectly on the first try was incredibly rewarding.
I decided to drill in on the personal connection between host and student. The organic human interaction of cooking over video proved to be a powerful anchoring experience, which I hoped to take advantage of for the purpose of education.
Login screen
Main feed of classes. Each one was a videochat session
Videochat screen
A core piece of the experience we were creating focused on live videochat, and thus it relied heavily on a consistent internet connection. In the process of testing, I discovered that when things did not go as planned, class times were stretching from around an hour to two hours or more - and a short break in the connection evoked emotions such as fear, helplessness, and anxiety. To research this, I first mapped user emotions in sessions to identify stress points.
I separated failure scenarios into two regimes: Human Failure and Connection Failure, and conducted research in each. This consisted of ethnographies following failure scenarios, and experiments in which a script was written around a specific scenario.
In researching human failure, I discovered that students often do not know what to look for in cooking, and most recipes do not describe the correct indicators, and rely on time as a measure. Because kitchen conditions, dynamics, and ingredients vary, timing is really an approximation of a number of qualitative indicators - and it is these indicators that we actually need when cooking. Examples of these indicators include:
Connection failure was more complex - it was a source of human failure itself, and often required significant extra time to touch base and reestablish frame once the connection healed.
In early dev, two students were learning to cook dosa from one of our hosts in New Delhi. They had just made the batter and had started pouring it when the connection broke. It stabilized a few minutes later; by then they had turned off they heat after making a mistake. The host had to touch base, reassess, and get back on track. The class ended up taking double the time - two hours - even though the total duration of connection interruption was less than ten minutes.
From these results, I decided to organize a recipe by actions and indicators - for each step, there are a series of actions that are to be executed, and a series of indicators (like the ones listed above) that signal the end of the step. I created a protocol for hosts to follow with the intention of giving students a complete mental model of each step, anchored to their interaction with the host in an asynchronous manner such that a connection failure would not be catastrophic.:
With this protocol in place, subsequent failure scenarios took, on average, only ten to twenty extra minutes, as opposed to double the course time (~an extra hour).
⋅⋅⋅
In the process of researching the recipe, I looked for ways to represent the situational knowledge surrounding a recipe that formed a basis of understanding. We knew that chefs would often provide personal tips to inform the user before and during a cooking session, but wanted to build a conceptual framework for them. To do this, I looked for problems with similar pain points. In road navigation, our main pain points are relevant:
We tend to prefer the routes and roads that we know; There are many ways to arrive at a destination; Failure (accident or wrong turn) is highly discouraging; It’s helpful to study the route in preparation.
I studied the interface of Google maps to identify analogous information categories to the tips we were trying to distil. In particular, two views caught my attention:
POI Background - These are info that provide background information on the point of interest. (insightful review excerpts, interesting photos, related listicles, dynamics). This provides a richer understanding of the POI, instead of surface level metadata (name, rating, category).
Route Context - These are info that give context to the actions you need to take (traffic, accidents, construction, different routes and their eta). These show the context/reasons why you're taking the route that you are (i.e., taking 280 instead of 101 to avoid an accident).
From these insights, I realized that we could categorize chef's tips into two main purposes - informing background understanding, and establishing action context:
This provided an organizational framework for tips, which had not been clear cut. For example, with a tip like "when stirring the palm sugar, keep on low heat", we could recognize the intention behind the tip - it was less about the act of stirring and more about the palm sugar - and rewrite it as "palm sugar has a low melt temperature and high burn temperature, so you don't need a lot of heat to bring out its sweetness".
Thus, I decided to split the interface for each class into three separate panes:
Overview pane: General information and photos, chef profile and description, materials and equipment needed
Overview pane - large image, with a floating booking button. Shows host info, description, and ingredient list without quantity for dietary information.
Instructions pane: Summary of steps, along with tips from the chef concerning important steps and the things to watch out for when executing them.
Instructions pane - first and foremost is prep info, like simple chopping, washing, or defrosting.
Instruction summary - laid out by category (cut, mix, or heat), and with action verbs bolded for clarity
Tips - Action Context by the chef - expandable tips that inform the user of the dynamics or situation around the actions. Up to the host.
Ingredients pane: Quantities of groceries needed, and background information on specialty ingredients needed for a dish, including origin, taste, cultural context, other uses, and trivia
Ingredient pane - I wanted to show the unique ingredients first, to pique curiosity
Ingredient spotlight - provides background info, other dishes, techniques, etc. Up to the individual host.
Ingredient list - this can be sorted for cooking (by recipe section) or for shopping (by grocery department).
Summarizing research, I moved forward with three core insights to frame the process:
To guide the process of scoping, prototyping and producing an MVP, I created user profiles. Our target student users were, in general, young busy professionals who cook, love variety, and have enough income to go out to eat a couple times a week:
To define a feature set for an MVP, I evaluated each feature we were considering based on necessity, impact, and complexity of development.
Necessity was the simplest to evaluate - What do we need for our product to function? This consisted of features like feed, schedule, payment, and live video.
Impact involved talking to stakeholders. For each feature we were considering, I built a case around it consisting of quotes and insights, proposed scenarios, and best practices. I then evaluated them based on these cases. For example, a checkpoint feature was seen has high-impact, as it was novel, solved a problem we were facing (organizing four people), and most hosts found it intuitive. A timer was low impact, as almost everyone had a kitchen timer already.
Complexity involved talking to engineering. I talked to the team and evaluated our features from those conversations.
For the MVP, I decided to include all necessary features, and one low complexity/high impact feature - the checkpoint. I created user stories to organize them, and we moved forward to prototyping.
Next, I sketched out a full flowchart, and then moved on to prototyping:
Prototyping involved many different iterations. With each iteration, I would approach stakeholders with the wireframes/sketches/prototypes and observe their interactions. You can see the final app images produced below.
First iteration - I was still learning the tools at this point
Next iteration - Decided to focus on images, let host and dish shine through
Final iteration, and the one that was produced - made sections modular, highlighted host over description, made CTA larger, centered
First iteration
Final iteration - full screen, made thumbs smaller and moved to top, because focus on food is on table on bottom
In addition to the ones detailed, I decided to produce two features - a checkpoint (for async teaching in groups) for the MVP, and a class creation host-side interface. When video stability required more attention and time than planned, we created a simple web app form for the latter and delayed the in-app feature to after the MVP.
Checkpoint feature, triggered by host
Class creation inline form
Class creation card-based recipe entry
We launched an alpha version to a group of users and received positive feedback. All of our hosts were volunteers, who continued teaching after the alpha was officially over. A majority of students came back and booked more classes.
I learned a lot from taking a product from idea phase to launch. Because the idea I was approached with was incredibly broad in both scope and target, I had to continuously redefine the problem as work progressed. In this search, I reached out to subjects including education, navigation, and communication for inspiration.