                   	XAB Release 1.0
                  	***************

XAB is a X11-based address book. You can use it to store names. addresses, 
telephone numbers, E-mail address (or any other information) of friends,
relatives, co-workers, business contacts, etc. The information can be 
organized into "folders". Each folder may contain a number of "sub-folders" 
and/or "cards". A card is where you store the information mentioned above. In
a way the address book is organized in a manner very similar to the UNIX  
directory structure  where the folders can be compared to directories and 
cards can be compared to files in a directory. You can have sub-folders just 
like you can have sub-directories. For example, you can organize the address 
book as follows:

/(Top Folder) ------- Friends(Folder)                      |- Uncle Sam(Card)
                 |                      |- Uncles(Folder)--|
                 |--- Family(Folder)----|                  |- Uncle Tom(Card)
                 |                      |- Aunts(Folder)
                 |
                 |--- Business Contacts(Folder)

The main XAB window consists of two areas - the top-level menu and the address
book browser. The browser displays the content of the "current folder" 
(sub-folders and cards) in a manner very similar to the way many popular file 
managers display the directory structure. 
You can create (and delete) folders and cards from the top-level menu. 
You can move from one folder to a sub-folder  by clicking on a folder that is 
displayed in the browser area. You can view/edit a card by clicking on a card 
that is displayed in the browser area. It is really very easy.

The folders and cards created by you are saved in a file. When you start XAB,
the browser displays an icon with label "No files selected". You need to go
to the File menu and open the file by clicking on the sub-menu "Open file". If
you want to create a new file (first time), just enter the name of the file you
want to create on the "selection" box. After the file is opened, the browser
area will display the content of the top-level folder (/). To create a folder,
use the folder menu item "create folder". To create a sub-folder, go to the
folder and select "create folder" from the top-level menu. To move to one level
up, click on the folder icon displayed with the name of the parent folder. 
You can delete a card or a folder from by selecting "delete folder"
or "delete card" item from the top-level menu. One word of caution here, the
delete items do not display a warning message like "Are you sure ?", so be 
careful (I will implement all that in the next version). Another word of 
caution, a folder can be deleted even when when it is not empty.

To view a card, click on the card icon displayed on the browser area. A pop-up
window will display the content of the card. You can make necessary changes
to what is displayed and to save the changes, click on the save button. You
can clear the entire content by clicking on the Clear All button. You can
select a portion or all of the Information field by dragging the pointer
over the area you want to select which depressing the right button. If you
want to copy the selected text into a buffer, click on the copy button. You
can paste this buffer anytime you want, on any card, by clicking on the
paste button. To print a card, click on the Print... button. It displays
the default printer command (%s denotes the temporary file name where the
content of the card is copied to). To save it to a file, use the printer
command "cat %s >> filename". 

From the File menu, you can "merge" two files. Now, of what use is this ? Let
me give an example. Suppose you have generated a file with information on your
friends and relatives and your wife has generated a similar file with her
own information. Now you decided to have a joint Unix account. What you can do
is to create a new file and create two sub-folders "Amit's friends" and 
"Vidya's friends". Go to the first folder and use the merge menu item to merge
the file which you created earlier and then go the latter folder and merge the
file created by your wife. Maybe, this is a bad example, a better one (or 
worse) may be a sales manager who decides to create a "master contact file" by
merging all the files generated by the sales reps.

Now, what does the file menu-item "Clean File" do ? When you delete a card or
a folder, it is actually not deleted from the file. Its reference is removed
from its parent's list of children so that the parent does not know of
the deleted folder/card. In theory, it can be undeleted. Don't ask me how. I
will implement it in the next release. Anyway, what the "clean file" does is 
that it when you click on it, it removes the deleted folders/cards from the 
disk, saving you some valuable disk space. Before cleaning up, it saves the
"uncleaned" file by renaming it <filename>.bak where filename is the name of 
the file created by you.

You can use the file menu item "Search..." to search for a pattern. The 
search begins on the current folder and the search is also conducted in all
the sub-folders under the folder. For example, to get a list of people in
the "OFFICE" folder who lives in Durham, search for the word "Durham", and
you will get a list of them. You can select one card from the list and view 
it. The search is case-insensitive.

Thats about it on how to use it. An important limitation that I think you 
should know about - the maximum number of children a folder may have is 100.
If you think that is not sufficient, you can increase that by modifying the
#define MAX_NAMES from 100 to any number you want. Making it too big will
increase the size of each records and thus increasing the size of the file. You
have to re-compile and re-link the program, of course.


Current & Future Releases
-------------------------
I have got lots of plans but don't have a lot of time. I wrote this in the 
evening hours at home while trying to learn X-toolkit programming.
But I will release another version which will be much better not only in terms
of the interface but also I will add in functions like "dialer", 
"undelete", etc. (suggestions are welcome). Please feel free to send me your
feedback and distribute to anyone who wants it. I will try to fix any bugs/
design defects but there is no warranty for this software. And please feel free
to distribute it to anyone who wants it.

Sample File
-----------
I have enclosed a sample file called "sample.card" with the distribution. You
can open it to understand how it works or you may copy it as .xab in your 
home directory.

Amit Chatterjee
(asav@ix.netcom.com)
