Application design
What features do we expect from an e-mail client? At a minimum:
Login: This helps to gain access to your own account
Inbox: This is a list of our e-mails
Sent: This is a list of e-mails we've sent in the past
Archive: This is a list of e-mails we've disposed of
Composer: This helps to write e-mails
Search: This helps to find archived e-mails
The final version of the app looks something like this:
What do we need to do to get to this point? Let's sketch out a design:
The login page is pretty standard. We'll want to validate user input, check the e-mail address, and ensure the password isn't blank, but there really isn't anything out of the ordinary here:
Here's the main interface for the application. We'll be implementing threaded e-mail; we have a list of threads on the left with an excerpt of the most recent message showing as the description of the thread. The date of the last message is shown...