                 SHASS The Shopping Assistant
            Copyright Ramsheen Research, 1993, 1994
		    All Rights Reserved


                   DISCLAIMER OF WARRANTY

   SHASS AND ITS MANUAL ARE PROVIDED "AS IS" AND WITHOUT
   WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY
   OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO          
   WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
   THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.


                       DISTRIBUTION

   THIS SOFTWARE AND ITS ASSOCIATED DOCUMENTATION AND DATA 
   FILES MAY BE FREELY DISTRIBUTED ONLY IF NO MODIFICATION 
   OR ALTERATION IS MADE TO THE ORIGINAL DISTRIBUTION
   PACKAGE AND IF ALL FILES ARE INCLUDED AND NONE IS CHANGED.   
   NO ONE IS PERMITTED TO CHARGE FOR THE DISTRIBUTION OF THIS
   PACKAGE UNLESS A WRITTEN PERMISSION IS OBTAINED FROM 
   "Ramsheen Research, 10 Constitution Court, Englishtown, NJ
   07726, USA".





It is strongly recommended that you read this brief document
in its entirety. In particular, you must read Section 5, "Your
First Shopping Trip," *before* you start using Shass to manage
your shopping.


TABLE OF CONTENTS
-----------------

1.  WHAT IS SHASS?

2.  HOW TO INSTALL SHASS

3.  REGISTRATION

4.  BASIC CONCEPTS: A QUICK TOUR

5.  YOUR FIRST SHOPPING TRIP

6.  THE INVENTORY SCREEN
  6.1  Operations You Can Perform From the Inventory Screen
  6.2  Searching for an Item
  6.3  Including/Removing an Item in/from the Shopping List
  6.4  Increasing and Decreasing Quantity to Buy
  6.5  Moving the Cursor to the Next/Previous Inventory Item
  6.6  Moving the Cursor to the Next/Previous Shopping Item
  6.7  Deleting an Item from Inventory
  6.8  Undeleting the Last Deleted Item
  6.9  Adding/Editing an Inventory Item
  6.10 Editing Coupons
  6.11 Indicating that You Have Run Out of an Item
  6.12 Going to the Store Screen

7.  THE STORE SCREEN 
  7.1  Operations You Can Perform from the Store Screen
  7.2  Searching for an Item
  7.3  Buying/UnBuying an Item
  7.4  Increasing and Decreasing Quantity
  7.5  Moving the Cursor to the Next/Previous Item
  7.6  Moving the Cursor to the Next/Previous Unbought Item
  7.7  Removing an Item from the Shopping List
  7.8  Unremoving the Last Removed Item
  7.9  Changing Aisle Name/Number
  7.10 Changing Quantity
  7.11 Editing Coupons
  7.12 Changing Unit Price
  7.13 Changing Total Price
  7.14 Going to the Next Store
  7.15 Going Back to the Inventory Screen
  7.16 Finishing Your Shopping

8.  THE MENU
  8.1  Asking Shass to Recommend a Shopping List
  8.2  Clearing Your Shopping List
  8.3  Saving Your Session
  8.4  Exiting Shass
  8.5  Viewing and Editing Shass Options
  8.6  Getting Information About Shass
  8.7  Printing Your Shopping List

9.  THE OPTIONS WINDOW
  9.1  Days Between Shopping Trips
  9.2  Tax Rate
  9.3  Use of Shades of Gray
  9.4  Store Names

10. HOW SHASS WORKS
  10.1 Computed Values
  10.2 Computation of Current Stock
  10.3 Computation of Consumption Rate
  10.4 Information Regarding "Last Adjustment"
  10.5 Computation of Average Unit Price
  10.6 How Shass Recommends a Shopping List

11. CONFIGURING SHASS

12. TECHNICAL ASSISTANCE



1. WHAT IS SHASS?
-----------------
Shass helps you organize and automate tasks related to
(grocery) shopping. These tasks include maintaining an
inventory of items and coupons, deciding what and how much
you need to buy, making a shopping list, and keeping track
of your shopping
while in the grocery stores. Shass is particularly tailored
to the Hewlett Packard's HP100LX palmtop by utilizing its
64X18 screen and special keys. However, it can be run
without any problems or limitations on any industry standard
DOS computer.

Shass learns your shopping habits and environment as it is
used.  The more you use Shass, therefore, the more help it
can provide you. Initially, Shass can be used as an
electronic replacement for the (paper) shopping list. You
enter the names of the items you want to buy before you go
to your grocery store, and you check mark the items in the
store as you add them to your shopping cart.

After you use Shass for a while, however, it can do a lot more:
it can suggest a shopping list to you based on your pattern of
shopping in the past, it provides you with the cost of your
list in different grocery stores for comparison, and when you
go to a store it organizes and presents your shopping list
based on that store's aisle layout.

Shass is flexible and undemanding. You don't have to enter a
piece of information if you do not intend to use it later.
In fact, the only piece of data you have to give Shass is the
names of the items you intend to buy. Everything else is
optional: if you enter the price of an item in a store, Shass
will use it later to give you the cost of your shopping list in
that store; if you enter the aisle number for an item at the
time of purchase, Shass will organize your list based on the
aisle layout of that store the next time you shop there, and so
on. If, on the other hand, you choose not to enter any of
these, Shass keeps working without any complaints.

Shass is designed for ease of use. Context sensitive function
keys, including help, are provided for all operations. Common
activities are performed by single key strokes, and for each
activity several alternative keys are supported to accommodate
different typing styles.

Shass has gone through extensive user testing. Over two dozen
members of the CompuServe HPHAND Forum and the America Online
Palmtop Area have tested Shass for more than three months. The
result is a user interface that is thoroughly field tested, and
that is easy, practical, and natural.

Shass can currently support 250 items and 5 stores. It needs
128K bytes of RAM to run. The program takes less than 50 Kbytes
of disk space, and the data file with 250 items takes less than
40 Kbytes.


2. HOW TO INSTALL SHASS
-----------------------
The distribution package contains the following files:

  SHASS   .EXE  The program file
  SHASS100.TXT	The file you are reading now
  README  .TXT	Information about the distribution package
  SHOPLIST.SHA 	A sample inventory file
  REGISTER.TXT	Registration form and information 
  SHASS   .ICN	Icon file for HP100LX Application Manager
  NOTES100.TXT	Release notes

NOTE: The file SHASS.EXE has been compressed with Diet 
      version 1.44.

You only need the following files to run Shass:

  SHASS   .EXE
  SHASS   .ICN (needed only on HP100LX)
(after you install Shass you may delete SHASS.ICN.)

The above 2 files must reside in the same directory. It is
recommended that you set up a separate directory for Shass and
copy these 2 files (and the sample inventory file SHOPLIST.SHA)
to it. In the following it is assumed that the name of the
directory you have created for Shass is SHASS.

If you want to install Shass on a computer other than HP100LX,
follow these steps:

  1- Copy SHASS.EXE and SHOPLIST.SHA to directory SHASS.

  2- Make SHASS your "current directory", then type

                       shass [ENTER]


If you want to install Shass on HP100LX, follow these steps:

  1- Copy SHASS.EXE, SHOPLIST.SHA, and SHASS.ICN to directory
     SHASS.

  2- Invoke the Application Manager by pressing the blue [&...]
     key on your HP100LX.

  3- Press the [MENU] key.

  4- Press the [ENTER] key twice; this opens the information
     window for a new application.

  5- In the "Name" field type in:

                        Shass

  6- Press the [TAB] key to move the cursor to the "Path"
     field.

  7- Type in a line of the following general form:

                d:\SHASS\SHASS.EXE|128

     substitute for "d:" the drive designation of the drive on
     which you have created the directory SHASS. If you are
     installing Shass in directory SHASS on drive A:, for
     example, you would enter

                A:\SHASS\SHASS.EXE|128

     (To enter "|" hold down the shift key and press [\])

  8- Press the [TAB] key to move the cursor to the "Comments"
     field.

  9- While holding down the green [Fn] key, press [3]; this
     should display an upside-down "?" character in the
     field.

  10-Press [TAB] to move the cursor to the "Icon" field; then
     press the down arrow key until you see the picture of a
     shopping cart.

  11-Press the [F10] function key to accept the values you have
     entered.

The installation of Shass is now complete, and an icon is added
to the collection of icons in the Application Manager window.
You may now delete the file SHASS.ICN if you want to.

To run Shass hit the blue [&...] key, move the cursor to the
Shass icon and press the [ENTER] key. If you switch out of
Shass and want to get back to it from another application, hold
down [CTRL] and hit the blue [123] key.

NOTE TO HP100LX USERS:
----------------------
You must allocate at least 164 Kbytes to DOS to run Shass. To
view and change how much memory is being allocated to DOS, run
the "Setup" application and enter the following sequence of keys:

   [MENU] [o] [s] [a]

For more information consult your HP100LX manual.


3. REGISTRATION
---------------
Shass is copyrighted software and is neither public domain nor
free. You must register your copy of Shass if you intend to use
it on a regular basis. See file REGISTER.TXT for information
about registration and technical support.


4. BASIC CONCEPTS: A QUICK TOUR
-------------------------------
This section explains the basic concepts in Shass by giving
you a quick tour using the sample inventory list provided.

Start Shass by selecting its icon from the Application Manager
(if you are running Shass on an HP100LX), or by typing "shass
[ENTER]" while you are in the SHASS directory (if you are
running Shass on a computer different from HP100LX). Press
[MENU] or [F10] followed by [R] to ask Shass to recommend a
shopping list.

You should see that a diamond symbol appears next to some of
the items, and that numbers appear under the "To Buy" column
for these items. These are the items Shass is suggesting you
should buy if you go grocery shopping today. Notice that in
the top right corner of the screen you now have a non-zero
value in front of "Items Selected", and that the "Cost" also
shows a non-zero amount.

At the bottom of the screen is displayed a "Function Key
Strip".  The function key strip is context sensitive in Shass
and changes its display based on what you are currently doing.
The [F1] key, however, always remains the same: "Help". If you
hit [F1] Shass will display a brief summary of available
commands and how you can invoke each. Once you are done
reading the help text hit any key to go back to where you were
prior to asking for help.

To see other items in the list, hit the [ENTER] Key (or the
[TAB] Key if you are left-handed). The cursor moves to the next
selected item in a circular fashion. 

While the cursor is on a selected item, hit the [SPACEBAR].
This is one way to tell Shass that you do not want to buy an
item it has suggested. The diamond symbol next to the item
should now disappear indicating that the item is no longer
included in the shopping list. Now using the arrow keys move to
an unselected item and hit the [SPACE BAR]: this time you want
to include this item in your shopping list even though Shass
did not suggest it. A small window opens asking you to enter
the quantity you want to buy; enter a number followed by
[ENTER].

Notice that the "To Buy" column is now displaying the number
you entered; if you want to buy more or less, hit the [+] or
the [-] key, respectively, a few times.

Let us make sure that cooking oil is included in the list. To
find it hit [c], the first character in "cooking oil." The
cursor moves to the first item whose name starts with a "c" or
a "C". If you have not modified the sample SHOPLIST.SHA file,
the cursor should be on "cake." If you continue typing the
remaining characters in "cooking oil" by the time you type the
second "o" you should be at your target. Hit the [ESC] key to
cancel the search string so that it starts over again the next
time you want to locate an item. If cooking oil is not
suggested by Shass select it now. This time instead of hitting
[SPACE BAR] to select the item just hit the [+] key. This is
another way of selecting an item. The difference between
selecting an item with [SPACE BAR] and with the [+] key is that
[+] adds to the "To Buy" column by 1 each time you hit it;
[SPACE BAR], on the other hand, allows you to enter the
quantity directly.

Make as many changes as you want to finalize your shopping
list. Then hit [F9] to "go shopping". When you are using Shass
for actual shopping you would do this as soon as you arrive at
the (first) grocery store. 

