2.16. Future Enhancements
This concluding section of the functional requirements presents a brief
overview of possible future enhancements to the Calendar Tool system. These
are enhancements that may be incorporated in a version of the system beyond the
initial release that meets the functional requirements defined in the preceding
sections of this document.
Here is a list of the possible enhancements, in no particular order:
-
Consider addin a feature, as in iCal, that allows the timezone to be set. Not
really sure what this does, but sounds like it might be cool. It's worth
investigating, anyway.
-
enhancments to task viewing and options:
-
a checkbox column in task lists
-
a viewing option to display tasks by completion data rather than due date; this
option applies to both structural and list views
-
a month-level viewing option that shows/hides information, in greyed style,
from previous and following months; i.e., instead of just greying out the days
of preceding and following months, show the day numbers and scheduled items for
those days as well
-
a way to change the font properties of individual items or even individual
segments of text, as displayed in different views; what I'm primarily after is
a way to highlight certain items; possible ways to do this include allowing
embedded HTML tags everywhere (i.e., in all text), allowing categories to
include font properties, or adding a whole text (sub)menu somewhere
-
a month-view option that allows days in preceding and following months to be
displayed in the greyed-out days; there could be three settings for adjacent-
month days: grey (as now); scheduled items shown in grey font and/or grey
background; scheduled items shown in normally
-
SMS text and voice interfaces
-
an alarm clock feature, in the form of temporary scheduled items that go away
after the reminder is fully dismissed; these can be scheduled in time-from-now
form or at-time form; reminder cannot be turned off, and other unnecessary
fields are absent from the add/edit dialogs
-
custom category colors via an `Edit ...' item at the bottom of the
color pulldown in the category editor; let the user choose a color with RGB
sliders and give the custom color a unique name; also let the user remove and
edit colors, with appropriate warnings about how many scheduled items will be
affected; consider adding a "warn if category color reused" option
-
fancy printing and HTML generation
-
more sophisticated undo/redo, including multiple levels of undo/redo
-
more advanced scheduling that takes location attributes into account, such as
room size and available equipment
-
addition of a scripting API, most likely Java-based; provide an initialization
file that uses the scripting language; provide interactive user access to
scripting functionality with a `Command' item at the bottom of the
`Edit' menu; allows scripts to be saved to and loaded from files
-
import/export of calendar data from and to other tools, such as Microsoft
Outlook, Apple iCal, and in webcal format
-
emacs-style checkpointing and backups
-
user-defined hot key mappings and other UI customization features
-
multiple calendar synchronization, e.g., synchronizing the calendar on a laptop
with an office computer; more than two computers should be synchronizable at
once, with the effects of synchronization summarized before they're performed;
the basic idea is to create one calendar on two or more computers with all of
the most recent updates included in the synchronized version of the calendar;
cf. Mac OS X's isync utility
-
integration of other popular calendar tool functionality, such as an address
book (more user-friendly than the current user database), an alarm-
clock/reminder facility (see above for a bit more detail on this), integration
with some standardized form of email mailbox
-
smooth integration of HTML content into dialog text fields, in particular
allowing HTML links and perhaps other types of tags in the `Details'
field of scheduling dialogs
-
smooth integration of unobtrusive and turn-off-able spell checking into dialog
text fields
-
allow saving state of open windows relative to today's date, rather than by
absolute date; see discussion of this in
Section 2.8.5
-
provide various command-line arguments for initial values that override
Settings file, including changing which settings file is read at start up
-
a new windowing mode, or related functionality, that allows two or more
calendars to be open in the same window, as is the default behavior of Apple's
iCal
-
enhance the security settings from a simple four-item pulldown to a dialog that
allows all individual fields of a scheduled item to be visible or not visible
to other users
-
add option to allow current window not to be all the way at the front; e.g.,
clicking on banner or border makes window current and fronts it, but clicking
on internal window contents only makes window current, without fronting it
-
continuous linear-scrolling month display, with as many weeks as fit vertically
in the window.
-
month and table-style week option to wrap brief item descriptors instead of
truncate; this might best be done with a "truncate-at-length" option that
defines the length at which truncation starts, with the default being "per
window size", or something like that.
Prev: installation
| Next: work-in-progress
| Up: functional
| Top: index