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:

  1. 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.
  2. enhancments to task viewing and options:
    1. a checkbox column in task lists
    2. a viewing option to display tasks by completion data rather than due date; this option applies to both structural and list views
  3. 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
  4. 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
  5. 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
  6. SMS text and voice interfaces
  7. 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
  8. 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
  9. fancy printing and HTML generation
  10. more sophisticated undo/redo, including multiple levels of undo/redo
  11. more advanced scheduling that takes location attributes into account, such as room size and available equipment
  12. 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
  13. import/export of calendar data from and to other tools, such as Microsoft Outlook, Apple iCal, and in webcal format
  14. emacs-style checkpointing and backups
  15. user-defined hot key mappings and other UI customization features
  16. 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
  17. 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
  18. 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
  19. smooth integration of unobtrusive and turn-off-able spell checking into dialog text fields
  20. 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
  21. provide various command-line arguments for initial values that override Settings file, including changing which settings file is read at start up
  22. 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
  23. 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
  24. 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
  25. continuous linear-scrolling month display, with as many weeks as fit vertically in the window.
  26. 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