You are now looking at the Store Screen for the PathMark
grocery store. Since you have not bought any items yet, the
number of items bought, the tax, and the total cost are all 0.
The remaining cost shows the total cost in PathMark of items
in your shopping list not yet bought. You may have noticed
that this number is different from the number you saw as
"Cost" in the Inventory Screen. This is because the cost of
items in the Inventory Screen are average numbers, whereas in
a Store Screen the cost is that store's price for the items.

Press [F7] to change store. Every time you hit [F7] Shass moves
to the "next" store, again in a circular fashion. Note that the
"remaining" value in different stores is different. Using this
method you can find the lowest cost store for your particular
shopping list.

The displayed list in the Store Screen is different from that
in the Inventory Screen. It contains only the selected items.
Also it is now sorted based on the store's aisles as opposed to
based on the item names. Within the same aisle, however, they
are still sorted by name.

Hit the [HOME] key ([Fn]-left arrow) to go to the beginning of
the list. The first few items have blank aisle numbers. Shass
does not know their aisle numbers in this store, yet.

Use the [PGUP] ([Fn]-up arrow) and [PGDN] ([Fn]-down arrow)
keys to examine the entire list. You will notice that, for some
items, the price is indicated as "**.**" or has a "~" symbol on
the left. Shass is informing you that either it does not know
any price for the item (when "**.**" is displayed), or that the
displayed price is an average value and the store's price of
the item is not known to Shass (when a "~" is displayed).

You may use the same methods you used in the Inventory Screen
to locate items here in the Store Screen.

When you hit the [SPACEBAR] Shass assumes that you just added
the displayed quantity of the item to your shopping cart at the
displayed price. If either number is incorrect, you can change
it by hitting the corresponding function keys and entering the
correct value ([F3] to change quantity, [F5] to change unit
price, and [F6] to change total price).

You may also hit [F2] to enter or correct the aisle number so
that next time you shop at the same store the item is grouped
with other items in the same aisle. 

Remember that at any point during the shopping, including the
very beginning, you may quickly find out the cost of the
remaining (not yet purchased) items in other stores. This can
be used to purchase some of the items from one store and the
rest from others. Hit [F7] to go through different stores in a
circular fashion, and compare the cost of the remaining items
in these stores.

You can remove an unbought item from your shopping list by
hitting the [DEL] key. The [INS] key ([Fn]-[DEL]) will
"unremove" the last removed item. If you want to add an item to
your shopping list you need to press [F9] to go to the
Inventory Screen first. There, locate and mark the item and
then hit [F9] again to come back to the Store Screen. The
cursor is now on the newly added item, and you can buy the item
by pressing the [SPACEBAR] as usual.

The [+] and [-] keys work in this screen as well. They increase
and decrease, respectively, the quantity of purchase. If you
prefer, you may use the right arrow and the left arrow keys to
get the same result.

Once you are done with your shopping in this store hit [F8] to
indicate that your shopping in this store, PathMark, is "Done."
This will update your inventory, and will remove from the
shopping list the items you have bought. You can then go to
another store and continue your shopping if there are still
items left on your (updated) list.

To quit the program hit [MENU] or [F10] first. This brings up a
menu at the top of the screen. The menu has choices for "Save",
"Quit", review and modify "Options", "Print" the shopping list,
and get information "About" Shass. You can select a choice by
moving the cursor (using the arrow keys), or by typing the
first character of the choice while holding down the [ALT] key,
and then hitting the [ENTER] key. You can also select a choice
by just hitting its first character. 

Move the cursor to "Quit" and hit [ENTER]. Since you have
modified your inventory, Shass will ask you if you want to
save.  If you type [y]-[ENTER] your changes will be saved.


5. YOUR FIRST SHOPPING TRIP
---------------------------
Most other programs that perform jobs similar to what Shass
does require the user to first enter a substantial amount of 
information *before* they can be used; Shass is different. In
fact, a major design objective of Shass was to ensure that it
can be used with minimal data entry on the part of its user.
It is true that Shass does need to have information about the
items you usually buy, where you buy them from, their cost,
etc. But the way Shass goes about acquiring this information
is to *gradually* compile the information over time as it is 
being used.

Shass "learns" your shopping habits and environments as you use
it. So, for your first shopping trip you do not need to do 
anything more than you usually did before you started using
Shass: just make a list of what you think you need and how much
of each.

First make sure that you move the sample inventory file,
SHASS.SHA, to a directory different from the Shass directory.
If you don't, Shass will use the sample inventory as your
inventory. This is *not* what you want. The sample inventory
has historical information different from yours, and using it
will make Shass's predictions inaccurate for you.

Before your first trip you need to set Shass's options. So go
to the option menu and set the values now.

Now put together your shopping list. Start with the Inventory
Screen. Add each item you plan to buy by using the "Add"
command repeatedly. For each item you only need to provide the
name, the unit, and whether or not the item is taxable. Leave
all the other fields unchanged. You can, if you so desire,
specify other fields like the current stock, the average unit
price, or even your daily consumption; but it is recommended
that, at least in the beginning, you do not do this.  Let Shass
guess these values for you. You can later change them whenever
you like. Of the remaining fields all but one is computed by
Shass. The one field that Shass does not compute (and,
therefore, you need to enter eventually) is "Buy if stock goes
below" field. For those items that you buy regularly and you
want to maintain a minimum supply, you need to specify a
non-zero value in this field.

After you have entered all the items for your first shopping 
trip, exit the Add window, and then decide on the quantities.
For each item use the "+" key to increase the quantity to buy
by 1, or hit the space bar and then enter the quantity. 

If you have any coupons you may enter those now. Make sure that
you enter manufacturers and store coupons correctly. 

You are now ready to go to the grocery store. When you arrive
at the store switch to the Store Screen. As you pick items in
your list add their unit price (or total price) and aisle 
number. Also mark the item by pressing the space bar. If you
decide not to buy an item on your list remove it by hitting the
[DEL] key. If you decide to buy an item not on your list, first
switch to the Inventory Screen then select the item (or add it
and then select it) and finally get back to the store screen by
hitting [F9]. Once you are done shopping hit [F8]. 

