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.