Graphics, Visualization, and Usability Center

Simple Contact Book Manager


This is a simple contact book manager built in the Java programming language. It actually consists of two versions: The same interface object is used in these two versions. The only difference is that some editing components do not show up in the applet version. The next section describes the editable version.

The Application

Initially when the user invokes the contact book manager, a shelf window will appear:

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.

Design and Future Work

I would not say that the design is a particularly good one. The Java AWTTM (Abstract Window Toolkit) is a nice platform-indepent GUI toolkit. However it is not a framework for building GUI applications. Although I used my own to let the GUI components communicate and collaborate with each other, I imagine a well designed framework would ease the development work much better.

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.



A binary distribution is available for people who just want to use the application and applet; and the source code distribution is available for programmers.

Home Contact Information:

College of Computing
Georgia Institute of Technology
Atlanta, Georgia 30332-0280