Welcome to MSDN Blogs Sign in | Join | Help
Building a recipe application using Vista and .NET 3.0 (Part I: Design)

This is the first in a series of blog postings which explore designing and building a recipe application using Windows Vista and the .NET 3.0 framework. In this blog, I write about designing the application and the thought process that I went through with the design.

 

Playing Roles

Many times in the role that we are in, on our team, as demo creators, we wish to conjure up demos that are compelling to developers, CTOs, business decision makers and end-users alike. Obviously this is a virtually impossible feat since all these target audiences have different and sometimes opposing views. For instance, if we create a financial application, how would that appeal to someone in the medical profession? It really depends on the concepts used and whether any can be carried across to other professions.

 

Food

Not many people are in the profession of creating and using recipes, but it might be easier to see how some of these ideas can carry across to other segments since it deals with something that everyone knows a little about: food. We chose to create a recipe application. Additionally, it’s a topic that all our immediate team members are reasonably familiar with, so it definitely made this a fun and useful project.

 

What should it do?

Always the difficult question; It was our goal to create a robust recipe application that supported its own recipe (electronic cookbook [.ecb]) file-type. We also wanted the application to take advantage of relevant technologies available on the Vista platform. That is to say, we didn’t want to shoehorn in technologies that didn’t make sense. We start simple. We want a file type that:

-          Contains the rich data necessary to re-hydrate a recipe.

-          Is an easily serializable/deserializable file format.

-          We want to be able to support keywords and ratings that can be aggregated by the shell.

-          We want to have the shell to be able to display a thumbnail.

-          We would like users to be able to add comments and alter recipes without altering the original content.

-          The content should be searchable from the Windows shell (also called Explorer.)

-          And of course, we want to create a very rich user experience (UX) in an application that consumes this file-type.

 

Brainstorming: Considerations in recipe conventions and design

As I quickly found out designing a recipe format wasn’t as easy as it sounded, for a couple reasons: there are no real standards (that I aware of) in place and so recipes are in random formats, plus there are so many ways to represent units of measure in recipes (i.e. really how much is a “pinch of salt”, and what is the unit for 1 egg”?), not to mention which system to use by default: English or Metric. In examining many recipes, here are some of the considerations I found, that needed to be taken into account:

-          Some recipes that contain sub-recipes, or are part of a larger recipe, such as a full meal, or a sauce that is part of a meal.

-          What measure to use and which ones to normalize on. “One can of tomato puree” is very ambiguous. “18 oz. of tomato puree” is concrete, yet one still doesn’t get a sense of how much it is. The application needs to be able to do some basic conversion.

-          Some recipes contain several concrete “sections.” i.e. mixing the sauce and basting the ribs with the sauce.

-          Be able to increase/decrease recipe quantities proportionately. If I find a recipe that serves 16, I might want to scale it back. Some flavors in cooking don’t scale linearly.

-          Everyone wants to see a picture of what it “should” look like when it is done.

-          Get a definition of what an ingredient is. I came across all kinds of terms I had never heard before.

-          How about making it localizable.

 

And the list goes on

Wouldn’t it be cool if you could sort by what country a recipe came from, or a time period, and of course the genre; how about to be able to search friends’ favorite recipes or a large databases of recipes; or to be able to annotate recipes like you would to a recipe card? How about being able to find a recipe that contains ingredients that you have in your refrigerator, or generating a grocery list from the ingredients for items you don’t have in house? This is where things start to get interesting.

 

In the next blog posting I will cover the details of the XML format that I decided to use for the application.

Published Wednesday, January 31, 2007 12:47 PM by uberdemo

Filed under: , ,

Comments

# UberDemo : Building a recipe application using Vista and .NET 3.0 (Part … at Restaurants @ Monday, December 31, 2007 2:04 AM

PingBack from http://restaurants.247blogging.info/?p=474

UberDemo : Building a recipe application using Vista and .NET 3.0 (Part … at Restaurants

Anonymous comments are disabled
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker