Jester Mail Reader Prototype

Winter Quarter 1996
Document Authors: Josh McCrary Michael White

Project Team:

Josh McCrary (Manager)
Zellyn Hunter (Architect)
Thierry Ways (Prog/Arch)
Roman Khramets (Programmer)
Michael White (Technical Writer)


Project Description of Target System

As our use of computers for work and communication becomes more pervasive, we find it increasingly difficult to achieve a consistency that is not affected by geography. At work, we tend to become familiar with one computer and its own specific operating system, programs, file structure and interface. However, once we're at home, we use a different computer, with a completely different environment; and we have to change our habits. When we're travelling away from both work and home, we may encounter even more unfamiliar systems. The purpose of our project is to provide an essential service, reading mail, completely independent of location. The target user population for this program is anyone with access to a Java-enabled web browser and an IMAP-compatible email account.

We hope to accomplish this by providing a fully functional mail reader that can be used almost anywhere, on a variety of systems. Written in Java, the mail reader will reside inside a page on the World Wide Web. All that will be needed to use this reader will be a Java-enabled browser and access to the Web.

To provide the remote functionality that such a mail reader needs, we will use the IMAP mail protocol, which allows remote mailboxes to be manipulated as easily as local ones. The IMAP protocol also supports multiple folders, so that related mail can be organized.

In keeping with the rest of the web, we would also like the program to support multi-media email messages, so that it will not be confined to text alone. To this end, we intend to add MIME support, so that a single email message can contain several sections, each of a different type.

Eventually, we would like to see all of the tools we use every day re-written so that they can be used in a uniform manner, independent of geographic location. Our mail reader will be a step in that direction, providing one of the simpler, but also most important, of these services.


Installation manual

The installation for our system is very simple, although there are a few prerequisites. First of all, the user needs an account on rossem.cc.gatech.edu. Also, the user needs to have Netscape 2.0 available on their system. Once these conditions are met, the user may then enter the URL, http://www-int.cc.gatech.edu/classes/CS3302.winter.96/jestre/Jestre/Jestre.html, which will automatically load up the Jestre applet.

There will be a link to the source code from the above URL. To get the code, the user will need to click on the link and then click on the specific filenames.


User guide

Start-up and Logging in

Using the Jestre Mail Reader is very simple. Once the applet is loaded, it will ask for your username and password. Once your login has been verified, the applet will bring up any new mail.

The Display

The display consists of two main windows. The window on the left contains a group of buttons on top of a list of mailboxes (textual). The buttons, in order from top to bottom, read: Create, Delete, Rename and Search. The individual functions of these buttons will be described later.

The second, or Main Message window, contains the list of messages in the currently selected mailbox. The time stamps and subjects of the messages are displayed in this list. Numbers at the bottom of the window display both the total number of messages in the box as well as the number of messages currently selected.

Using the Mailbox List and the Folder Usage Buttons

The messages displayed in the main window can be changed by simply single-clicking on the mailbox you wish to view. Any message list in the main window will be replaced by a list of the messages in the new mailbox.

The Create button makes a new folder and adds the new entry to the mailbox list.

The Delete button deletes the currently selected mailbox.

The Rename button allows you to rename the currently selected mailbox.

The Search button searches the mailboxes for a certain string. You will be prompted for both the string to search for and whether to search all of the mailboxes or just the currently selected one. Any messages containing the string will appear in a new, selected mailbox.

Using the Main Message Window

Clicking on a message in the main message window brings up another window. This window sports a box in the upper left hand corner that contains the name of the mailbox the message is in, the subject of the message, the sender, the cc field and the time stamp.

The upper right hand side of the message window has two buttons, "reply sender" and "reply group". The "reply sender" button replies to the sender of the message only, and the "reply group" button replies to everyone who received the message as well.

The message window itself accomodates MIME messages, allowing you to display the text of the message, hear any sound included in the message and display any accompanying graphics.

Quitting Jestre

Once you leave the page, Jestre moves every message that you viewed into the received mailbox.


Guide to the source code

All the files that the applet needs are located in the jestre directory.

Jestre.java is the main file. It creates all the objects and establishes all the connections between the objects. It also establishes the knowledge connections for the objects, making them aware of each other.

ErrHandler.java overides the standard error messages and replaces them with more informative messages.

MBoxCollection.java maintains a collection of SVMBoxes and coordinates views.

MBoxCollectionView.java is a view on an MBoxCollection that displays a list of MailBoxes.

SVMBoxView.java is a view on a SVMBox.

SVMBox.java is created by MBoxCollection, mantains a collection of Mesg's and controls the MBoxView.

MsgView.java gets the message number and breaks it down into its individual MIME parts.

Link to further object info
Note:The filenames correspond to the objects they describe.


Link to the Jestre Mail Reader




Previous Revision
Link to Jestre Project Notebook
Last Modified 2/22/96 -- Michael White