When you are back at home you may go over all the items and
modify their "stock" values if needed. You may also decide
on the value for "Buy if stock goes below" fields.


6. THE INVENTORY SCREEN
-----------------------
You usually use the Inventory Screen while at home preparing
for your shopping.  The Inventory Screen has three parts. The
Summary Window that occupies the top three lines, the Function
Key Strip at the bottom, and the List Window that is in the
middle and occupies most of the screen.

The List Window displays one item per row. There is room to
display up to 10 items at a time, but navigational keys (up and
down arrows, page-up and page-down, and home and end) can be
used to view other items. For each item, the name, the unit,
and the current stock are displayed. Also, a column is reserved
for the display of the amount to buy if the item is selected to
be included in the shopping list.

The Summary Window provides the following information:

  - total number of items in the inventory

  - number of items selected for shopping, so far

  - the (average) cost (price + tax - cashable manufacturer's
    coupons) of all selected items

  - the number of days the shopping is for

  - the total value of cashable manufacturers coupons you have
    for the selected items.

The (average) cost for an item is computed based on the actual
purchase price of the item averaged over all the stores in
which the item has been bought in the past. The averaging is
weighted in favor of the most recent purchases. If Shass does
not know any price for an item it does not include the cost of
the item in the total cost.

The number of days the shopping is for reflects the frequency
of your (regular) shopping trips. This number is used by Shass
to decide how many units of an item it should suggest for your
shopping list (see below). You may change this number from the
"Options" window.

While in the Inventory Screen, the "cashable coupon" for an
item is, in most cases, the same as the total value of the
manufacturer's coupon for that item. However, the maximum value
that can be "cashed" cannot exceed the total price of the item
before tax. For example, if the unit price of an item is $.50, 
you buy 3 units for the total price of $1.50, and you have a
manufacturer's coupon for $2.00, the cashable value of this
coupon is $1.50 whether or not the item is taxable. 

6.1 Operations You Can Perform from the Inventory Screen 
--------------------------------------------------------
While in the Inventory Screen, you can perform the following
operations; most of these operations act on the "current item",
i.e., the item currently highlighted by the cursor bar.

              Operation                    Key
              ---------                    ---
see a description of available keys    [F1]
search for an item                     type in item's name
include an item in the shopping list   [SPACEBAR] or [+]
remove an item from the shopping list  [SPACEBAR]
increase quantity to buy by 1          [+] or [RIGHT ARROW]
decrease quantity to buy by 1          [-] or [LEFT ARROW]
move cursor to next inventory item     [DOWN ARROW]
move cursor to previous inventory item [UP ARROW]
move cursor to the next shop item      [ENTER] or [TAB]
move cursor to the previous shop item  shift-[TAB]
delete an item from Inventory          [DEL] or [F7]
undo the last delete operation         [INS] or [F8]
add a new item to inventory            [F2]
edit an inventory item                 [F3]
edit item's coupons                    [F4]
indicate you have run out of an item   [F5]
go to the Store Screen                 [F9]
go to Inventory Menu                   [F10] or [MENU]


6.2 Searching for an Item
-------------------------
Entering any sequence of alphanumeric keys will move the cursor
to the first item in inventory whose name matches the (partial)
string formed so far. For example, when you enter "c" the
cursor may move to "cake" if "cake" is the first item whose
name starts with a "c" or a "C". If you then enter "h" the
cursor may move to "cheese" if "cheese" is the first item whose
name starts with characters "c" and "h", in that order, and so
on. [BACKSPACE] is available for editing the search string. You
may cancel a partially formed search string by pressing [ESC]
or [ENTER]. In most cases Shass cancels the string on its own
when it thinks doing so makes sense, but it is always a good
practice to cancel a search string as soon as the item is
located. The Search is not sensitive to case.


6.3 Including/Removing an Item in/from the Shopping List
--------------------------------------------------------
If the cursor is on an unselected item hitting the [SPACEBAR]
selects the item (adds it to the shopping list). A small dialog
box appears asking for the quantity of purchase. Enter the
number of units of that item you want to buy. The number must
be between 0.1 and 99.9. If the cursor is on a selected item
hitting the [SPACEBAR] unselects the item (removes it from the
shopping list).

You can also use the [+] or the right arrow key to include, and
the [-] or the left arrow key to remove, an item (see below).


6.4 Increasing and Decreasing Quantity to Buy
---------------------------------------------
Hitting the [+] or  the right arrow key increases the quantity
to buy by 1.0, and hitting the [-] or the left arrow key
decreases it by 1.0. If the item is not selected, increasing
its quantity to 1 also selects it; if an item is selected,
decreasing its quantity to 0 also deselects it. The quantity to
buy cannot be increased above 99.0 or decreased below 0.0.
Shass will beep if you attempt to go beyond these limits.


6.5 Moving the Cursor to the Next/Previous Inventory Item
---------------------------------------------------------
Hitting the up/down arrow key moves the cursor up/down to the
previous/next item in the inventory list. You cannot go up/down
when the cursor is at the top/bottom of the list.


6.6 Moving the Cursor to the Next/Previous Shopping Item
--------------------------------------------------------
Hitting either the [ENTER] key or the [TAB] key finds the next
selected item and moves the cursor to it; shift-[TAB] finds the
previous selected item. The search is done in a circular
fashion. If the cursor is already on the only selected item, it
will stay there. If there is no selected item, you will hear a
beep and the cursor does not move.


6.7 Deleting an Item from Inventory
-----------------------------------
To delete all the information on an item move the cursor to it
and hit either the [DEL] or the [F7] key. If you accidentally
delete an item you may be able to recover it (see below).


6.8 Undeleting the Last Deleted Item
------------------------------------
Hitting either the [INS] key ([Fn]-[DEL]) or [F8] puts back
into the inventory the last deleted item. If you try to
undelete when there is no deleted item, you hear a beep and
a message is displayed indicating that no deleted item is
available.


