ShopList 1.11

Hugh Matthews, January 1997


Overview 

ShopList is designed to make the process of shopping for groceries
simpler. As well as managing your shopping list, it provides a pick list
of regularly-purchased items, keeps track of prices, and learns the
aisle layout of your supermarket. ShopList can even automatically add
items which you purchase regularly to the shopping list.

The list is subdivided into categories. Each item belongs to a category,
and contains the price, quantity, store and aisle from the last time it
was purchased. 

The <Diamond> key selects between four levels: 

'Pick': choose the items to be purchased 
'List': the shopping list sorted by category 
'Shop': the shopping list sorted by store/aisle
'Tally': shows total cost of items purchased 

Items move between these levels during a shopping trip. The shopping
list is created by choosing items from 'Pick' which then also appear in
'List' and 'Shop'. When you buy an item from the shopping list then it
is moved to 'Tally'. Once the shopping trip is completed, items from
'Tally' are merged with 'Pick'. 


Getting started 

When you first begin a new file, only the 'Default' category and 'Other'
store are defined. These can be renamed to anything you wish using
Psion-M and Psion-Y respectively. You can also create additional
categories and stores to organize your purchases. 

First define the stores which you patronise with Psion-P. 

Then, create the categories into which you want to subdivide the list
using Psion-C. For each category you can provide a store and aisle which
will be used as the default when items are added to it, but can be
changed thereafter for individual items. You can also specify the
default period after which items in that category will automatically
be added to the shopping list (see 'AutoList').

Finally, add to each category in 'Pick' the items which you purchase
regularly using Psion-A. This creates a pick list from which the
shopping list can be compiled. 

Use the left and right arrow keys to move between categories, or press
<Tab> for a dialog box. 

Further categories, stores and items can be added, and existing ones
modified or deleted at any time thereafter. 


Shopping 

A shopping trip breaks down into four steps: 

Step 1: select items to purchase from 'Pick' 
Step 2: view shopping list in 'List' or 'Shop' 
Step 3: buy items from 'List' or 'Shop' 
Step 4: checkout to merge 'Tally' with 'Pick' 

To create the shopping list, copy items from 'Pick' using Psion-L. Once
an item has been listed, then it is 'greyed out' in 'Pick' and cannot be
modified or deleted there until it has been purchased. Using Psion-L on
a 'greyed' item in 'Pick' removes it from the shopping list. 

The completed shopping list can be viewed by category in 'List', sorted
alphabetically, or by store in 'Shop' sorted by aisle and by category
within each aisle. 

The status window in 'List' and 'Shop' displays the number of items
remaining in that category or store. In 'List' it also shows the total
number of items left on the shopping list, while in 'Shop' it shows the
total cost of the items to be purchased. 

Use the left and right arrow keys to move between categories or stores,
or press <Tab> for a dialog box. 

Items can be added to the shopping list in 'List' and 'Shop' during the
shopping trip using Psion-A. This first searches for the item in 'Pick',
then allows you to define a new item if it is not found. If you want to
abort the search and enter the new item directly then press <Esc> after
the first match is found. 

To purchase the highlighted item in 'Pick' or 'Shop' use Psion-B to move
it to 'Tally'. You will be prompted to update the price, quantity and
aisle. As you use the program, it will progressively learn the layout of
the stores which you patronise. 

Once all items have been purchased, 'Tally' shows the total cost of your
shopping trolly. Last-minute purchases can be added directly to 'Tally'
using Psion-A. Items from 'Tally' can be handed back with Psion-H. 

After you have passed the checkout use Psion-E to merge the items in
'Tally' with 'Pick'. This will update prices and aisles for items from
'repeat' and 'each trip' categories in 'Pick' ready for your next
shopping trip. If you have purchased an item for the first time, or
changed stores, you will be asked whether 'Pick' should be updated.

