Download the Microsoft Word version of the NovaMail description here.
This FireFox extension informs users, who have the web browser open, when they receive a Villanova E-Mail. This allows for users to avoid the tedious task of checking their Villanova web mail. The intended user is a Villanova Student/Faculty/Staff with a Villanova e-mail account and the Mozilla FireFox web browser. Using this extension helps save time because users will not have to continually log in and check their e-mail. This also improves users’ efficiency in responding to potentially important e-mail messages with greater speed.
The image below is a prototype of what the NovaMail toolbar will look like when installed as a Mozilla FireFox extension. It is easily accessible from the FireFox toolbar location without interrupting the user’s ability to browses the web. On the moveable toolbar there will be a label marked by a Villanova “V” which displays the current number of unread messages as well as the total messages in the user’s Inbox. Next to this label there is a button that connects the user to their mail so that when a new message has arrived, the browser can be directed to the inbox. In the Mozilla FireFox add-ons menu, the NovaMail displays a short description of the extension, as well as an options button. From here, users can configure accounts as well as details such as sound, display, and notification options.
Click to enlarge.
Our NovaMail extension comes with a plethora of features that enhance convenience for the user; as well as features that help the user customize the extension as they see fit. The keystone feature is an instant-access button located on the browser’s toolbar. When clicked, this button instantly brings the logged-in user to his or her Villanova e-mail inbox page which is displayed in a new tab or a new window as per user preference. If the user is not logged in, the button displays a login prompt.
One convenient feature is the password saver. When enabled, the password saver keeps the user logged in, even if the browser is closed. The users can manually logout at any point which deactivates the password saver.
Another group of important features includes notifications and their various customizations. NovaMail includes a sound notification which can be enabled or disabled. The user also has a choice of sounds to be played when a new message arrives in his or her inbox. An inbox status indicator showing the number of messages in the inbox is located next to the instant-access button on the toolbar just below where the URL is typically displayed in the browser. A pop-up notification is located in the lower right-hand corner. The button and status indicator will be drag-able, so user will be able to change the location of the button and indicator on the FireFox toolbar. The pop-up notification displays more detailed information about new mail as it is received such as sender, subject, date, and attachment data. The user will be able to click on the pop-up to instantly access the e-mail he or she is being notified about. All notifications can be disabled and enabled at any time via a master options menu which controls all features.
The extension will be implemented in XUL (XML User Interface Language), which is used for all Mozilla extensions. XML is a combination of XML and javascript that provides for easy implementation of graphical objects. The graphical components of the extension are written with XUL, and the actual functionality is written in javascript. In order to get the information about the user’s email the extension must first contact the Villanova webmail server to grab the data. Javascript does not support any network communication besides HTTP. This rules out using SMTP to contact the Villanova web server, because we do not want to have to write a server back end that requests the data. Our only option is to use HTTP requests to contact Villanova’s webmail server. This is simply done by sending an HTTP POST packet containing the logon information to the Villanova authentication server. The server will respond with a success packet that contains Cookie data. Next we send a GET packet of the Villanova webmail page with the Cookie data within it, so that the server associates that packet with the previous POST packet. We then parse the return data and place it in the extension.
Click to enlarge.
Basic Functionality – Create a working extension that installs correctly with a low amount of features. Will have email status on the toolbar and “Check Mail” button.
Bug Fixing – We will ensure that all basic functionality is available before moving onto more advanced features.
Advanced Functionality – When basic functionality is robust and working, we will incorporate more viewing options, timing options and other advanced functionality.
Final Testing and Release – Evaluate and debug all advance functionality and package software for release.