6.9 Adding/Editing an Inventory Item
------------------------------------
You add a new item to the inventory by hitting [F2]. You edit
the current item by hitting [F3]. In either case an Edit dialog
window opens with the same set of fields and available
operations. The Edit dialog window displays the information
about the item that Shass requires or has. The fields are:
Name, Unit, Current Stock, Average Unit Price, the low water
mark value, a flag indicating whether the item is taxable,
and the current computed value for the rate of consumption.
Only the name field is required; all other fields are
optional.

The cursor bar indicates which field is the "current field".
To move the cursor to the next field hit any one of the keys:
[ENTER], [TAB], or [DOWN ARROW]. To move the cursor to the
previous field hit shift-[TAB] or [UP ARROW]. To "jump" to
a field hold down the [ALT] key and hit the first character
of the field's name. To provide a new value for the field
just type in the (new) value.  To append to the presently
displayed value hit either [LEFT ARROW] or [RIGHT ARROW]
and then start typing. While typing you may use the edit
keys ([RIGHT ARROW], [LEFT ARROW], [DEL], and [BACKSPACE]).

The fields are explained below: 

 Name: the name of the item; any sequence of alphanumeric    
   characters including "space" and the high ASCII
   (international) characters is allowed. The maximum length is
   20 characters. The name must be non-blank.

 Unit: the name of the unit of purchase for the item; any 
   sequence of alphanumeric characters including "space" and
   the high ASCII (international) characters is allowed. The
   maximum length is 20 characters.

 Stock: the number of units you have in your stock as of today.
   Valid values are between 0.01 and 99.99.
   The displayed value is what Shass thinks you should have and
   is computed based on the item's "last adjustment
   date" and "consumption".

   The last adjustment date for an item is the last date on
   which Shass recomputed the stock. This is usually the last
   date you bought the item. It may also be the date you edited
   the Stock or the consumption field in the Edit window
   (see below).

   The consumption is usually computed by Shass when you
   indicate that you have run out of the item (using [F5] in
   the Inventory Screen). It is also computed when you buy an
   item. Whenever you buy an item Shass examines the computed
   current stock for the item: if it is less than the item's
   low water mark Shass recomputes the consumption; if it is
   more than the low water mark, Shass adjusts the current
   stock to be equal to the low water mark. The rate of
   consumption is then computed using the current stock, the
   last adjustment date, and today's date. The last adjustment
   date is then set to today's date.

   If you change the Current Stock Field to a value *less* than
   the stock at the last adjustment date then Shass recomputes 
   the consumption based on the previous consumption, the stock
   at the last adjustment date, the new value of stock you have
   entered, and the number of days between the last adjustment
   date and today; the last adjustment date is not modified.
   This should happen when the consumption rate Shass has
   computed previously is inaccurate and needs correction.

   If you change the (current) Stock field to a value *greater*
   than the stock at the last adjustment date then the value is
   taken as the new stock and the last adjustment date is set
   to today's date; the consumption is not modified. This
   should happen only if you have bought the item "manually"
   (not by using Shass) since the last recorded purchase.

 Average Unit Price: the (weighted) average unit price of the
   item.  Valid values are from 0.01 to 99.99.

   The displayed value is the average of the previous average
   value and the unit price of the last purchase. As such, the
   average is weighted in favor of the most recent prices.

 Low Water Mark: the number of units that, when your stock goes
   *below* it, triggers a buy recommendation. Valid values are
   between 0.00 and 99.99. Note that if you set this field to
   0 (default) you can never go below the low water mark
   threshold and, therefore, Shass will never recommend the
   item for your shopping list. You can use this property to
   separate items you buy regularly from those you buy
   occasionally. For all items you buy regularly set a non-zero
   low water mark; for the items that you buy occasionally (and
   you do not want Shass to ever recommend a buy), keep the low
   water mark at 0. 

 Taxable Flag: if set to "Y" (yes) indicates that the item
   is taxable; otherwise, the item is assumed to be tax	free.
   You can set or change the tax rate in the Options Screen
   (see below).

 Consumption Rate: the rate of consumption for the item in
   units per day. Valid values are from 0.001 to 99.999. This
   number is computed and adjusted by Shass as it learns about    
   your shopping habits (see above). 


6.10 Editing Coupons
--------------------
Hitting [F4] opens coupon edit window. In this window you can
specify the total value of coupons you have for the item.
There is one row for the manufacturer's coupons, and one row
per store for the store coupons. If you want to delete an
entry enter 0. Shass displays a "double exclamation" mark if
an item has coupons.

When you buy an item that has coupons, Shass calculates the
"cashable" amount, and subtracts that amount from the cost
of the item. At the end of your shopping when you hit [F8]
(Done) in the Store Screen, Shass will remove all coupons
you have cashed.

The cashable amount of a coupon cannot exceed the total cost
of the item before tax. Shass cashes a coupon even if the
cashable amount is less than the nominal value. 

This feature is available to the registered users only.


6.11 Indicating that You Have Run out of an Item
------------------------------------------------
Hitting [F5] will tell Shass that you have run out of the item.
This is the main mechanism for Shass to learn your consumption
pattern. If you tell Shass that you have run out of an item on
the actual date, Shass's information would become more
accurate.  However, you can also use the Edit Item window to
edit the current stock at any time. 

NOTE: For those items that you purchase occasionally (and you
do not maintain a steady supply) you may want NOT to inform
Shass of your accurate stock. Instead, tell Shass that you have
run out of the item just before you intend to buy it. This way,
Shass's idea of consumption will in reality represent your
purchasing frequency and not your consumption.


6.12 Going to the Store Screen
------------------------------
Hitting [F9] brings up the Store Screen for the current store.
While in the Store Screen, you can switch to other stores by
repeatedly hitting [F7].


7. THE STORE SCREEN
-------------------
You use the Store Screen at a grocery store while shopping. The
Store Screen has three parts. The Summary Window that occupies
the top three lines, the Function Key Strip at the bottom, and
the List Window in the middle that occupies most of the screen.

