| Sponsor | Colleen Kehoe & Ian Smith colleen@cc.gatech.edu, iansmith@cc.gatech.edu 260A CoC |
| Area | Personal information management |
Problem
If you don't already get alot of email, you soon will. Some of the information you receive in email is useful now (or will be in the future) and some is not. The problem is that it's almost impossible to decide in advance what category each message falls into. Many people spend time organizing or weeding out their email so that they can find easily later. We have a different approach: save everything and make it searchable. By doing this you save yourself the time of trying to decide what to save and where to save it. It also allows your email to function as a personal information archive -- when you find something useful mail it to yourself and it gets added to the archive.
Once you start saving 6000-8000 email messages a year, flat ascii storage and searching with grep doesn't quite cut it. We're interested in putting a real database behind our email storage to allow more efficient and more sophisticated queries.For this project you will first have to create a database. (Ian and Colleen will tell you who to contact about doing this.) Then write a program in Java (v.1.1) that uses the JDBC (Java database connectivity) libraries and the NDC (non-dairy creamer) libraries written by Ian Smith that allows a Java program to talk to an IMAP mail server. Your program should periodically connect to the IMAP server, request new messages (using NDC) and add these new message to the database (using SQL commands sent to the database with JDBC). Some experience with Java is strongly recommended and some experience with SQL or email systems is helpful.
This system will form the base for a set of applications for personal information management. For example, a project that builds on this one might be to write a simple (web-based?) interface for querying the database. If it is done well, it may be useful to make your program available on the net for others to use.
(In mSQL, the `m'stands for `mini'. It is a simplified and free version of an SQL database.)
Background
Deliverables
Evaluation
Evaluation will be based on the clairty and completeness of the code
and documentation submitted. Please see Colleen and Ian before beginning
this project!