DATEBK3 - An Enhanced version of the Datebook Application

Datebk3 consists of two PRC files: Datebk3.prc and WeekView.Prc. These two files can be run separately, although they are designed to work together. Note that these two files take a SUBSTANTIAL amount of memory: approximately 77k for Datebk3 and 44k for WeekView - 121k in all. Make sure you have enough memory to load these applications. Remember that memory fragmentation problems in the Palm OS may prevent you from loading them even though it APPEARS that there is enough free memory (See for example, http://www.deskfree.com/Recycle.html for a defragger utility).

Datebk3 is shareware and has a 45 day evaluation period. All functionality is available during that period. At the termination of that 45-day period, a few of the Datebk3 enhancements are suspended. Those users with little memory may wish to forgo the Datebk3 enhancements and just run and register WeekView by itself.

The WeekView portion of Datebk3 was released several months ago as a separate application. Read the Week3doc.txt file for details on the functionality available in that view.

I expect that on the release of this program, I will be inundated with suggestions for improvements and other enhancements. Please do NOT send a suggestion about incorporating Todo's, or implementing categories - these are both under review and analysis at this time. The FUTURES section below covers other enhancements that are being studied. You might want to read that before sending an email regarding proposed enhancements.

Datebk3 Features
==================

  Runs on both V-2 and V-1 PalmPilots and implements all the V-2 Datebook features (monthly view, drag and drop in graphical Weekly view, time bars, timeline compression, etc.) that are compatible with the V-1 Palm OS.

  Includes Pimlico's alternate WeekView with text as a 4th view - launches weekview with the date selected in Datebook.

  Includes the "Date Picker" dialog to set the purge date, so any date can be chosen for purging old records (the opening default is the last day of the month preceding the prior month). All records preceding and occurring on that date will then be purged.

  Adds the ability to specify appointment start and end to the nearest minute, not just 5-minute intervals. Eliminates the need to scroll to select an hour as all 24 hours are displayed in the dialog.

  Appointments can be marked as having a floating date - their date will be advanced to today if today is greater than the most recently scheduled/set date. This is especially useful for a task which needs to be re-scheduled day by day until completed. Floating items are displayed as a round bullet in right margin (bullet only displayed under V-2 OS at the present time).

  Appointments can be marked as having a DONE status in which case a checkmark appears in the right-margin (Checkmark only displayed under V-2 OS at the present time). An option is anticipated in the future to allow checked-off entries to be supressed from the display.

  Adds an option to round durations to the next hour, so the default duration merges with the next hourly time interval (thereby not wasting one slot in the agenda display when, as is often the case, the duration is not really relevant).

  When specifying the time for an appointment, if the end time is explicitly set, then adjusting the start time will NOT adjust the end time (End time is only adjusted if it has not been touched by the user).

  In the Monthly view, each appointment hour from 6am to 6pm displays as a small bar so you get a much better visual indication of what hours of the day are taken. Small bars on the left are for am Appts, and dots on the right are for pm appointments. Any appointment before 6am will always cause the 6-7am slot to show a bar, and any appointment after 6pm (18:00) will always cause the 5-6pm (17:00-18:00) slot to show a bar.

  Week and Month Views display two letters for the day of the week and the weekly view now takes the name of the day of the week from the System Resource rather than an internal resource (Standard Datebook application does that for the Monthly View but not the Weekly View - a bug?).

  Startup screen can either be the Daily screen or the Graphical Weekly Screen (the other two screens can be set as a default by running the WeekView application first and selecting one of those screens as a default).

  The database format is 100% compatible with the built-in datebook application. If an entry is edited with the standard datebook application, the checked and floating status will be lost, but nothing else will be affected.

===================== THE NEW, 2nd WEEKLY VIEW =========================

   In the Weekly view, the title line shows the month and year of the week being displayed followed by the week number (see preference item)
   To move forwards and backwards, use the UP and DOWN buttons on the PalmPilot or click on the Left or Right arrows in the title line. When displaying two weeks at a time, the buttons will move two weeks in either direction, but the arrows will only move one week (that way you can display two weeks starting with any week).

   To jump quickly to a specific date, click on the GO button on the title bar and the standard PalmPilot Date Picker dialog will appear.

   To jump quickly to a specific week, select the Goto Week Number item in the OPTIONS menu (or stroke Command/W in the graffiti area) and then press the button corresponding to the week you want to go to. In the Week Number dialog, the current week number is in bold, and the currently displayed week has a bold border around it.

   To jump to today's date, you can either stroke the letter 't' (or 'T') or a period ('.') on the graffiti area. The period is convenient because it is just a double tap (easy to do even with a finger). On V-2 PalmPilots, if the Datebook button is "overloaded" to launch WeekView instead, you can press that button while WeekView is running to go to today's date.

   If you have Datebk3 installed, you can go directly to the graphical weekly view by stroking the letter 'g' in the graffiti area.

   To jump forwards or backwards by a number of days, select the GO FWDS/BKWDS BY DAY option in the OPTIONS menu. A dialog appears where you can type in a number of days (use a minus sign to go backwards). For example, you can easily move to a week that is 125 days before the current week by typing in -125.

   The three buttons on the title bar indicate whether you want to display 1 or 2 weeks at a time or display the monthly view.

   Today's cell will have the first appointment set in bold type. If there are no appointments for today's date, the legend "Today" will appear in a box in the middle of the cell.

   If there is only one appointment on the day, there is a preference option to wordwrap the text to the cell to show as much text as possible (normally this preference is checked). If there are too many appointments to display in the cell, the last appointment will end with a round bullet as a signal that there are more appointments.

   To view all the appointments for a day (up to 16), just click anywhere on the cell for that day to bring up the DETAILS view.

   To display the week number and number of weeks from the current week, just tap the date in the title line. The display will toggle between showing the Month and Year and the week number. by default, the week number displayed matches the week number displayed in the Datebook application (but this can be changed with a preference item - see Preferences). The Pilot appears to adhere to the ISO specification for Week Numbers (the first week of the year is the first week in which there are four or more days of that year in that first week). This may not necessarily match your usage of week Numbers (for example, the Psion series PDA's use a different algorithm and their week numbers differ by 1 throughout 1998).  Note that the initial setting for the title can be set as a preference item. You may wish to use week numbers that match your fiscal year, etc.

   To jump to a day in the datebook application, click on the inverted date in that day cell (i.e. that has the day of week and day of month displayed in white on black). If there is only one appointment on that day, the cursor will be placed in that appointment (provided it is not a repeat appointment), otherwise, the cursor will be placed in the first hour of that day.

   DETAILS VIEW

   To return to the WEEKLY view, just click below the last appointment line or the Done button. In the one case where there are 16 or more appointments you will have to click on the Done button.

   If the current item has a note, the note symbol will appear at the end of the line. You can tap the note symbol to bring up the note in a read-only window which will display up to 16 lines of the note. Just tap anywhere on the screen below the title line to return to the details view, or tap the EDIT button to jump to the datebook application with that note displayed so you can modify the note.

   To jump to a specific appointment in the Datebook application (where you can edit, make changes, etc.), tap on the appointment. NOTE: for repeat appointments, the cursor will be placed on the first occurrence of the repeat appointment that is on, or follows, today's date (not necessarily the date that you tap on in WeekView's details view). Repeat items are flagged with the standard Repeat symbol (V-2 PalmPilots) or a diamond (V-1 Pilots) after the time, so if you want to go to that specific day with the repeat appointment, it would be better to tap the NEW button instead.

   To create a new entry, tap the NEW button which will switch to the Datebook application and put the cursor in the first time slot for the day.

PREFERENCES

   To change the appearance of the view, select the PREFERENCE item in the OPTIONS menu or stroke Command/P in the graffiti area. In the preference dialog you can change:

   TIME FORMAT. The drop down list box allows you to omit the time or display the time in 12 or 24 hour formats with/without the minutes.

   WORDWRAP. If checked, a single entry will be wordwrapped to multiple lines.

   WORDWRAP ALL IN DETAILS. If checked, all entries in the Details dialog will be wordwrapped. This is probably the preferred setting unless you often have a very large number of appointments in each day.

   CONDENSED FONT. If checked, a condensed font is used which will display more text but with a corresponding loss of legibility.

   SHOW END TIME. If checked, the ending time of each appointment will be displayed in the Details view.

   STARTUP WITH MONTHVIEW. If checked, the monthly view will appear first when the program is started. Otherwise the Weekly view is displayed.

   REMEMBER DATE/GOTO TODAY. On startup, WeekView either remembers whatever date was being displayed the last time it ran, or will automatically go to today.

   MONTH & YEAR/WEEK NUMBER. On startup, WeekView will display either the Month and year in the title line or the Week number and the number of weeks +- from the current week. Note that this setting can be toggled on a temporary basis by tapping on the left portion of the title bar. The title is also toggled by the program to the Month & Year when first accessing the Details screen, and to the WeekNumber after selecting a Week to jump to.

   PILOT WEEK#/CUSTOM WK#. Normally, WeekView will display week numbers which match the numbers used in the PalmPilot's datebook application (which appears to follow the ISO standard). However, if you click on CUSTOM WK#, a date picker dialog appears where you can set any week of the year to be week 1. All Week numbers will then be calculated from the starting week number. This will be useful if you use a different method of specifying week numbers, or if you use week numbers based on a fiscal year.

===============================================================

INSTALLATION

   Follow the standard PalmPilot installation procedure for Datebk3 and WeekView:
   In Windows, run the PALMPILOT INSTALL TOOL program which will be in the same group as your PalmPilot Desktop application. When the dialog appears, click on the BROWSE button and navigate to the directory where you unzipped the DATEBK3 and WEEKVIEW.PRC files. Select the Datebk3 file by double-clicking it in the FILE OPEN dialog and then click on the INSTALL button. Do the same for the weekview.prc file. On the next HotSync, the DATEBK3 and WEEKVIEW applications will appear in your list of applications.

REGISTRATION AND EXPIRATION INFORMATION

  Datebk3 Registration (includes WeekView): $20
  WeekView Registration alone: $15
  Upgrade from WeekView to Datebk3: $5

  The registration code supplied for Datebk3 automatically registers both programs. WeekView can be registered separately. You can tell which registration code is in effect by displaying the Registration dialog.

  The unregistered version of Datebk3 will run for 45 days following installation, with a warning given at 30 days. On expiration, certain Datebk3 enhancements will no longer function (such as floating appointments, variable purge date etc.) but the program will continue to run. Since the database format is 100% compatible with the built-in Datebook application, there is no danger or harm whatsoever in using Datebk3 for a period of time and then deciding not to register it.

VERSION REVISION HISTORY

Datebk3.prc	V-1.0b
   Corrects a problem on V-1 PalmPilots where the hours were not displayed properly (-j-) if 24hr time format was selected.

WeekVu3.prc	V-1.3c
   Corrects a problem on V-2 PalmPilots where pressing an application key other than Datebook acted as if the Datebook key was pressed (instead of going to the other application).

  FUTURES

  There is not a lot of space to work with - already these two programs consume over 121k (although the current requirement for these programs to be able to run standalone causes quite a bit of code redundancy). The two "big" primary enhancements which people have requested are:

  1. Integration of Todo's. This is certainly possible and I have been spending quite a bit of time reviewing this to see what would be involved. Note that the Floating appointment feature in Datebk3 achieves an important goal of having a task that floats when today catches up with it.

  2. Support for categories. The intent here is two-fold: not only to support different categories (such as personal and business), but to also allow a HotSynch to integrate other people's datebooks as a distinct category. For example, this would allow a husband and wife to keep each other's datebooks on both their machines, and yet still look at their individual appointments. A company schedule could be integrated with individual worker's schedules, etc.

There are several other (some minor) enhancements under review:

  3. Ability to put an entry in bold text to make it stand out
  4. Faster scan of database in Weekview with text.
  5. Reworking program layout/structure to reduce memory requirements (in particular to resolve code redundancies between Datebk3 and WeekView).
  6. Separate attributes to indicate whether an individual appointment is to appear in the Week and monthly views.
  7. A display-next-occurrence-only attribute for repeating appointments (as on the Psion)
  8. Display years since start year for anniversaries (yearly appointments)
  9. Quick display window of appointments for monthly view (so you can tap a day and see the text of appointments for that day without having to go to another view (in a manner similar to the graphical weekly view).
  10. Foreign language support. All text is in resource files, so it will not be difficult to generate customized versions for various languages (German, French and Spanish are initially planned).
  11. One-tap alarm (so you can set or clear an alarm without having to invoke the Details dialog (3 taps).
  12. A List type view which would list appointments in chronological order with the date and time and be fully scrollable.
  13. A function to locate free-time (as in our MonthView program for the Psion). Preference settings establish which days are business days and the start and end time for the business day. You can then ask the program to find the earliest day in which an appointment of HH:MM duration can be placed without overlapping any existing appointments.