image provider

Kitchen Computer


This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.


This is a student project to design a prototype computer for the kitchen. The project has several goals.

Physical Details

The computer has no keyboard or mouse, just a flat panel screen, that can be wall mounted. The screen contains a built-in microphone and speaker for hands-free use.

This is an auxiliary computer. You do your meal planning, recipe selecting etc. on an ordinary desktop computer. You use this kitchen computer only after all those selections are made.

The auxiliary computer can make use of the resources of the desktop computer attached by an Ethernet LAN (Local Area Network).

Desktop Programming

The desktop side of the software imports recipes. In the process in notices words like blend, chop, etc. so that it can show videos as needed what these verbs mean.

It can convert recipes from metric to US measure and back and multiply or reduce quantity.

If you give it an inventory of ingredients, it can search its database for recipes you could make, or almost make.

It knows the standard substitutions.

Kitchen Programming

Basically the screen tells you what to do next step by step, and shows photos or video if desired to help explain.

The text is short and large so you can read it from half a kitchen away.

All you do is shout DONE as you complete each step.

The recipes are self timing, so if for example you are making bread, it will tell you to go away for 15 minutes and come back to a call. If you are supposed to mix something for 5 minutes it will tell you when to stop. You have to shout STARTING to start the timer.

When you run many recipes at once, they are automatically interleaved to arrange that everything comes out ready at once. Among other things, it has to take into account the temperature and capacity of your oven and your supply of bowls and pots to schedule the dishes.

The program learns the preferences of each chef — how much detail they want and how quickly they complete various tasks to help everything come ready on schedule.

Java currently has no voice recognition API (Application Programming Interface). You might use the Windows specific Dragon Naturally Speaking API. You might almost might be able to do with the clapper technology since you have very few messages to send. You could control it with one, two or three claps.

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number