Gmail todo file:
(most comments are not serious!)

Modularize major pieces so I can delgates parts out to other people - PRIORITY.

Integrate gnome-mailer backend.

Gmail crashes if there is no gnome_config file.

Cleanup autoconf stuff.....

Keyboard shortcuts would be nice.

BUG: when viewing a message use the To field in the message, not just their return addy.

Make it possible to add mailboxes using the "~" symbol for home dirs... maybe i should substitue this myself.. The gnome file entry doesn't seem to understand this when you type it in yourself... :(

Improve my code structure. 

Make the reply/replytoall/forward buttons work on a highlighted item in a clist of messages.

Would be good if the status field was used for something... need to copy the method used by elm/mutt/balsa..... 

Fix dodgy use of strings... should be using strcpy/strdup alot more. See if I can use g_string stuff from glib wherever possible.

Get rid of magic numbers, unefficient static mallocs etc. Free that memory too.
Clean up gtk stuff... did the clist stuff need to have it's own memory?

Make the messagebox parsing alot more intelligent. ie: currently it does not error checking, so unless the mailbox is perfect, it can coredump easily. eg: when there is a bounced message within a message it gets confused and core dumps.

Parsing bugs:
		- When email has no 'subject' field it coredumps.

Make gmail remember when the user changes coloumn widths, and maintain the changes for everymailbox.

Check Mail mailbox scanning. Make mailboxes bold with new mail.

Outgoing sendmail support. Shouldn't be too hard.
Outgoing SMTP.
Refresh button?

Allow offline mail sending.. ie: have an outgoing queue that gets send when we are online.. Helen would like this..

Do preferences window:
	- Username/s
	- Outgoing SMTP server?
	- Mailbox management. Add/remove etc.
	- Font chooser (implemented but change gtktext widgets so it uses this font setting)

Mailbox menu -> add mailbox.
Context menu for mailboxes:
	-Delete (with option to delete file as well)
	-Open
	-Move??
Or allow drag and drop transferring of email between boxes... also maybe allow mailbox reordering using dragndrop as well?
Ingoing POP3 (allow multiple servers, but force all pop downloads to go to /var/spool/mail/user.. that will make it easy for filters later on, and it allows us to use the cool gnome mailcheck applet).
Threading? 
Status bar? 
A nifty status bar would be good for pop3 checking. Maybe just have a pop up window with a progress bar... Eudora did this for about 3 years or so...
Design system for keep tracking of which messages are read... What do other programs do? Mark the file? Find out what eudora/others do to mark the file.
Use my own filtering? Integrate with procmail?
Addressbook support via GnomeCard/Corba whenever available.

Not Super Important, but nice to have:
A gmail panel applet, that lights up clearly when new mail is received. Or force all pop downloaded mail to /var/spool/mail/user and use the very cool mailcheck applet.
Follow all GNU coding standards. (ie: --version --help etc)
Key shortcuts to do everything in gmail. How about 1..9 keys for selecting each mailbox?
Detect for URLs and make them links using gnome-url.
Add gmail to outgoing mail headers.
When mailboxes get bigger than 500k, we really need a progressbar when processing it...
Should maybe the mailbox listing display the items as it processes them rather than after it has processed the entire mailbox? This would allow the user to immediately see the contents - would need threading to make this work properly.
Scan mailboxes in background for updates? maybe not.
Novelty stuff? ie: MOTD pulled from my web site or something.
Do something cool when mail is from someone using gmail?
When a subject line is reallly long, we want to see the first bit forward, not the last bit back. (in the reply entry widget)

Not to do:

Don't let gmail attempt anything too complex. Goal is to have a light, stable, neatly designed, fast email client. Just do the essential features really well, and forget about the rest. Email is just a means to and end.. there is better software to write...
Don't make the mailbox list heirarchical. The whole point of the mailbox list is so that you can easily see if new email has arrived in one of your boxes. With heirarchial lists you can't see inside so you lose this benefit. It's easier just to 'group' things within the flat list (test that this is possible). ie: add a <hr> to the mailbox listings to seperate groups of mailboxes.
Only have one mailbox or one message open at a time in the right pane. ie: don't leave mails around that have been opened. This just sucks in Eudora when you have to close a million things that have been opened. Only one thing is open at a time in the right pane. (how often do you really need to view two emails as the same time???)
