2.1. User Interface Overview

There are two separate user interfaces for the Calendar Tool system, provided by two separate application programs. The primary interface is for regular users to browse and edit their calendars. This regular-user interface is provided by the program referred to as the "Calendar Tool".

A separate interface is provided for administrative users to maintain Calendar Tool databases and perform other administrative functions. This interface is provided by the program referred to as "Calendar Tool Administration".

2.1.1. Regular User Interface

When a user initially invokes the Calendar Tool, the screen appears as shown in Figure 1.


Figure 1: Initial screen for a regular user.



The initial display consists of two windows: a command menubar and a monthly calendar view. The name of the current calendar is displayed in the banner of the menubar, the initial default being a new unnamed calendar. In the monthly display, the entry for the current date is highlighted with a widened border. The monthly display is the standard default view. The user can change this and other default settings using the option commands.

Figure 2 shows an expansion of the command menus for the regular user interface.


Figure 2: Expanded command menus for the regular user interface.



The File menu contains typical commands for manipulating data files and performing other system-level functions. `File New' creates a new empty calendar. `File Open' opens an existing calendar from a previously saved file. `File Close' closes the currently active calendar, offering to save if it has been modified since opening. `File Close All' closes all open calendars, offering to save any that have been modified.

`File Save' saves the currently active calendar on the file from which it was opened, or on a new file if it was created from a new display. `File Save As' allows the current calendar to be saved on a different file from which it was opened or most recently saved upon. `File Save All' saves all currently open calendars.

The `Load Settings' and `Save Settings' commands allow the user to load and save various settings used in the Calendar Tool. There are calendar-specific settings that are individualized for each calendar, and session-wide settings that are common to all calendars.

`Page Setup' allows the user to set printing parameters for particular operating environments. `File Print' prints the contents of one or more active display windows, per the page setup parameters. `File Exit' exits the Calendar Tool, offering to save any modified calendars if necessary.

The Edit menu contains commands for manipulating calendar data during editing. `Edit Undo' undoes the most recently completed undoable command. `Edit Redo' redoes the most recently undone command. There is only a single level of undo/redo, i.e., undo cannot be executed multiple times in succession to undo a series of commands.

`Edit Cut' removes and copies the currently selected datum in the current display. `Edit Copy' copies the currently selected datum without removing it. `Edit Paste' inserts the most recently cut or copied datum at the currently selected edit point in the current display. `Edit Delete' removes the currently selected datum without copying it. `Edit Select All' selects all editable data in the current display.

`Edit Find' performs a search for a text string. The search is performed in all open calendars. Successive invocations of search with an unchanged search string search for further occurrences of the string until all occurrences are found.

The Schedule menu contains commands to schedule four types of item on a calendar. An Appointment is an item scheduled for an individual user, containing a title, time, date, and other information. A Meeting is similar to an appointment, but may be scheduled for multiple users of the Calendar Tool. A Task is a form of "to do" item, with information similar to an appointment plus other task-related information. An Event is the simplest form of scheduled item, containing a subset of the information in an appointment. Events are useful for scheduling simple, one-time items.

`Schedule Categories' allows the user to view and edit the categories of scheduled items. A category is a descriptive, color-coded label used to help organize calendar items.

The View menu allows the user to browse through a calendar in a variety of ways. `View Item' displays the scheduling details for a selected scheduled item. `View Day' displays details of the currently selected calendar day. `View Week' displays the seven-day week in which the currently selected day appears, with less detail than the daily display. Weeks can be displayed in tabular or list format. 'View Month' displays a large-grain view of the current month. `View Year' displays a very large-grain view of the current year. Each of these view commands can display its results in a separate window. With this feature, the user can create side-by-side displays to view any number of consecutive days, weeks, months, or years.

`View Next' and `View Previous' move forward and backward in the current display, based on the display granularity, i.e., item, day, week, month, or year. `View Today' changes the current display to contain today's date. `View Goto Date' displays a dialog for choosing a specific date to become the current date in the active display.

`View Lists' displays lists of currently scheduled items of the four schedule types -- Appointments, Meetings, Tasks, and Events, or of all item types together. Custom lists can also be created, showing selected items only. `View Filter' allows the user to hide selected information from calendar displays. Any or all of the four types of scheduled items can be selectively hidden. The user can also construct custom viewing filters, based on a wide range of filtering criteria. Custom filters apply to both calendar and list views uniformly.

`View Other User' allows the current user to view the publicly-visible portions of other users' or groups' calendars. Each individual user controls the visibility of scheduled items that other users may see.

`View Windows' allows the user to select for viewing from all active display windows. The `Close' command in the `View Windows' menu closes the current display window by removing it from the screen.

The `Windowing Mode' submenu provides three settings for the Calendar Tool windowing mode. In `Two-Window' mode, all views are shown in just two windows, one for calendars and the other for lists. In the default `Per-Level' mode, each level of the calendar, from individual item through full year, is shown in a separate level-specific window; each type of list is also shown in a separate window. In `Multi-Window' mode, the result of each and every view command is shown in a separate window, even for commands at the same level or the same type of list. Multi-window mode allows the user to create side-by-side displays of adjacent calendar periods.

