M Web Magazine Issue 003 (Jun 5, 1997 - Sept 4, 1997)

A Project to Z


We have a number of projects which we hope will offer you a wide choice of topics to get your logic working.

Tell us what you would like the finished program to do. If some computation or calculation is crucial to the operation of your suggestion send it on. You don't have to know programming to take part. In fact at this stage we are still defining what the project should do and input should come mostly from those who are versed in the subject area (or spend some time with search engines). If a graphic (flow diagrams, flow charts, etc.) allows you to express yourself better, please do so. Choose your own methods on how to research these projects. A few tips would be to participate in Internet groups who might have these topics at heart. Point them to these pages or co-ordinate their comments and then post us the results. It's up to you. Until the project comes to an end, we're also open to cover page designs for the project and even better names.

If you lack a scanner, drop us an e-mail with the problem and we'll help you get the designs over to us.

The material you send will be accredited (unless you specify otherwise). When the projects see completion they will be donated to the code bases. You can be proud to have formed part of the project and yes, your name will be listed as one of the contributors.


Please note that we are not interested in copying the work of others unless we have their written permission. If you find something interesting you can freely act as our ambassador, inviting the person to communicate with us. If you prefer, send us the information and we will contact the person ourselves. Any contribution will require confirmation on the sender's part. We aren't trying to discourage you and we value your opinion a lot, but we want MWM to live a healthy life without unnecessary problems. We cannot accept liability for copyright material sent in. The author of the e-mail message will assume that.

Our e-mail address is mwm@mcenter.com.



The Projects

MWM Reader Service - Closed

As MWM progresses to its first year online we are planning to launch a new service that will help disseminate more information on M.

We would like to set up a system that will catalog all products and services (irrespective of whether the company is on the internet or not) by some sort of classification. Readers of MWM would have a form which would allow them to request more information about a particular category of product, for example job recruitment. A database search will be performed and the answer sent in an e-mail to the person who would have requested it.

The system must cater for sponsor information to be included at the beginning or end of the answer sheet. Although it would be ideal to have a system that could be hooked directly to the net (leading for a fully automated, no manual intervention necessary, process), MWM does not have the resources necessary to set up such a system and this venue is not being actively looked into.

Due to the deadline factor, we would like to have the analysis part over with by next issue. This would then allow us to move on to the data collection stage so that we would remain right on target.


Our plea to get this project off the ground as soon as possible did not fall on deaf ears. One of our readers, M. E. Russel has sent us the M code to handle this task. With very little amendments we concluded the project.

The Entity Relational Diagram of this system is: Entity Relational Diagram

Here is a summary of how this system will operate (fields in italics are key fields):

There are three database files:

While it is anticipated that the number of products will grow very large, the Company database will remain relatively very small meaning that it there will not be an delay in linking the two databases as above (i.e. without any forced user inputted code). For example the number of companies starting with any particular letter will be so small that a sequential search on the first latter of the name will very quickly find the owner of the code. This approach facilitates having to remember the code of each and every company.

 

Kitchen +

This is not an ordinary cook book though it will contain recipes. It should have all those features that will make people want to install a PC in their kitchen. It should be the Swiss knife of the kitchen. The program should manage ingredients, help out with creating calorie controlled diets and any other feature you might think of.


Up to Now.

 

Kitchen +


Other Submissions

Kitchen Five Star


F is for Food


Input and Output

Fields the program should have are:

1. Recipe Code - Computer Generated

2. Title

3. Servings

4. Classifications - User defined list of topics the recipe can be classified under (e.g. Vegetarian, French, Starters, Microwave, etc.)

5. Served Hot/Cold:

6. Ingredients - list has no fixed length

     6.1 Qty (e.g. 2)
     6.2 Measure (e.g. table spoons)
     6.3 Product (e.g. pepper)
7. Method of Preparation

8. Preparation Time

9. Cooking Tips

10. Freezing Tips

11. Nutritional Information

12. User's Notes

13. Copyright Information - Who created the meal, put it online, e-mail and other generic comments.

The program should allow users to create their own recipes or import new ones. All recipe details should be freely alterable with the exception of 13 (unless the user has entered the recipe directly). In an Internet hyperlink style, certain words could be hyperlinked to give rise to a glossary of terms. For example a utensil or ingredient could be looked up. The glossary could be a separate file containing terms and descriptions, and, as with recipes themselves could be updated from appropriate files on the net.

Measurements (6.2) vary between countries. For example, 1 Australian cup corresponds to 1.25 American and British cups and ideally this field should be coded when possible to allow customization and alteration to different measuring systems.

A Serving Calculator should allow users to alter the number of servings, following which, ingredients and other fields would adjust accordingly.

The program should be capable of importing MealMasterÓ recipes as this is a very popular format on the net and there are many sites holding thousands of recipes in this format. With such a large base, this implies that the program must be able to store and retrieve recipes efficiently. There are situations in which MealMasterÓ recipes found on the Internet are incomplete and the program should be able to check for them (for example, if there is no method of preparation, the program will prompt the user). Identical recipes must also be checked for.

The program should be able to export to MealMasterÓ format for transmission on the Internet though a proprietary enhanced format is also desirable.

Glossary terms should also be importable/exportable.

 

The Larder

The program should be able to maintain an inventory of food stored by the user and should provide facilities which allow one look up recipes that can be made up from the user’s available ingredients. The program should provide for automatic shopping list generation and should also have basic level checking facilities whereby the program will prompt the user if a particular consumable falls below a certain level.

