2.13. Graphical User Interface Details

DON'T FORGET TO LOOK AT THE ROLODEX EXAMPLE FOR POTENTIALLY USEFUL TEXT. Also, discuss that some operating environments may have style guidelines for what appears in the Calendar Tool Options menu, and say that implementors may follow such guidelines, as long as the fundamental content of the options is maintained. Enumerate exactly what "fundamental content" means, in a way similar to how it's done for help content in the Rolodex example.

2.13.1. Screen Coordinates

2.13.2. Enabled and Disabled GUI States

All menu items in the initial overviews of Figures 2 and 4 are shown enabled for clarity in the figure. The precise enabled/disabled state of menu items is summarized in Table 19.



Menu Item When Enabled and Disabled
File:
  

Table 19: Summary of enabled/disabled states for all menu items..



2.13.3. Remembering Previously-Entered Values

Where the user has no explicit control over this, e.g., in the admin dialogs, the dialogs hold the information most recently entered by the use. This history extends during the execution of the Calendar Tool, but not between executions.

2.13.4. 28jun01 Note

May be OK to relax dialog history requirements if a particular GUI environment does things consistently differently. Give some examples, of e.g. Java versus how things are defined here.

2.13.5. View Command Display Details

2.13.5.1. List and Text Area Scrolling

All lists and multi-line texts area can be scrolled fully down, such that the last line of the displayed contents appears at the top of the display, with empty space appearing below the last line in the display. It is worth noting that this scrolling behavior is contrary to the behavior of many common software systems, where the downward scrolling of lists and text areas is restricted to require that a full page, or that portion of the complete contents that is less than a page, remains in the display when downward scrolling reaches its farthest downward point.

2.13.5.2. Day View Scrolling

The three components of a day view are separately scrolled. [Show an example of this, e.g., with lots of events, tasks, and some out-of-normal-range items. Also reiterate that hiding non-normal times never hides scheduled items, with scrolling invoked as necessary if there are some odd-ball things scheduled at non-normal hours.

2.13.5.3. Window Sizes

Need to deal with the (new) fact that there are two font sizes -- item and other. Also need to explain that the rules for scheduled-item display sizes are based on some kind of "whatever fits" rule. Finally, as noted below, need to say that font change does not fully resize a window, including even the funky case where labels don't fit any more (maybe). The tricky deal is with things like month and year views, where the font-change rules are not necessarily crystal clear. Unfortunately, we probably have to go through most of the different display types and specify reasonable font-change rules for all.

The default initial size of the view displays is based on the size of the currently selected display font. In specifying display size, the following standard units of typographic measure are used:

Unit Meaning
p one printer's point = 1/72 inch
S user-selected font size in points; default font is 12-point courier
V vertical height of text line, including vertical spacing = 1.2 x S
em width of a representative "m" character = 6 x S

Based on these units, Table 20 defines the default size for each of the view- level display windows.

View Level Dimensions
item 60em wide by 34V high
day time column is W+4em wide, where W is the width in characters of widest displayed time; title column is 64em wide; total height is TIem x Rem, where TI is the current setting of the time increment option and R is the total number of displayed rows based on the current settings of the normal time range and show/hide 24 hours options
week each day column is 10em wide; total width is N columns, where N is the number of days based on the current setting of the normal day range option; total height is 24V
month each day cell is 10em square; total width is 7 cells; total height in cells is based on the number of days in a month
year 72em wide; total height is 14V + W1V + W1V + W1V + W1V, where each Wi is number of weeks in the month with the most weeks for each of the four quarters of the year.

In all displays, border lines are 1p and the spelled-out date title at the top is 1V high.

The user may change the default font family and size in the preference setting dialog.

In general, all views scale evenly when the display window is resized, but font size does not change. There is no maximum window size, other than that dictated by the physical limits of a particular display screen. The minimum window size is generally based on the size of the currently selected text font. Specific details of resizing windows follow.

Display features for the day view:

The precise default format of an item listing is as follows:

  1. The item begins with the starting and ending times, separated by a dash.
  2. If the starting and ending times are both in the AM or PM, then the numeric time values are separated by a dash with no surrounding spaces, and the pair is followed by one space and then "AM" or "PM" designation.
  3. If the starting time is in the

Talk about how font size changes affect resizing, keeping it minimal. In particular, the height and width of the scheduled-item guts of view windows should not change, but the internal height of things like the title date need to change. Include talk about how text is filled horizontally as much as possible in the guts of displays.

2.13.5.4. Details of Horizontal Overlap Display

The example to address here is when in the context of Figure 17 the user adds appointments at the following times: 3-4PM, 2:45-3:15PM, 3:15-3:45PM.

Here's the rule that I think works, which may be easier to explain if we think some more about it. For any day, create sets of items with any overlap whatsoever. Sort those items by the normal criteria, vis a vis earliest start time, shortest duration, alphabetically earliest title. Within this list, move all items over as far as possible to the left, as long as the no two items in the same column overlap and the sorting criteria continue to be met. It appears what we're doing is maximally filling each column, i.e., not leaving any space blank in a column if a none overlapping item will fit there. If tow or more items will fit in a give space, then the one chosen is the one earliest in the sorting order, with the unchosen one relegated somewhere to the right, in the (recursively) correct position. "Recursively correct" means in the leftmost column where it will fit such that all criteria are met.

2.13.6. Window Positioning for Next/Previous Commands

At the day through year levels, the window position stays fixed at the top. At the item level, the window position stays fixed at the bottom. OK, the spelling out in the last sentence made me realize that its pretty bogus and non-orthogonal. So, we'll change the item-level display to have the time and data at the top.

2.13.7. Apple Macintosh Menu Conventions

If Macintosh implementors want to adhere to the non-floating menubar convention, then the current filename display will be missing. This is acceptable, since the user can determine current file using the `View Calendars' command.




Prev: error-conditions | Next: multi-user-envir | Up: functional | Top: index