The View Windows Magnetize command controls the "magnetic" property of display windows. When a window is magnetized, it "sticks to" an adjacent window when dragged next to it.

`View Calendars' lists the names of all currently open calendars. The user selects from the list to make a calendar current.

The Admin menu contains commands to connect to and access Calendar Tool central host computers. `Admin Connect' allows the user to establish central host connections. The three commands below Connect provide access to central-host databases -- users, groups, and locations; regular users have read-only access to the databases. The User database contains a record for each officially registered user of the Calendar Tool on a host. The Group database defines user groups, primarily for meeting scheduling purposes. The Location database defines rooms and other venues in which meetings can be held.

The user invokes the `Admin Password' command to change the password on the currently-connected central host computer. `Contact Admin' allows the user to communicate, via electronic mail, with a Calendar Tool administrator for any known central host.

The `Options' menu has commands for setting various system options. Calendar-specific options are organized in five major areas: `Times and Dates', `Fonts', `Scheduling', `Viewing', and `Administrative'. There are also `Global' options that apply to an entire Calendar Tool session, across all calendars. The `Restore Defaults' command resets all option settings to their built-in values as of when the Calendar Tool was initially installed.

The Help menu contains commands for viewing documentation of the Calendar Tool. `Help About' displays a brief description of the tool, including information about the tool developers and how they can be contacted. `Show Quick Help' activates brief help messages that appear when the user moves the mouse over various areas of the display screen. `Detailed Help' displays an online version of the complete Calendar Tool users manual.

2.1.2. Administrative User Interface

When an administrative user initially invokes the Calendar Tool Administration program and enters a valid administrator password, the system displays the interface shown in Figure 3.


Figure 3: Initial screen for system administrator.



The initial display consists of a command menu and a window for the Calendar Tool user database. The menubar banner contains the name of the Calendar Tool central host computer on which the administration program is running. The database dialog lists the names and IDs of registered Calendar Tool users. The user database has no pre-defined entries. There are commands to search for a user, add a new user, view the details of an existing user record, and cancel the user database dialog.

Figure 4 shows an expansion of the command menus for the Calendar Tool Administration program.


Figure 4: Expanded command menus for the administrative interface.



The `File' menu has a reduced set of commands, since databases and other administrative data are stored in specific files in a fixed location. The `File Save' command saves all data changes performed by the administrative user. `File Save Copy' saves a backup copy of administrative data in a selected file directory.

`Page Setup' allows the administrator to set printing parameters for particular operating environments. `File Print' prints the contents of one or more active display windows, per the page setup parameters. `File Exit' exits Calendar Tool Administration, offering to save if necessary.

The `Edit Menu' in the administrative interface is a proper subset of that in the regular user interface. The edit commands that are present have the same functionality as in the regular interface, adapted as appropriate for administrative data.

The `Admin' menu provides access to the three databases. Administrative users can add, change, and delete database information. The `Host Status' command allows the administrator to view and edit information about the Calendar Tool central host computer. The `Password' command is used to set the administrative access password. `Email Address' is used to set the email address through which regular users contact an administrator.

`Notify Users ...' provides the means to send a message to some or all Calendar Tool users.

The `Options' menu has a subset of the commands available in the regular-user options menu. The `Times and Dates' and `Fonts' options are the same as for the regular user. The `Administrative' options are particular to the administrative user. `Restore Defaults' serves the same purpose as in the regular-user interface.

The `Help' functionality is same as for regular users. Help content is modified accordingly to describe the commands that are particular to administrative users.

2.1.3. General Features of the User Interface

Overall, the Calendar Tool user interface has the following general features:

  1. It is presented in a form independent of any particular computer operating system or platform.

  2. The layout style of the interface is generally in separate independent windows, rather than one or a few windows with tiled or stacked information.

  3. Unless explicitly stated to the contrary, all interface dialogs are "non- modal", meaning that dialogs do not disable other components of the overall interface. When a non-modal dialog is running, the user may leave that dialog, perform any other interface commands, and then return to the dialog at some future point.

  4. The interface is presented in a plain and simple style, that focuses on functionality without extraneous aesthetic detail.
Further details of the interface presentation conventions are covered in the GUI conventions document used in the undergraduate and graduate software engineering courses taught by Gene Fisher at Cal Poly university.

2.1.4. Screen Map

In the online version of this document, click here to view a hierarchical map of user interface screens for regular users. Click on any thumbnail in the screen map to view the full-size version of the screen, in the context of its initial appearance in the requirements.

Due to its large size, the screen map is not available in the printed version of this document.




Prev: [none] | Next: appt-scheduling | Up: functional | Top: index