The List Window displays one shop item per row. There is room
to display up to 10 items at a time, but navigational keys (up
and down arrows, page-up and page-down, and home and end) can
be used to view other items. For each item, the name, the unit,
the quantity, and the cost are displayed.

The Summary Window provides the following information:

  - number of items bought so far as a fraction of number of
    items in the shopping list, 

  - total cost (price + tax - cashable coupons) of all items
    bought so far; a coupon for an item is cashable if it is
    either a manufacturer's coupon, or a store coupon issued
    by the "current" store, 

  - total tax for all items bought so far; the tax for an item 
    is computed *before* the coupons are considered. For
    example, if an item is taxable (assume a tax rate of 10%),
    it costs $1.00, and it has a $.40 coupon, then the tax for
    the item is $1.00 * 10% = $0.10, and the cost will be
    $1.10 - $0.40, or, $0.70,

  - the remaining cost (price + tax - cashable coupons) in the
    current store of all items not yet bought,

  - the total value of all coupons cashable for all items
    bought so far; this includes *both* coupons issued by
    manufacturers and by the current store.

The price of an item is computed as follows: 1) if Shass knows
the price of the item in the current store, that price is used;
2) otherwise, if Shass has an average price for the item, that
price is used with a "~" prefix; 3) otherwise, "**.**" is
displayed. The total and the remaining cost figures are
computed from those items for which Shass has either a store
or an average price.


7.1 Operations You Can Perform from the Store Screen 
----------------------------------------------------
While in the Store Screen, you can perform the following
operations; most of these operations act on the "current item",
i.e., the item currently highlighted by the cursor bar.

              Operation                        Key
              ---------                        ---
see a description of available keys       [F1]
search for an item                        type in item's name
buy an item                               [SPACEBAR]
unbuy an item                             [SPACEBAR]
increase "quantity" by 1                  [RIGHT ARROW] or [+]
decrease "quantity" by 1                  [LEFT ARROW] or [-]
move cursor to the next shopping item     [DOWN ARROW]
move cursor to the previous shopping item [UP ARROW]
move cursor to the next unbought item     [ENTER] or [TAB]
move cursor to the previous unbought item Shift-[TAB]
remove an item from shopping list         [DEL]
undo the last remove operation            [INS]
specify or change aisle number            [F2]
change the quantity to buy (or bought)    [F3]
edit item's coupons                       [F4]
change the unit price of the item         [F5]
change the total price of the item        [F6]
go to the next store                      [F7]
finish your shopping (in this store)      [F8]
go to the Inventory Screen                [F9]
go to Store Menu                          [F10]


7.2 Searching for an Item
-------------------------
Entering any sequence of alphanumeric keys will move the cursor
to the first item in the shopping list whose name matches the
(partial) string formed so far. For example, when you enter "c"
the cursor may move to "cake" if "cake" is the first item in
the shopping list whose name starts with a "c" or a "C". If you
then enter "h" the cursor may move to "cheese" if "cheese" is
the first item whose name starts with characters "c" and "h",
in that order, and so on. [BACKSPACE] is available for editing
the search string. You may cancel a partially formed search
string by pressing [ESC] or [ENTER] . In most cases Shass
cancels the string on its own when it thinks doing so makes
sense, but it is always a good practice to cancel a search
string as soon as the item is located. The search is not
sensitive to case.


7.3 Buying/UnBuying an Item
---------------------------
If the cursor is on an item not yet bought hitting the
[SPACEBAR] buys the item. If the cursor is on an item already
bought hitting the [SPACEBAR] cancels the buy.


7.4 Increasing and Decreasing Quantity
--------------------------------------
Hitting [+] or the right arrow key increases the quantity to
buy (or bought) by 1.0, and hitting [-] or the left arrow key
decreases it by 1.0. The quantity cannot be increased above
99.0 or decreased below 0.0. Shass beeps if you attempt to go
over these limits. If you decrease the quantity to 0 Shass
removes the item from the shopping list.


7.5 Moving the Cursor to the Next/Previous Item
-----------------------------------------------
Hitting the up/down arrow key moves the cursor up/down to the
previous/next item in the list. You cannot go up/down when the
cursor is at the top/bottom of the list.


7.6 Moving the Cursor to the Next/Previous UnBought Item
--------------------------------------------------------
Hitting either the [ENTER] key or the [TAB] key finds the next
item not yet bought and moves the cursor to it. Hitting
Shift-[TAB] finds and moves the cursor to the previous item not
yet bought. The search is done in a circular fashion so that
after the last item the first item is found. If the cursor is
already on the only unbought item, it will stay there. If there
is no unbought items left, Shass beeps and the cursor does not
move.


7.7 Removing an Item from the Shopping List
-------------------------------------------
To remove an item from the shopping list, move the cursor to it
and hit the [DEL] key. If you accidentally removed an item you
may be able to UnRemove it (see below). You cannot remove a
bought item. You can also remove an item from the shopping list
by repeatedly hitting the [-] or the left arrow key until the
quantity to buy reaches 0. 


7.8 UnRemoving the Last Removed Item
------------------------------------
Hitting the [INS] key ([Fn]-[DEL]) puts back into the shopping
list the last removed item. If you try to unremove when there
is no removed item, you hear a beep and a message is displayed
indicating that no removed item is available.


7.9 Changing Aisle Name/Number
------------------------------
Hitting [F2] allows you to modify the aisle name/number for the
item. Aisle names can be up to 3 characters long. Items in the
Store Screen are sorted by aisle names, and by item names
within the same aisle. If you want to delete an aisle name just
enter one or two space characters. All items with no aisle
names are listed first.


7.10 Changing Quantity
----------------------
Hitting [F3] allows you to modify the quantity. Valid values
are numbers between 0.1 and 99.9, inclusive. Note that you can
also change the quantity by hitting the right arrow key or the
[+] key (to increase it by 1) and the left arrow key or the
[-] key (to decrease it by 1).


7.11 Editing Coupons
--------------------
Hitting [F4] opens coupon edit window. In this window you can
specify the total value of coupons you have for the item.
There is one row for the manufacturer's coupons, and one row
per store for the store coupons. If you want to delete an
entry enter 0.

