ADDRESS BOOK
Address and 'Phone Number Management for the Psion Series 3A
Shareware Program
© 1994 - 1996 John W Dawson

V3.1F, September 1996

1	Introduction
Address Book is an Application for the Psion Series 3A which you can use to manage addresses, 'phone numbers, and related information. It has a number of special features which make it more convenient and suitable for this purpose than the standard Database Application built into the Series 3A. These include:
•	Alphabetic listing and searching of names;
•	Enhanced DTMF dialling:
•	Variable volume;
•	Automatic prefixing of charge card account number and PIN;
•	Automatic prefixing of network service codes (for call diversion etc.);
•	Linking of records, to allow common information to be defined once only but shared by more than entry;
•	Configurable print layouts, allowing you to print addresses onto envelopes or labels. The program generates RTF files containing all the necessary formatting, which can be printed using a compatible word processor on a PC;
•	Tagging of entries, to create temporary or permanent lists of related entries;
•	Importing and exporting of all or selected parts of records.
The Application manages one or more databases of information about individuals or organisations. Each entry in a database has the same layout, but the template for this is fully configurable.
Two of the fields have special significance, since they are used to sort the entries. In the default template they have the labels Name and Organisation; however you can change their labels and positions in the template.
An entry may relate to a person, in which case the Name field will be present and optionally an Organisation. Alternatively the entry may relate to a Company or other organisation, in which case there will no Name, only an Organisation.
There are four principle screens:
The Find screen lists entries in alphabetical order, and allows alphabetic searches.
The Show screen displays a single entry in full.
The Update screen allows existing entries to be modified.
The Add screen allows new entries to be added.
2	Getting Started
2.1	Installation
To install the Application carry out the following steps:
1	Copy the file ADDBKV7.OPA into the \APP directory on the Internal Drive or an SSD.
2	On the System screen use the "Install" (Psion-I) command to install ADDBKV7. The Address Book icon (depicting a book, 'phone, and envelope) should now appear on the screen. 
3	You may find it convenient to assign a button to the Application, using the "Assign Button" (Psion-A) command.
If you are upgrading from a previous version of Address Book then you should delete all .OPA and .OPO files installed for the previous version.
2.2	Creating a new Address Book
You can now create an Address Book database by using the "New File" (Psion-N) command (while the highlight is beneath the Address Book icon). In the dialog box specify the name for the database and the drive where it is to be located.
The Edit Labels screen will now be displayed, allowing you to customise the default template to your preferences. If the default is acceptable just type Escape. Otherwise edit the labels; keys work in the same way as on the Add and Modify screens described below. Type Enter when finished.
A dialog will then be displayed, to allow you to specify which fields to use for sorting, and the format you wish to enter names in. The choice of format is either forename(s) followed by surname (e.g. "Sally Ann Field") or surname followed by forename(s) (e.g. "Field,Sally Ann"). You can choose the character used to separate the forenames and surnames; this can be a space, a comma, or some other custom character. Alternatively you can specify "None", in which case names are not split into separate forename and surname parts. This last option would be most suitable if you wished to use Address Book to manage information other than names and addresses.
On completion of the dialog the Add screen (described fully below) will then be displayed, enabling you to start adding entries to the database.
Once you have some entries in the database you can go to the Find screen by typing Escape or Diamond.
2.3	Using an existing Database
If you have an address database in standard Psion DBF format (e.g. created using the built in Data application or an OPL program) then you can open this with Address Book. You can not use a Database that contains numeric fields, but any Database which the built-in Database can open should be okay.
Note that the default directory and extension for Address Book is different from the built-in Database (for historical reasons), hence Database files will not appear under the Address Book icon. However you can create an 'alias' to access such files more conveniently. Position the highlight under the Address Book icon, and type Psion-E. Create a new list for Address Book, with Directory \DAT and Extension DBF. Your database files will then appear under the additional Address Book icon.
Databases which have been created and maintained by Address Book have an extra 'index' file associated with them. When Address Book first opens a database where this index information is not available then, it must build this index. Once created there should be no need to rebuild this index, unless the index is accidentally deleted or the database file is modified by an application other than Address Book.
Open the file in the normal way (from the System screen). If the database does not contain a template (typically a file created by an OPL application) then the Edit Labels screen is displayed. The default template is shown, and you should modify this to reflect the structure of entries in the database. (If there is a template already present in the database then Address Book will use this.)
A dialog is then shown to allow you to specify how the database is to be sorted and the layout of the Name field (as when creating a new file). There are extra dialog lines which allow you to control whether entries which contain more than one name in the Name field are split into multiple linked entries.
If you set Name Separator to "None" then no changes will be made to entries in your database. Otherwise if an entry contains more than one name (separated by the specified character) then extra database entries are created for the second and subsequent names, which are all linked to the entry for the first name. (See below for explanation of linking). E.g. if your database has an entry like:
	Name:	John Brown
Mary Bell
	Address:	3, High St
Any Town

then if you set Name Separator to "New Line" two separate entries will be created for John Brown and Mary Bell.
The application will now build the index. When this is complete the Find screen is displayed, listing the entries in alphabetic order.
3	General Points
Most of the basic features operate in the 'standard' way. Diamond/Shift-Diamond switches to the next/previous screen. Menu displays the menus. Control-Menu controls the displaying of the Status Window.
The Find, Show, Update, and Add screens can all be zoomed, by typing Psion-Z or Psion-Shift-Z. The "About Address Book" (Psion-Shift-A) command displays the introductory screen. You can exit cleanly from the Application by using the "Exit" (Psion-X) command in any screen.
4	The Find Screen
Entries are listed in alphabetical order. Entries for People are sorted by surname, which is generally taken to be the final space-separated 'word' in a name. E.g. John William Hedges and Peter Hetherington-Whyte would both be listed under H. 
You can override this, to cater for exceptions such as double-barrelled surnames without hyphens, e.g. Ralph Vaughan Williams which should be listed under V. You should enter such names with a double space between the last forename and the start of the surname (e.g. between Ralph and Vaughan).
The » character indicates the 'current' entry.
Entries for Organisations are sorted by their complete names; e.g. Acme Software Company would be listed under A.
You can find an entry by typing the initial letters of its surname (or complete name for an organisation). Use lower case letters only. As you type the program will progressively find the first entry which matches the letters entered, and display the entry with the matched letters highlighted.
Upper and lower case characters are treated as equivalent. Accented characters are sorted and matched as the equivalent unaccented character; "æ" is treated as "a", "ø" as "o", and "ß" as "s". Punctuation characters are ignored when sorting and matching; e.g. O'Regan is listed between Oppenheimer and Oswald, and can be found by typing o r ....
If you make a mistake when typing the sequence of initial letters then press the Escape key; this cancels the matching, and enables you to start the sequence again from the first letter.
Once the entry you require is displayed on the screen you can select it immediately by typing the digit or shifted letter shown to the left of it. The entry is then shown in full on the Show screen. Enter or Diamond displays the current entry in full.
You can move up and down the screen using the Up/Down arrow keys. Page Up/Down move a whole screenfull at a time. Home moves to the first entry, End to the last. Use of any of these keys cancels any matching in progress.
4.1	Configuring the Find Screen
You can configure the layout of the Find screen by using the "Screen Layout" (Psion-Shift-S) command. Surname width and Forename width specify the widths of the two different parts of names (approximately in number of characters). Extra field specifies an additional field to be shown on the screen. If the 'phone symbol is selected then the first non-blank 'phone number of each entry is shown.
You can also use this dialog to specify how tags are shown on the Find screen. A "*" can be displayed against each Find screen entry which has a particular tag set, or any tag set.
5	The Show Screen
This displays the full details for a single entry. Only fields which have information in them are shown. Any tags set can be shown, either as full  names or short codes (use Psion-Shift-S to set required preference).
If the entry is too big to be shown in full then you can scroll up and down, using Up/Down/Page-Up/Page-Down. Alternatively you can zoom to a smaller font.
Typing any lower case letter starts a 'quick-find'; the Find screen is displayed with the first entry starting with the letter selected.
You can display the next or previous entry in the database (or found set) by typing ">" or "<" respectively.
6	The Update Screen
You can update the current entry by using the "Update" (Psion-U) command on the Find or Show screens, or by pressing Diamond on the Show screen. The Update screen is then displayed, showing all the fields for the entry and their current values if any.
You can now change these values by typing text on the keyboard. If all or part of a field is highlighted then this is replaced by what you type; otherwise text is added at the cursor position. You can put line breaks in any of the fields by typing Shift-Enter.
Use the arrow keys to move around within a field or between fields. Use these keys with Shift down to highlight text. Control-Left/Right moves a word at a time. Home and End take you to the start and end of the current line.
The Delete key removes the highlighted text, or the character to the left of the cursor if nothing is highlighted. Shift-Delete deletes to the right, and Psion-Shift-Delete deletes to the end of line. You can cut and paste text between fields using Delete or "Copy" (Psion-C) with text highlighted and then "Insert" (Psion-I). You can "Bring" text highlighted in other applications by typing Psion-B. You can also use the "Bring" command in other applications to copy highlighted text from Address Book.
Text is automatically wrapped onto the next line if a line becomes to long to fit on the screen.
The Enter key writes the modified entry back into the database. An entry will not be updated if both the Name and Organisation fields are blank. Use Escape to abandon the update, leaving the entry unchanged in the database.
7	The Add Screen
You can add new entries to your database by using the "Add" (Psion-A) command or by pressing the Diamond key on the Update screen or Shift-Diamond on the Find screen. This takes you to the Add screen, whose operation is similar to the Update screen described above, except that all fields are initially blank.
You can create a new entry based on an existing entry by using the "Copy Entry" (Psion-O) command.
8	Finding Entries
The principle way of finding a particular entry is by alphabetical searching by name on the Find screen. However you can also make searches on other fields, using the "Find" (Psion-F) command. In the dialog you then specify the text you are looking for, which field to search (or all fields), whether the search should be case sensitive, and whether the entire field must match the specified text.
You can either list all the entries which match the criteria (by setting Find to "All"), or display the first matching entry in full (by setting Find to "First").
If "All" was selected then when the search is complete a dialog showing the number of matching entries is displayed. Type Escape to abort the search, or Enter to list the found set on the Find screen. The found entries can then be selected, displayed, modified, deleted, printed, etc., exactly as when the entire database is listed. Typing Escape lists the entire database again (a second Escape is required if part of a name is highlighted.) Also if any entries are added the program reverts to listing the full database.
If "First" was selected you can find further entries matching the same criteria using "Find Next" (Psion-G). Note that "Find" and "Find Next" search the database in physical order, which may not be the same as the sorted order in which entries appear on the Find screen.
You can find and list all entries linked to the currently selected entry by using the "Find Linked" (Psion-K) command. This works in similar fashion to searching with the Find = "All" option.
9	Tagging Entries
You can define up to 16 different "tags", and apply one or more of them to individual records, to mark the records as belonging to a subset of the database, or as being of special interest. You can then search for entries which have a particular tag, or combination of tags, set. Tags may be of a permanent nature, e.g. partitioning your database into different categories, or temporary, e.g. to create lists of people you need to 'phone. Tag settings are saved (in the index file) between invocations of the program.
Use the "Define Tag" (Psion-Shift-N) to create a new tag. In the dialog specify the full name (up to 30 characters) and a "short code" (2 alphabetic characters) for the tag.
You can then apply this tag to the current entry (on the Find or Show screens) by typing the 2 character short code with the Control key down (similar to applying styles in Word). This actually has the effect of toggling the current tag setting, i.e. setting it if it is not already set, clearing it if it is set.
You can also set or clear tags using the "Set Tag" (Psion-T) command. In the dialog you can specify a particular tag, or "All" tags, and the operation to be performed (Setting, Clearing, or Toggling). You can perform the operation on just the current entry, all entries in the database, or all entries in the current found set (if a search has previously been performed).
To find entries with particular tag settings use the "Find Tags" (Psion-Shift-F) command. You can specify up to 3 different tags, and search for entries which have all those tags set, for entries which have any of those tags set, for entries which have none of those tags set, or for entries which have not all those tags set. The found entries are listed in the same way as entries found in a text search.
You can modify existing tag definitions, to change their full names and/or short codes, using the "Modify Tag" (Psion-Shift-Y) command. Entries which have the modified tag set will not have their tag settings altered, but will be displayed with the new tag name or short code.
You can delete tag definitions no longer required using the "Delete Tag" (Psion-Shift-T) command. Any entries having the deleted tag set will have this cleared.
10	Deleting Entries
A single entry can be deleted using the "Delete" (Psion-D) command, or by typing the Delete key on the Find or Show screens. You are asked to confirm the deletion before the entry is removed from the database.
You can delete all the entries in a found set, or all the entries in the database, by using the "Delete Range" (Psion-Shift-G) command. You are asked to confirm the command before any entries are deleted.
11	Linking Entries
This facility allows more than one entry to share the same common information. The sort of situation where this might be useful is where you have a couple who have the same address and home 'phone numbers, but different work 'phone numbers. Each individual can have their own separate entry, but the common address and home 'phone is only defined in one entry; the other entry refers to this 'parent' entry. If the couple should move then you only need to change the address in one place.
Another way of using linking is to set up a 'parent' entry for a Company, and have several linked entries for individuals in the Company.
You can create a new entry linked to an existing 'parent' entry using the "Add Linked Entry" (Psion-L) command. The 'parent' entry must be the current entry on the Find or Show screen. The Add screen will then be displayed, with the field contents derived from the 'parent' shown in grey. These values cannot be modified, but can be replaced by typing new contents.
You can link an existing entry to an existing 'parent' using the "Link" (Psion-Shift-L) command. First select the entry to be linked on the Find or Show screen and type Psion-Shift-L. Then select the required parent and type Psion-Shift-L again.
An entry can only be linked to a single 'parent', but a 'parent' entry can have any number of other entries linked to it.
When a linked entry is displayed on the Show screen then for any of its fields which are blank the contents of the field in the 'parent' entry are shown instead. You can suppress the showing of field contents derived from the 'parent' by entering a single space in the field.
When you update a linked entry, fields derived from the 'parent' are shown in grey and cannot be changed, only replaced.
You can remove a link from an entry with the "Remove Link" (Psion-Shift-U) command. You are asked to confirm the removal.
12	Counting Entries
The "Show Number" (Psion-N) command on the Entries menu displays briefly the total number of records in the database in the bottom right corner of the screen.
13	DTMF Dialling
You can dial the current entry on the Find or Show screen by typing Dial (Psion-Help). This displays the Dialling screen which lists all the telephone numbers for that entry. Select the number you wish to dial using the Up and Down keys.
The Tab key dials the number exactly as shown. Enter prefixes the "dial out" code, e.g. to make an outside call via a switchboard. Type c to automatically prefix the account number and PIN for a BT charge card call (or similar). Type d to dial the number with the code and terminator for a special service (such as BT Star Services Call Diversion). Type Escape to quit from the Dial screen.
After any of these buttons are pressed there is a short delay; this allows you to position the loudspeaker correctly for successful dialling. You can dial further digits by pressing any of the 0 to 9 and *, # keys while the Dial screen is displayed.
'Phone numbers are dialled with correct International prefixes and country codes providing they have been entered in standard Psion format, as described in the Psion User Manual.
Note the c and d buttons will not be displayed or activated until you have set up an account number and PIN or service code; use the "Dialling Setup" (Psion-Shift-D) command to display the Dialling Setup Dialog. When setting up the Divert Code specify both the code prefix and the terminator, separated by a space. E.g. for Star Services "Divert on No Reply" you should set *61* #.
You can also set the code required to obtain an outside line. E.g. if you have to dial 9 and then wait for a second dial tone you should set 9,.
The other fields allow you to specify the duration of the tones, the pause between tones, and the length of a delay; units are 1/32s of a second. You can also set the volume of the tones; allowed values are 0 to 5, with 5 the quietest. (5 seems to give the most reliable results with most 'phones.)
14	Printing
This program does not support direct output to a printer attached to the Psion. However you can output to a file, either in plain text or rich text (RTF) formats. These can then be printed using the built-in Word application, or transferred to an external PC for printing. RTF files contain formatting instructions in addition to the text, which can be interpreted by compatible Word Processors (e.g. Microsoft Word).
The RTF output generated by this program for various layouts has been tested using Microsoft Word for Macintosh V4.0. This interprets all the formatting commands to produce 'correct' printout, except that page orientation commands (\landscape and \portrait) are ignored, and orientation has to be set manually within Word before printing. Some other Word Processors may not interpret the formatting commands fully and correctly; in particular I have seen reports that Word Perfect is not very good at interpreting RTF. Hence it is recommended that Word (if available) should be used to interpret and print RTF output
14.1	Defining Print Layouts
Before you can print you must define at least one layout, to specify which fields you wish to be printed, and how you want the page laid out. Use the "New Layout" (Psion-Shift-W) command to display the "Print Layout" dialog.
Each layout should be given a unique name, which you can type directly into the Name field. To change other values you must select the appropriate line of the dialog, using the Up and Down keys, and type Tab to enter the sub-dialog.
The Page sub-dialog allows you to specify the width and height of the paper (all dimensions are in inches) and the orientation (portrait or landscape). You can also specify the number of rows and columns on each page.
If Rows is 0 then page breaks are inserted automatically when there is not enough room for the next entry. If Columns is greater than 1 then entries are printed in 'snaking' columns. This option would be suitable for making a 'hard copy' listing of your entries.
If Rows is 1 then entries are printed one per page. This would be suitable for printing addresses onto envelopes.
If Rows is greater than 1 then entries are printed inside Rows * Columns equally sized and spaced 'cells' per page. This would be suitable for printing addresses onto sheets of labels.
You can also specify if the field labels and/or empty fields are printed.
In the Margins sub-dialog you can set the margins round the whole page and the position of each entry. Horizontal offset is the offset of the text from the left margin, column boundary, or cell boundary; field labels are always printed flush against the left margin. If Rows is 0 then Vertical offset sets the vertical spacing between entries, otherwise it sets the offset of each entry from the top margin or the top of the cell.
The Font sub-dialog allows you to specify the font name, size, and attributes. As well as the Name of the font (e.g. "Times" or "Helvetica") you need to specify the Family to which it belongs (e.g. "roman" or "swiss"). Name and Family can be any combination which the Word Processor on your PC can recognise; you can find out about available fonts by generating an RTF file from your PC's Word Processor and examining the entries in the \fonttbl section. The sub-dialog also enables you to set the font size and whether the field labels and/or main text are printed in bold and/or italic.
The Fields sub-dialog allows you to set which fields are printed. You can specify all fields, or up to 7 selected fields (in any order). If you select "Name OR Organisation" then either the designated "Name" field will be printed, or if this is empty the designated "Organisation" field.
Existing layouts can be changed using the "Modify Layout" command (Psion-Shift-M) or deleted using the "Delete Layout" command (Psion-Shift-E). You can create a new layout based on an existing one using the "Copy Layout" command (Psion-Shift-C).
14.2	Printing Entries
If you wish to output the print file directly to your PC then you must first connect and activate the serial link.
The "Print" (Psion-P) command brings up the Print dialog. This allows you to specify:
•	whether All entries in the database are printed, or selected Individual entries, or the Found subset (if you had previously performed a search);
•	which layout to use;
•	whether to generate a plain Text file or an Rtf file;
•	the drive and specification for the Destination file;
•	whether you are printing via a Host Apple Mac or IBM PC.
If you specified All or Found entries, then these are printed immediately you terminate the dialog with Return. 
If you specified Individual entries then you must select each entry that you wish to print (on the Find screen) and use the "Print Entry" (Psion-P) command. When all required entries have been printed you terminate printing with the "Finish Printing" (Psion-Shift-P) command.
14.3	Setting Printer Defaults
You can set default values for:
•	the destination drive and directory for print files;
•	the file format (Text or RTF);
•	the host type (Mac or PC);
using the "Print Setup" (Psion-Y) command. Also in this dialog you can specify how to print the 'phone symbol which appears in some labels. You need to specify the name and family of an appropriate special symbol font which includes a 'phone symbol in its character set, and the equivalent character in a normal character set. E.g. on the Mac you can use font Zapf Dingbats (family nil), which prints a "%" character as a 'phone symbol.
Note that if you wish to specify a default directory on the PC then you must have the serial link activated when performing this dialog. If you subsequently attempt to print with the link disconnected then the Print dialog will not offer this remote drive and directory. However if you then print to a local drive on the Psion this will not supersede the default setting.
15	Editing Labels
You can modify the labels template by using the "Edit Labels" (Psion-E) command. The Edit Labels screen is then displayed. Keys operate as on the Add and Update screens. Use Shift-Dial (Psion-Shift-Help) to insert the 'phone symbol at the start of a label, to indicate that the field is diallable.
It is not advisable to add or remove labels in the middle of the template, as data in existing records will become misaligned with the labels. It is okay however to add new fields to the end of the template.
16	Exporting Records
You can export all or a selection of records in a database to a text or data file, using the "Export" (Psion-R) command. This displays a dialog enabling you to specify:
•	The file to which the records are to be exported;
•	Whether the output file is a Data or Text file;
•	(For text files) the field delimitter: Comma, Tab, or a Custom character with a specified code;
•	Whether All records in the database are to be exported, or Individually selected records, or (if appropriate) the current set of Found records;
•	Whether field labels are to be exported (for data files the labels are written into the Descriptive Record so that Data and similar programs will display them normally, for text files the labels are written as the initial record);
•	Whether All record fields are to be exported, or just Selected fields.
If "Export Selected Fields" is specified then up to four further dialogs are dislayed, allowing you to specify up to 32 fields to be exported. Type Return to add the selected fields to the list of fields to be exported, or Escape if no further fields are to be added to the list. The fields are exported in the order they are entered on the dialogs, which may be different from the order in the record template. The same field may appear more than once in the list.
You can cancel an export command by typing Escape on the initial dialog or the first field selection dialog.
If export All or Found records was specified, then these records are exported, and a progress count is displayed. Otherwise you can export individual records by selecting them on the Find or Show screen and using the "Export Entry" (Psion-R) command. When all required records have been exported close the output file by using the "Finish Exporting" (Psion-Shift-R) command.
17	Importing Records
You can merge records from data or delimited text files into an Address Book database, using the "Import" (Psion-Shift-I) command. This displays a dialog enabling you to specify:
•	The file from which the records are to be imported;
•	Whether the input file is a Data or Text file;
•	(For text files) the field delimitter: Comma, Tab, or a Custom character with a specified code;
•	Whether All fields in the imported records are to be merged into the database, or just Selected fields.
If import Selected fields is specified then further dialogs are displayed to enable you to specify which fields are to be imported. The fixed labels on the left side of the dialogs correspond to the field labels in the input file (for text files or data files which do have labels defined these labels are shown as "Field 1", "Field 2", etc.). On the right hand side select the Address Book field into which you wish data from the corresponding input field to be written, or leave blank if you do not want data to be imported from a particular field. These fields are initialised to match the names of fields in the input file.
You can type Escape on any of the dialogs to abandon the import operation. Otherwise, after you type Enter on the final dialog, the records are imported into the database while a progress count is displayed. 
When the importing is completed the newly imported records are listed on the Find screen as a Found set. This then enables you to perform operations on them as a group, e.g. to mark them with a particular tag.
18	Upgrading
18.1	Converting from Address Book V3.0
No special conversion is required when upgrading from V3.0, since the file formats are identical.
18.2	Converting from Address Book V2.x
If you have a database that was created using Address Book V2.x, then you must first convert the file before you can manipulate it with Address Book V3.1, since the  formats of the associated index files are different (the formats of the main database files are identical: standard Psion data format).
Copy the file CONVADB2.OPO to \OPO on the same drive as you installed the main application. Open the database with Address Book  in the normal way. A dialog box should appear asking if you wish to convert a V2.x file. If you respond with Enter then the program will convert the index file (and create a .MAP file), and then open the file displaying entries on the Find screen as normal.
Once all your databases have been converted you can remove CONVADB2.OPO from your disk.
18.3	Converting from Address Book V1.0
It is not possible to convert directly from V1.0 to V3.1. However you can use any V2.x to convert the file initially to a form which V3.1 can convert, as above. In case of difficulty please contact the author.
19	Problems and Troubleshooting
The most likely problems to be encountered are associated with running out of memory. This is most likely when attempting to display a new screen or dialog. The program is designed to trap such occurrences and either abandon what it was trying to do or exit gracefully.
If the program should exit in an uncontrolled way, or has to killed off (because it appears to be locked up), then when it restarts it may display the message "Index file is obsolete". This is the result of a check it performs to see whether the database has been modified by another application, which would make it inconsistent with the index. If the database has not in fact been modified then it should be okay to continue.
If the program should start behaving erratically (e.g. listing entries in wrong order or missing out some entries) this may indicate corruption or inconsistency in the index file. In such cases it is best to exit, and delete the index file. Then when the database is reopened Address Book will rebuild the index.
I will be pleased to receive any queries or comments about this program. I can be contacted via:
CIX:	jdawson
Compuserve:	100415,370
E-mail:	John.W.Dawson@baesema.co.uk
'Phone:	+44 118 9666185
Snail mail:	19, St Edward's Rd.
Reading
Berkshire
RG6 1NL
England
Note that there have been problems in the past with my office mail system, so if you do not receive any response from messages sent to the above e-mail address, please try my CIX address as an alternative. Internet address is:
	jdawson@cix.compulink.co.uk
Please 'phone outside working hours if possible, and not after 11pm UK time!
20	File Formats and Compatibility
By default Address Book files are created in \ADD directories, and have extension ".ADD", as in V1.0. Unlike V1.0, V3.1 uses a standard DBF format which should be compatible with the built-in Database and other applications. Hence these other applications should be able to read files created by Address Book.
However it is not recommended that other applications are used to modify or add to files being maintained by Address Book. The reason for this is that Address Book maintains information in a separate 'index' file, which it uses to list entries alphabetically. This 'index' file must be updated in step with changes to the main database file.
If the database file is made inconsistent with the 'index' file, then it is possible to reconstruct the index, though this does take significant time. Also any links and tags which have been set up will be lost, since information about these is also held in the index file. No actual data is lost, and the links can be restored manually, i.e. using the Psion-Shift-L command.
The 'index' file has the same name as the main DBF file, but with extension ".IDX". It is normally created on the same drive as the DBF file, except where this is a flash SSD. In this case the index file is created on the internal drive. There is also a ".MAP" file created on the same drive as the 'index' file.
21	Registration
I am making this program available as Shareware. The software as distributed is fully operational. However if you find this program useful then I would ask you to send a donation (suggested £10 Sterling) to a charity I am closely involved with. Reading Steiner School Project (Registered Charity No. 297857) is developing education in the Reading area based on the work of the Austrian educationalist and philosopher Rudolf Steiner.
Please make cheques etc. payable to R.S.S.P., and send them to:
	Department ADBK
Alder Bridge School
Mill Lane
Padworth
Reading
England
RG7 4JU
Non-UK users might prefer to make a donation to a Steiner school in their home country; I can provide addresses on request.
If you provide an e-mail (preferred) or postal address with your registration then I will send you instructions on how to remove the registration request from the start-up screen.
Please do not send any technical queries etc. to the School!
Please do distribute this program freely, providing you do not make any charge (other than to cover reasonable costs of distribution) and you include these notes.
22	Future Developments
I have developed this program for my own use, so its facilities and operation very much reflect my own requirements.  And many thanks for the useful suggestions I have received from those who tried out earlier versions. 
I have now implemented all the major functionality I originally envisaged. However I am still very open to suggestions for improvements and enhancements which would make the program useful to a wider range of users.
23	Thanks
To those who have made invaluable technical information available via CIX and CIS.
Particular thanks to Tom Dolbilin for publishing details of implementing Link Paste in OPL, and to Andy Clarkson for his excellent OPP (OPL pre-processor) which has enabled me to build the program as a single module, as well as simplifying manipulation of complex data structures and calling OS services.
Thanks to Steve Litchfield for his tireless efforts distributing and promoting Psion Shareware.
To all those who paid registrations for earlier versions, and provided encouragement and ideas for future development.