When you first start using the program, there are often many new items
which need to be added to 'Pick'. To avoid being prompted for each of
these, return from the 'checkout' dialog with <All> to merge the entire
'Tally'. All first-time purchases are added to 'Pick', and items for
which the store has changed are saved with the new store and aisle. 


Navigation 

Use the left and right arrow keys to change the category or store, or
<Tab> to open a dialog box. Use the <Diamond> key to move between
levels, or the hotkeys Shift-Psion-P, L, S and T. <Ctrl> <Menu> resizes
the status window. 

There are a number of shortcuts to speed movement between categories and
levels: 

<Spacebar> moves the highlighted item to the next level. In 'Pick ' it
copies the item to the shopping list (like Psion-L), in 'List' or 'Shop'
it buys the item (like Psion-B), and in 'Tally' it hands the item back
to the shopping list (like Psion-H). 

<Enter> behaves similarly, but does not prompt you for the price and
quantity. Instead, it uses the values from the last time that item was
purchased or listed. 

When the cursor is on a 'greyed' item in 'Pick', <Spacebar> and <Enter>
remove it from the shopping list (like Psion-L). 

To quickly list or buy a specific quantity of an item, use the number
keys in 'Pick' or 'List'. Again, the price and aisle retain their values
from the last shopping trip. When the cursor is on a 'greyed' item in
'Pick', the number keys modify the quantity to be bought. 

<Delete> removes the highlighted item from the current level (like
Psion-D). 

In 'List' and 'Shop' you can move quickly to the next category or store
with items listed. 'Jump to full' Psion-J switches categories, while
'Next store' Psion-S switches stores. 

'Find' Psion-F searches for an item at the current level. First, it
searches for a precise match, and then for any item containing that
word. 

Alphabetic keys move the highlight to the next item beginning with that
letter in the current category or store. 


Speed tips 

When you first start to use ShopList, it may seem that you have to enter
a lot of data for each purchase. However, if you persevere the program
will rapidly learn your regular purchases and the layout of your store.
Subsequent shopping trips will then become much faster. 

Once the 'Pick' list contains your regular purchases, there are a number
of tricks which you can use to speed shopping. 

Learn and use the hotkeys instead of the menu. <Spacebar> and <Return>
speed the process still further (see 'Navigation'). 

Avoid indiscriminately shifting between categories, shops or levels:
rebuilding and sorting the list is an intrinsically slow process. When
you press the left or right arrow keys or <Diamond>, there is a 1 sec
delay after the last keypress, allowing you to complete your selection
before the sort begins. 

Create the shopping list from 'Pick' using <Return> or the number keys
to avoid the prompts for store and quantity. Items can be unlisted or
the quantity modified by using <Return> or the number keys on the
'greyed' item without leaving 'Pick'. 

Add impromptu items to the shopping list in 'List' or 'Shop' using
Psion-A; this will first search for the item in 'Pick'. 

Use Psion-I for 'impulse buys'; this combines 'List' and 'Buy' in one
command, first searching for the item in 'Pick'. 

If the price is unchanged, buy each item from 'List' or 'Shop' using
<Return> or the number keys. If you do not want to bother with price
tracking there is no need to enter prices at all! 

When merging 'Tally' with 'Pick' use <All> to skip the prompts for first
time purchase and changed store. This is especially useful when first
starting to use the program and many items are not yet in 'Pick'. 


List files 

A single list file contains the entire list including all categories and
stores. Each category can contain up to 512 items. 

Use 'New' Psion-N and 'Open' Psion-O to select a file. Files do not need
to be saved. The structure of the list file is checked when it is
opened, and many types of damage are automatically corrected. 

Free space left by deleted items can be reclaimed by 'Compress' Psion-K.
Files are automatically compressed when they are closed and on
'Checkout'. List files should not be kept on a Flash SSD, as space
cannot be reclaimed without compressing the entire disk.

Your list file is a valuable asset, so you should ensure that it is
backed up at regular intervals. 


