Temp inbox has three main components:
mailbox. The first two have visual
interfaces and the last one represents a service to interact with a remove (mail) server.
||Displays list of messages|
||Displays contents of single message|
||Gets inbox; gets and deletes individual messages; updates mailbox address|
This class diagram demonstrates the general relationship between the components:
This application has a user interface that executes in the chrome extension popup window. The popup window is easy to access but also places limitations on the maximum size of each view.
There are currently 2 main views:
inbox displays a list of received messages; this is the default view that is displayed to user.
|displays list of messages|
|displays current address|
|button to copy current address|
|button to request new address|
|button linking to more apps|
There are two possible scenarios where no list of messages will render: when mailbox is empty or when mail server is unavailable.
When mailbox is empty,
inbox view should, in the place of list of messages, render a message
stating there are no messages.
When mail server is unavailable, current address and button to request new address should be disabled or unavailable since these rely on mail server availability. In addition, message should be displayed to user to explain why connection is failing and certain features are currently unavailabile.
message displays the contents of a single message. User cannot navigate to this view directly.
Instead user must choose a message from
inbox view, which then redirects user to
|displays email contents|
|button to display images|
|button to delete message|
|arrow to navigate back to inbox|
With HTML emails any images are initially blocked until user explicitly requests for them to be shown by clicking a button. Once images are displayed, on subsequent views of the same message, the images will be rendered normally.