The shelf holds multiple contact books. The user can click on a contact book to select it, or double click one to open it.
When a contact book is opened, a separate window appears, displaying the contents of the contact book. If a name is listed with a minus ("-") sign in front of it, that name is a regular contact; if a name is listed with a plus ("+") sign in front of it, that name is an alias which may include other aliases and contacts.
Quick search buttons on the top of the contact book window allow the user to search for names starting with the character on the search botton. A find button in the middle will search through the contact book for strings containing whatever the user types in the text field besides it.
If a match is found, the contact book manager highlights the corresponding record in the list and displays contact information associated with that record in the darker data area at the bottom. Clicking on the URL or e-Mail buttons brings up the Netscape Navigator so the user can visit the URL or send e-mail to that address. The user can edit various fields and hit the Apply button to make the change.
If the record is an alias, an alias list is shown. The user can add names to the alias, remove names from the alias, or send an e-mail message to everybody in the alias.
If the user changes a name of a record or deletes a record, all the aliases that uses the record will be updated as well.
The user can use other buttons at the bottom of the window to create new contact record, new alias record, duplicate a record, or delete a record.
Some features that could be added to the contact book manager include:
The user interface needs vast improvements as well -- for example the record list is not informative at all; and how would the user move records between books, etc.
This project was meant to help me learn the Java programming language and AWT and it served its purpose well. After I figure out communication between applets, between applications/applets and databases, and some other stuff, and if resource permits, I plan to design and implement a suite of little tools to help user (including myself) do these everyday tasks more efficiently.