Categories 

A total of 16 categories can be defined using 'Create' Psion-C. These
categories are sorted alphabetically. Commas are not allowed in category
names, and will be replaced by '/'. 

You can specify a default store and aisle for each category, which will
be used when items are first added, and a default period for automatic
addition to the shopping list.

'Modify' Psion-M updates the current category, while 'Remove' Psion-R
deletes it. When a category is removed, then the items it contains can
be moved to another category or deleted. 


Items 

'Add' Psion-A inserts a new item at the current level. In 'List', 'Shop'
and 'Tally' you are first offered matching items from 'Pick'. To abort
the search so that you can enter a new item directly, press <Esc> after
the first match is displayed. 

'Update' Psion-U modifies the highlighted item. The fields which can be
altered change according to the level which you are viewing. For
example, the category of an item can only be modified in 'Pick'. 

'Delete' Psion-D removes the highlighted item from the current level. In
either 'List' or 'Shop' the item is removed from the shopping list, but
will remain on the 'Pick' list if it was there before. Similarly,
deleting an item from 'Tally' has no effect on the same item in other
levels. Deleting an item from 'Pick' removes it forever. 

'List' Psion-L copies the highlighted item from 'Pick' onto the shopping
list. 

'Buy' Psion-B moves the highlighted item in 'Pick', 'List' or 'Shop' to
'Tally'. When you buy an item, enter the price, quantity and store
aisle. If you are buying more than one pack of an item priced by weight,
enter the unit price and a quantity of zero, and you will be prompted
for the weight of each pack. 

If you return from the 'Buy' dialog using [Discount], special
discounts or markups can automatically be applied to the posted price.
You can specify a percentage discount or markup, add or subtract a
cash discount per item, buy N items for the price of M, or get a cash
discount when buying N items.

'Impulse' Psion-I combines the functions of 'Add' and 'Buy' in one
command. It first searches for the item in Pick, and then buys it,
prompting you for price, quantity and aisle. If the item is already
listed, then you are offered the details given there, and it is removed
from the list. 

'Hand back' Psion-H moves the highlighted item in 'Tally' back to the
shopping list. 


Stores 

A total of 16 stores can be defined using 'Patronise' Psion-P. These
stores are sorted alphabetically. Commas are not allowed in store names,
and will be replaced by '/'. 

'Modify' Psion-Y updates the current store, while 'Quit using' Psion-Q
deletes it. When a store is removed, then any items normally purchased
there can be moved to another store. The original aisle information is
deleted. If this store is the default for a category, it will be reset
to 'none'. 

'Checkout' Psion-E merges items from 'Tally' with 'Pick', updating price
and aisle for items in 'repeat purchase' categories. If you have
purchased an item for the first time, you are asked whether it should be
added to 'Pick'. If you buy an item at a new store, you are asked where
you want to purchase it in future. To avoid these prompts use <All> in
the initial dialog. 

Finally, a cost comparison is displayed for items which have been
purchased and priced before. 


AutoList

ShopList can automatically add regularly-purchased items to the shopping
list. For each item you can enter the number of days since the last
purchase at which it should be automatically added to the shopping list.
Since the time of purchase is calculated from 'Checkout' it is important
to merge the 'Tally' immediately after shopping. 

If you specify a period of 0 then the item must be added manually to the
list. A period of -1 is used for 'once-only' purchases which are deleted
from 'Pick' after 'Checkout'. For each category you can specify a
default period for newly-added items.

If you delete an item from the shopping list using $$2$$D then you are
given the opportunity to reset the date of last purchase, to allow for
'unrecorded' shopping.


Special 

'Zoom in' Psion-Z increases the font size, while 'Zoom out'
Shift-Psion-Z reduces it. 

'Version' Psion-V displays program information and registration details.

'Register' Psion-G allows the registration code to be entered. 

'Exit' Psion-X terminates the program. 

