The
CyberFridge project is to use Internet connectivity, vision and
mechanical systems to create an intelligent and productive
refrigerator.
Many
of our daily tasks revolve around the refrigerator, and a CyberFridge
would allow the automation of many of these routine tasks. Our
project is a specific subset of this area which will allow you to use
a recipe system to determine what recipe you would like to fix, and
let you know if the items to make it reside in your kitchen.
Specifically known as C.A.R.A. ( Clifford Automated Recipe Agent) the
recipe agent will primarily serve the purpose of electronically
making a shopping list and telling to its user the items which are
lacking for a certain recipe and those items which currently reside
in the fridge. CARA will therefore cross index the current inventory
of the fridge and a recipe database in order to suggest what meals to
make and what ingredients are to be bought( i.e. our grocery list).
The recipe database will essentially have recipes of specific types
of dishes (ex. Chinese, Italian, etc.) which the family living
in the home would like to eat. The database will also record the more
popular dishes selected previously, which are determined by the
number of times a certain dish is requested in relation to
other dishes. Our database can also be updated to add new recipes at
the user's discretion.
Scenario
1:
Ann
has had a horrible day. On the way to work she got caught in traffic
and her car overheated. That made her late for an important meeting
with a new perspective client. This forced her to behind all day, and
it seemed like she wouldn't have the time to complete some much
needed shopping, or even plan a meal for that night. "Looks like
it's KFC again..." she grumbled to herself. But wait! She had
just purchased a new cyberfridge with the CARA program for just these
types of situations. She logged into her kitchen over the web , and
saw all her favorite recipes, and whether or not the items needed for
these recipes were in her kitchen. Now she could prepare a shopping
list and get the good food that would keep her healthy, instead of
having to scarf down more of that yucky fast food. Thanks CARA, and
cyberfridge!
Scenario
2:
John,
who is a member of a local charity organization, agreed to make five
desserts for a fund raising event which was two days away. He knew
there was no way he could pick the five desserts, figure out what
ingredients he already had vs. those to buy, and cook them all. After
talking with his friend, Jeff, they realized the option of using
CARA, a recipe agent on Jeff's parents new cyberfridge. Utilizing
CARA's inventory list of desserts, they picked out five good recipes.
The recipe agent then listed the ingredients needed and those which
they already had, and told them how long each would take to cook.
They were able to work efficiently using the new recipe agent, CARA,
on the cyberfridge to prepare all five desserts in time.
Scenario
3:
Aunt
Sue's sister was getting married and going to come by her home in
North Carolina on the way to there honeymoon. Sue heard that Shervin,
Sue's soon to be brother-in-law, was a vegetarian. Well, Sue wanted
to fix something for them when they arrived because they would be
tired and hungry, but she did not know any vegetarian meals or snacks
to fix. Sue noticed that CARA, the recipe agent on her new
cyberfridge, had categories of different types of food. After using
CARA's user-friendly menu, she was able find a variety of vegetable
plates. The recipe agent even listed the foods which needed to bought
at the store, and directions for preparing the food.
Goto: Food Inventory, Recipe Database, Recipe Search, Remote Access
CARA will keep track of what food items are currently in the kitchen, and will keep track of vital information about each item - how much is on hand, the expiration date, etc. In particular, CARA shall be able to perform the following actions:
The CyberFridge shall give the user a list of all food items currently in its inventory. CARA shall order this list according to criteria set by the user. These criteria shall include, but will not be limited to: food categories, alphabetical list, and time remaining before the items should be removed from the inventory.
CARA shall return information about any item requested by the user. This information shall include, but will not be limited to: whether the item is currently on hand, the quantity remaining, and time remaining before the item should be removed from the inventory.
CARA shall track additions to the current inventory. This may be accomplished via a bar code scanner or by other means. Any food added to the kitchen stores shall be added to the inventory maintained by the CyberFridge.
CARA shall track removals from the current inventory. This may be accomplished via a bar code scanner or by other means. The quantity of food used or removed shall be tracked as well. Any quantity of food removed from the kitchen stores shall be removed from the inventory maintained by the CyberFridge.
CARA will keep a database of all recipes which the user wishes to use. In particular, the CyberFridge shall be able to perform the following actions:
CARA shall allow the user to view recipes by categories defined by the user.
CARA shall allow the user to create new categories or to modify existing categories. This shall include the ability to modify the list of recipes belonging to each category.
CARA shall
allow the user to add new recipes to the database, and to place new
recipes into existing categories.
CARA shall
allow the user to modify or delete recipes from the database.
CARA shall allow the user to download recipes remotely from outside servers connected through the Internet.
CARA will use the recipe database to recommend recipes to the user and to recommend food items for the user to purchase. In particular, the CyberFridge shall be able to perform the following actions:
CARA shall be
able to give to the user a list of recipes which can be prepared
using the food currently in inventory.
CARA shall be able to give to the user a list of food items which need to be purchased in order to prepare a particular recipe or group of recipes.
CARA shall keep track of recipes which are frequently prepared by the user, in order that these recipes may be suggested to the user again at future times.
CARA shall give to the user a list of suggested recipes according to criteria set by the user. These criteria shall include, but will not be limited to: recipes for special occasions, recipes using or not using certain food items or groups of items, and recipes which utilize food which will otherwise need to be disposed of in the near future. In addition, these recipes shall be ordered according to criteria set by the user. These criteria shall include, but will not be limited to: favorite recipes, recipes which have not been used recently, or recipes ordered by preparation time.
CARA will allow the user to access its abilities from outside of the kitchen through the use of the Internet. In particular, CARA shall be able to perform the following actions:
CARA shall allow the user to perform all recipe database actions and recipe search actions using an Internet-accessible interface. This interface will allow the user to access the capabilities of the CyberFridge through the World Wide Web.
The interface
should be intuitive and easy to understand so anyone can use it. To
check this we will pick 3 management or other non-CS majors and have
them attempt to find a specific recipe, "their favorite"
recipe and to add a new recipe to the database.
We will be
building the system to run on Netscape 3.x running on P133 under
Windows 95. Due to the nature of the web and Java, we will deem the
system to have sufficient speed if it loads in under 2 minutes on
Netscape 3.x on a T3 connection.
The system's database will come with 13 recipes divided into 3 categories which we will pick from cookbooks or off the web as needed.
A TCP/IP
connection to access the Internet needs to be present.
Since
much of the project will be written in Java and since it it is
platform-independent, the code developed on our platform should run
on most any target platform without modification, but specifically it
will be modeled to run on the Windows 95 platform and tested there.
There
are two vehicle platforms that CARA will be developed on. It will be
developed on Sun Sparcstations running Solaris equipped with the Java
Development Kit 1.0 and the JDK for Windows 95.
A
Pentium class windows 95 running netscape 2.xx or higher.
Hard-disk
for minimal storage of operating system and Navigator
Any
user of the CARA agent of CyberFridge must have a password to be
allowed access to the recipe-agent system, for example.
Loss of Personnel Due to the small size of our team, the loss of one of our members would be very detrimental. If the Architect dropped the course or became very ill, the project should still be able to function. However, it would result in some problems. To handle them, the Architect and all other group members will update the entire group on a weekly basis to ensure good continuity for completing the project in the alloted time by all remaining members. Good communication is therefore is essential. As a precautionary measure, each member in our group will learn other roles as well as the one to which he is designated with by actively participating throughout the entire software life cycle. This would considerably minimize the training overhead which would be incurred at any point in time when a replacement is necessary.
Applet/Internet
Security Restrictions
Due to the security restrictions and concerns in Netscape, a client
side refresh will have to be used to trigger any database accesses or
display events.
Vehicle
Platform Crash
In order to keep intact all completed versions, multiple copies of
all necessary data and code are being saved. We are currently using
the CoC machines to do most of our development for the CyberFridge.
The vehicle machines have all the necessary tools to do the
programming and is accessible to each member of the group. Losing
access to these tools could make the software development process
much slower. Further, other potential platforms don't make access as
easy -- workstations are individualized, and ACME has ownership
restrictions to get around.
Learning
of the Programming Language/Environment
If the programmers and architects do not efficiently train in terms
of time and effort to learn Java, the design and implementation of
the CyberFridge may be delayed. If this occurs than the programmers
have to overlap their training time with the actual construction of
our design.
Special thanks to Dr Gregory Abowd and his team who designed the CyberFridge project.
Jeffrey Corn (Manager)
Travis Works (Architect)
John Garrard (Programmer)
Kesniel Acton (Technical Writer)
Dinesh Krishna (Quality Assurance)
Copyright 2004
Georgia Tech Research Corporation
Atlanta, Georgia 30332-0415
All Rights Reserved