When you buy an item that has coupons, Shass calculates the
"cashable" amount, and subtracts that amount from the cost
of the item. At the end of your shopping when you hit [F8]
(Done) in the Store Screen, Shass will remove all coupons
you have cashed.

The cashable amount of a coupon cannot exceed the total cost
of the item before tax. Shass removes a coupon even if the
cashable amount is less than the nominal value. 

This feature is available to the registered users only.


7.12 Changing Unit Price
------------------------
Hitting [F5] allows you to modify the store's unit price of the
item. Valid values are between 0.01 and 99.99, inclusive.


7.13 Changing Total Price
-------------------------
Hitting [F6] allows you to modify the store's total price of
the item. Shass computes the corresponding unit price by 
dividing the total price by the quantity. Valid values are
between 0.01 and 999.99, inclusive.


7.14 Going to the Next Store
----------------------------
Hitting [F7] allows you to go to the next store in a circular
fashion (you go to the first store after the last). You may use
[F7] to quickly compare total cost in different stores by
comparing the "remaining" amounts.


7.15 Going Back to the Inventory Screen
---------------------------------------
Hitting [F9] will bring you back to the Inventory Screen. You
may need to do this if you decide to buy an item that is not
currently in your shopping list: go to the Inventory Screen,
locate the item, mark it, and then come back to the Store
Screen. Note that by using [F9] you can quickly go back and
forth between the Inventory and Store Screens. When possible,
the cursor stays on the same item when you do this.


7.16 Finishing Your Shopping
----------------------------
When you are done shopping in the current store hit [F8].
Shass will update its database and removes all purchased 
items from the shopping list. All cashed coupons will also
be removed. 

If there are items left on your shopping list, you may now
go to another store and complete your shopping there.

8. THE MENU
-----------
Hitting [MENU] or [F10] in either the Inventory Screen or the
Store Screen brings up a menu. Depending on the screen you are
in, either the Inventory Menu or the Store Menu is presented.

While a menu is active, you can move the cursor to a choice by
using the arrow keys, the [TAB] key, or by holding down [ALT]
and hitting the first character in the choice. You can select
the current choice by hitting [ENTER]. You can also select a
choice without moving the cursor to it first by simply hitting
the first character in the choice.

The Inventory Menu offers the following choices:
    Recommend a shopping list
    Clear the shopping list
    Save
    Quit
    Options

The Store Menu offers the following choices:
    Save
    Quit
    Options
    Print

These choices are explained below.


8.1 Asking Shass to Recommend a Shopping List
---------------------------------------------
Select "Recommend" to ask Shass to recommend a shopping list to
you.  Shass selects an item when BOTH of the following
conditions are met:

	1 - the item has a non-zero low water mark,

	2 - with the current rate of consumption, the item's
            stock will be LESS than its low water mark by your
            next regular shopping trip.

The quantity "To Buy" is determined by Shass such that the
item's stock remains above its low water mark throughout the
period ending at your next planned shopping trip.

Shass only adds to your shopping list. So if you select an item
manually and then ask Shass to recommend a shopping list, the 
item you have selected manually will stay selected even if
Shass would have not selected it based on the above algorithm.


8.2 Clearing Your Shopping List
-------------------------------
Select "Clear" to remove all items from	your shopping list. If
an item has been bought, it will not be removed. If you want to
remove a bought item, you need to first "unbuy" it from the
Store Screen.


8.3 Saving Your Session
-----------------------
Select "Save" to save all the changes you have made in this
session.


8.4 Exiting Shass
-----------------
Select "Quit" to exit Shass. If you have made changes and have
not saved them, Shass will ask you if you want to save or to
quit without saving. Enter "y" to save, or "n" to quit without
saving.


8.5 Viewing and Editing Shass Options
-------------------------------------
Select "Options" to view and edit Shass options.  The options
are: days between shopping trips, tax rate, whether or not you
want Shass to use shades of gray in displaying items, and the
names of your grocery stores.  See below for explanation of
these options.  


8.6 Getting Information About Shass
-----------------------------------
Select "About" to view general information about Shass
including its version number and date of release.


8.7 Printing Your Shopping List
-------------------------------
Select "Print" to ask Shass to print to a file a copy of your
shopping list and your cashable manufacturer and store coupons.
The file is an ASCII printable file. It can be printed from the
palmtop if the palmtop is connected to a printer, or it can be
transferred to a desktop PC for later printing.

This feature is available to the registered users only.

See CONFIGURING SHASS to find out how to specify the name and
location of the print file.


9. THE OPTIONS WINDOW
---------------------
You can view and modify certain constants in Shass from this 
window. You access this window by hitting [MENU] or [F10] and
then choosing Options. The constants you can modify are
explained below.


9.1 Days Between Shopping Trips
-------------------------------
You can specify the number of days between your (planned)
shopping trips. Numbers between 1 and 99 are valid. Shass uses
this number to suggest the quantities for the items in your
shopping list (see the explanation of "Recommend" in the
Inventory Menu).  


9.2 Tax Rate
------------
You can modify the tax rate for taxable items. Valid numbers
are between 0.00% and 99.99%, inclusive.


9.3 Use of Shades of Gray
-------------------------
If you set this flag to Y (yes) then unselected items in both
the Inventory and the Store Screens are displayed in gray
color.  If you set it to N (no) then all items, selected or
not, are displayed in black.


9.4 Store Names
---------------
You can modify the name of the stores. A store's name can be up
to 15 characters long. It is recommended that you name one of
the stores "other" so that you can use that store name when you
shop at a store different from your regular stores.


10. HOW SHASS WORKS
-------------------
This section explains Shass's internal algorithms. It will
cover how values like current stock and consumption rate
are computed, and the effects of manual editing on these
computations. It also explains how Shass learns your
shopping habits, and how it recommends a shopping list.  

You don't need to read this section to be able to use
Shass.