Users should also be allowed to plan meals in advance with the shopping list/quantity stocked showing/taking into account planned amounts.

 

Searching

Besides logical selecting facilities by product or products (e.g. list only those that use poultry; or find those that use chilli but not lamb and beef), it should also provide searching facilities by classification data, time of preparation, nutritional information, and practically all other fields.

 

Nutritional Information

While the program should be able to import/export nutritional information found in those recipes that contain this information, many existing collections lack such data. For example, many users have no idea of how much fatter a particular meal will make them. A database of calories found in various raw and cooked ingredients will make it possible for the program to generate approximate calories in a prepared meal.

This information could be used to allow users include calorie information in their search. An important point is that, if a recipe already contains calorie information, this information must override the computer generated calculation and that computer calculations should be appropriately marked.

Such a base could also be extended to include other nutritional information which users may either enter themselves or import downloads that become available.

Issues such as conflicting information would have to be dealt with.

The information above has been compiled from the contributions of the following (alphabetical order): Adams Darryl, Andrew Terri, Bonnici Connie, Canion Kathi, Russell John, Schneider Michael, Viron Tom.


I have contributed to several print-based and on-line cookbooks and the problem with using electronic kitchen databases is getting the recipes in the first time. While there are standards for recipes, the standard needs to be broadened. I would like to see some kind of project in which

  1. the standards are broadened,
  2. currently available on-line resources can be organized and included on the counter-top, and
  3. cookbook publishers include a CD of recipes and tips along with their printed books to upload to this counter-top tool.

Only when the databases are current (or ahead of) print cookbooks will they be truly useful to society.

Let me know what you think of these ideas.

John D. Chovan, Ph.D., P.E.

I am developing a Food Value Database program based on the public domain data from the FDA. The program is in Visual M, using Visual Basic for windows and Intersystems DTM Ver 6.4. Currently the program allows lookup by individual or groups of foods and displays various data about the food values. I display the following: (Based on 1g edible portion)

Water (%) Alcohol Histidine
Food energy (Kilo calories) Caffeine Alanine
Protein Theobromine Aspartic Acid
Fat Magnesium Glutamic Acid
Carbohydrate Zinc Glycine
Fiber Copper Proline
Ash Manganese Serine
Calcium Alpha Tocopherol Phytosterols
Phosphorous Niacin  
Iron Vitamin B6  
Sodium Folacin  
Potassium Vitamin B12  
Vitamin A (IU) Tryptophan  
Thiamine Theronine  
Riboflavin Isoleucine  
Vitamin C Leucine  
Saturated Fats Lysine  
Monounsaturated Fats Methionine  
Polyunsaturated Fats Cystine  
Cholesterol Phenylalanine  
Refuse Tryosine  
Protein Valine  
Total Fat Arginine  

As you can see this is a fairly complete list of food values. I am going to add in the ability to select foods by a value or values. This would allow the retrieval of foods by low fat, low cholesterol etc.

RMB, @skylink.net

-------------->E-Mail Your Material for this section.

 

Games Galore

Remember the days looooooong before DOOM when character based games provided hours of simply yet immensely enjoyable games. Remember the consoles you plugged into your TV. We would like to create a compendulum of these games.

If you have an idea for such a game we would need it's title and a description of how it worked.

-------------->E-Mail Your Material for this section.

 

Choose!

Many programs offer some form of choice (for example the ones listed above). This project should allow people to create the most interactive, most flexible menu system possible in M. With this program, users would be able to tie up a group of programs together. The menu system should be as user friendly as possible and should, above all, be easy to setup and operate.


Up to Now

A menu is ranked amongst the most important part of a computer-human interface and it helps make or break the concept of user friendliness attributed to a program. For example, a lousy menu system can render an otherwise very good program unattractive and therefor unusable.

A "good" menu system is one that can grow with the user. As with GUIs, a person new to this type of menu will probably be more at ease using point and click actions with some pointing device. As the person matures (and is made aware of additional features) he would move on to pressing ALT+menu letter+option letter. The next stage is to call up the command directly through its shortcut.

A menu system should be well laid out and should offer help to those who seek it. A new user might find it awkward managing a menu and thus help should be available to tutor interactively how to get things done. Besides menu help users sometimes are not sure what the program attached to the menu does. The menu should provide this information.

A good menu system should be customizable according to the identification entered by the user. A user would specify whether he wants beginner or advanced help, when returning back to the menu, whether he should be returned to the topmost menu or if he wants to be left at the point the program was called from. With the latter approach, the user would push his way down the menu systems and pop his way back. Other forms of customization consist of setting user-defined colors.

Timothy D. Carpenter

-------------->E-Mail Your Material for this section.

 

Other Suggestions.

If you would like to suggest a topic please do so. As some of the proposed projects might not be sufficiently popular they will be replaced by newer ideas. If you think it's worth M'ing, e-mail it.

MWM Campaign


One of the topics discussed in our Commentary is a lack of information about the programming language M in some electronic encyclopedias. By adding an entry about this programming not only will these companies further increase the value of their product, but they will be doing justice to a programming language that merits a place within them.

Irrespective if you're new to M or someone who already uses this programming language, we ask you to spare a few minutes and send the sample letter to the three companies listed in the Commentary. We can only make them aware of the lack in their product if you, like many others send in this letter.

Please do it now.

Pass on our Web Address!

E&OE

Next Page

Up/TOC

1