10.1 Computed Values
--------------------
Shass continuously computes and adjusts the "current stock" 
(as of today) and the "consumption rate" for every item. This
happens when you start Shass, as well as when you edit or buy
items. 

The "average unit price" and the "store unit price" of items
are computed and adjusted when you buy items and after you
hit "Done."

In addition, Shass maintains a "last adjustment date" and "the
stock as of last adjustment date" for each item.


10.2 Computation of Current Stock
---------------------------------
The "current stock" is computed as follows: 

  - first, consumption is computed by multiplying the
    "consumption rate" by the number of days between the
    "last adjustment date" and "today"; 

  - the "current stock" is then calculated by subtracting from
    "the stock as of the last adjustment date" the computed
    value of consumption; if the result is below zero, the
    value is assumed to be zero.

There is another case which may cause the adjustment of the 
"current stock". Shass assumes that you (generally) buy an
item only if its stock goes below the value you have
specified for "buy if stock goes below". So if you buy an
item and its "current stock" is greater than its "buy if
stock goes below" value, then Shass changes the current
stock to be equal to the value of "buy if stock goes below".
This change affects the computation of "consumption rate"
(see below), and is a learning mechanism for Shass to
gradually learn your true consumption rate.


10.3 Computation of Consumption Rate
------------------------------------
The "consumption rate" is computed when you hit [F5] (RanOut)
in the Inventory Screen, when you hit [F8] (Done) in the Store
Screen, and when you edit the item.

When you hit "RanOut", Shass does the following:

 - first your most recent consumption rate is computed by 
   dividing the value of "stock as of last adjustment date" by
   the number of days between "the last adjustment date" and
   "today";

 - the average of the above value and the current "consumption
   rate" is then calculated; this average is then taken as the
   new value for the "consumption rate."

When you hit "Done", Shass does the following for every item
purchased:

 - if the "current stock" for the item is GREATER than the
   item's "buy if stock goes below" value, then Shass adjusts
   the "current stock" for the item to be equal to that value;

 - the consumption is then computed by subtracting from the
   "stock as of last adjustment" the value of "current stock";

 - the most recent consumption rate is computed by dividing
   the consumption by the number of days between "the last
   adjustment date" and "today";

 - the average of the above value and the current "consumption
   rate" is then calculated; this average is then taken as the
   new value for the "consumption rate."

When you edit an item and change its "consumption rate", the
new value replaces the old "consumption rate" (for other
impacts of editing see below).

Note that the consumption rate is adjusted by giving more
weight to your most recent rates. For example, if you start
with a consumption rate of 5 units/day, and in three
consecutive intervals you consume the item with rates 10, 2,
and 0.5, respectively, the corresponding consumption rates
would be:

	 5.000 (the initial value)
         7.500 (the average of 5 and 10)
         4.750 (the average of 7.5 and 2)
         2.630 (the average of 4.75 and 0.5)

This is a "weighted average" in favor of your most recent
consumption. If you had the same rates of consumption but
in the reverse order (started with 5, then went through
0.5, 2, and 10 in that order) Shass would have computed your
consumption to be 2.75, 2.38, and 6.19, respectively.


10.4 Information Regarding "Last Adjustment"
--------------------------------------------
Shass maintains two internal values for each item: the "last 
adjustment date" and "the stock as of last adjustment date."
The "last adjustment date" is the date when "the stock as
of last adjustment date" has been modified. 

"The stock as of last adjustment date" is modified in one of
three ways:

 - When you edit the item and change the value of the "stock"
   filed; the new value you enter becomes the "stock as of
   last adjustment date". The "last adjustment date" is set
   to today's date.

 - When you edit the item and change the value of the 
   "consumption rate"; the displayed value of "stock" is
   taken as the new value of "stock as of last adjustment
   date", and the "last adjustment date" is set to today's
   date.

 - When you buy an item; the sum of the "current stock" and
   the quantity of purchase becomes the new value of "stock
   as of the last adjustment date", and the "last adjustment
   date" is set to today's date.


10.5 Computation of Average Unit Price
--------------------------------------
When you hit [F8] (Done) in the Store Screen, Shass adjusts
the "average unit price" for the items you have bought.
The "average unit price" is calculated as the average of the
store price and the current "average unit price". As such,
it is weighted in favor of the most recent prices. For example,
if you start with an "average unit price" of 5, and in three
consecutive shopping trips you buy the item for the price of
10, 2, and 0.5, respectively, the corresponding average unit
prices would be:

	 5.00 (the initial value)
         7.50 (the average of 5 and 10)
         4.75 (the average of 7.5 and 2)
         2.63 (the average of 4.75 and 0.5)

This is a "weighted average" in favor of your most recent
purchases. If you had the same prices but in the reverse
order (started with 5, then went through 0.5, 2, and 10 in
that order) Shass would have computed your average unit price
to be 2.75, 2.38, and 6.19, respectively.


10.6 How Shass Recommends a Shopping List
-----------------------------------------
Shass recommends that you buy an item if by your next planned
shopping trip your "current stock" of the item will fall BELOW
the value you have specified for its "buy if stock goes below".
Since an item's "current stock" can never go BELOW zero, Shass
will never recommend an item whose "buy if stock goes below"
value is set to zero.

The recommended quantity is a value large enough so that by
your next planned trip, and given the current rate of
consumption, the "current stock" remains above the item's
"buy if stock goes below" value.

Note that the "current stock", the "consumption rate", the
"days between shoppings", and the value of "buy if stock
goes below" all impact whether or not Shass recommends a
buy and the recommended quantity.
 

11. CONFIGURING SHASS
---------------------
Registered users of Shass can specify the name and location of
the inventory file and of the print file. See file
REGISTER.TXT for more information.


12. TECHNICAL ASSISTANCE
------------------------
If you have questions as how to use Shass or if you have
comments and suggestions for future releases of Shass you may
send electronic mail to the CompuServe account 73044,3302 or
to the Internet address 73044.3302@Compuserve.COM.

Technical support via email is provided for a minimum of one
year from the date your completed registration form is
received.  You will receive more details in your registration
package.
