DATEBK3, V-2.1 - Simply, the BEST Datebook

Introduction
Datebk3 is a very sophisticated and complete replacement for the
built-in Datebook and Todo applications in all models of the Palm
Pilot. Before using Datebk3 you should be familiar with the built-in
Datebook and Todo applications as this manual only covers those
aspects of Datebk3 that differ from those applications. If you are an
existing Datebk3 user, note that the features new in V-2.0 are
flagged with a red comment in the list of items that follow...
Datebk3 offers many substantial improvements, such as the ability to
display and manipulate todo's from the todo database, two new weekly
views with text, a monthly view with graphical icons and a
surprisingly useful yearly view. Datebk3 also has its own flavor of
integrated todo's (Floating Events) which can be scheduled like
appointments, have alarms and be set up to repeat. Datebk3 supports
categories and includes a raft of enhancements, such as the ability
to schedule events to the nearest minute, schedule end times by
duration, and insert appointments from templates that preset any
event attributes to a specific value. Best of all, Datebk3 runs on
ALL models of the PalmPilot without modification, while still
supporting all the functionality available on each platform (the only
exception is IR beaming on the Palm III which is already supported by
the built-in Datebook application). 
Datebk3 also includes fixes for all known bugs in the built-in
Datebook application (although these bugs are of a minor nature and
generally involve end conditions that are not likely to occur). For
example, one annoying problem on repeat appointments in Datebook -
you cannot set the end date of a repeat event to a date earlier than
the particular occurrence that you called up - has been corrected in
Datebk3. Another error involves the incorrect display of the start
blip on a daily repeat event in the monthly view that started in the
preceding month.
Datebk3 uses the standard datebook and todo databases - the same ones
that the built-in datebook and todo applications use, so you can
freely move back and forth if you wish. Remember, however, that if
you edit a Datebk3 floating or checked off event and modify the tag
in the note field, that event may revert to a normal
appointment-style event. Note that this guarantees that all
applications designed to communicate with or HotSync with the
Datebook or Todo databases will be compatible with Datebk3.
Datebk3 is a very large application (180k) and it is important that
you make sure there is sufficient room on your PalmPilot to load the
application. This is particularly true if you have the older V-1 or
V-2 PalmPilots as there was a design flaw in the OS on those devices
that caused memory fragmentation - even though there appeared to be
enough memory, it may not have been contiguous and so Datebk3 might
not load properly. The HotSync application is fragile and can easily
tip over while loading large applications. If you encounter problems
loading, see the section Download Problems for assistance on dealing
with them. Most likely you will need to run a defragger prior to
loading Datebk3. Do not get disillusioned if you have difficulty
loading this application as some of these difficulties are quite easy
to address.
Before emailing Pimlico Software regarding problems, questions, or
suggestions for improvement, please read the Datebk3 FAQ's page on
our website, or read the   Planned Enhancements section first as your
problem or suggestion may already have been anticipated.
Note for existing Datebk3 users: now that V-2.1 has comprehensive
support for Todo's from the todo database, many users have been
confused between the Datebk3 "Todo's" and the Todo database "Todo's".
To lessen this confusion, we are returning to using the name
"floating events" for what was formerly referred to as the datebk3
todo's.
Make sure that there are no copies of WeekView or WeekVu3 left around
on your PalmPilot as they will conflict with Datebk3! Delete those
programs BEFORE downloading Datebk3!
Datebk3 is shareware and has a 45 day evaluation period. All
functionality is available during that period without restriction. At
the termination of that 45-day period, a few of the Datebk3
enhancements are suspended on the last half of each month. Those
users with very little memory may wish to forgo the Datebk3
enhancements and just  run the standalone version of WeekView by
itself. 
Making Datebk3 your default Datebook. The easiest way to do this (V-2
and V-3 PalmPilots) is to go to the Prefs application in the system
screen. Tap on the drop-down list at the top right, select Buttons.
Tap the popup list for the Datebook button and select Datebk3. On a
V-1 PalmPilot, you may want to look at AppHack which will allow you
to do the same thing (AppHack is also very useful on V-2 and V-3
PalmPilots).
Note on Find Function: when you do a Find function, Datebook (since
it is in ROM and cannot be removed) will also search the database,
but if you have Datebk3 open, Datebk3 will always search it first.

Some Quick Tips (for Datebook AND Datebk3)
How do you schedule events like Father's Day? We often get asked this
question. The trick is to set up the event as a monthly event, but
one that only repeats every 12 months. This way, you can use the
monthly repeat features to set Father's day as the 3rd Sunday of
every 12th month starting in June.
How can I skip weekends on a daily event? Easy - just mark it as a
weekly event and then select the days of the week you want it to
repeat on, so marking it for Mo/Tu/We/Th/Fr would skip the
traditional Sa/Su weekends.
Entering the time for an event. An undocumented feature of the V-2
and V-3 Datebook applications (which of course is also in Datebk3 so
it now works also on V-1 PalmPilots too) is that you can use graffiti
strokes to quickly enter a time for a new event, provided that no
event is currently selected. The program is smart enough to think
about what you are typing to make the best guess, so on a 12-hour
clock, a '1' is first interpreted as 1pm, but if you type another '1'
that is treated as 11am. If you type a '13' (on a 12hr clock), that
must be 1:30p etc. Many users find this by far the most efficient way
to enter a new timed event. Stroke a backspace to remove the digits
you have already typed in order to start over again.
Entering an untimed event. Just start graffiti'ng or tapping
characters on the built-in keyboard. If nothing is selected in the
day view, typing a character immediately starts an untimed event. If
it starts with a digit, just stroke a space (left-to-right) and then
a backspace (right-to-left) to avoid the digit being treated as the
start of a time (see above) and proceed.
What time is it? Just tap the title bar in any view and the time will
be displayed briefly for about two seconds. This does not work on V-1
PalmPilots in Datebook and only works in the 2nd weekly view in
Datebk3 on a V-1 PalmPilot.
Changing the time quickly on an event. Tap the time in the leftmost
time column for an event and it will go straight to the time picker
dialog - faster than going into the details dialog and then tapping
the time.
Selecting overlapping objects in graphical weekly view. If two events
overlap, tap the portion of the event that does not overlap in order
to select it. If they start and end at the same time, you are out of
luck in Datebook, but in Datebk3, a next button appears which will
cycle through all events scheduled at that same time.
How can I hide some repeating daily events but show others?. The
option to hide repeating daily events in the monthly view only
applies to events that are marked for a daily repeat. You can make a
virtually identical repeat by selecting the weekly repeat and then
marking every day in that week as a repeat day. This latter repeat
will repeat every day but will display even though repeat daily
events are hidden. Note, however, that since it is techically a
weekly repeat, it will not show the row of dots at the bottom of each
day the repeat occurs.

The Enhancements...
* The new Views:
* Weekly View with text 
* Monthly View with icons(More icons in 2.1n) 
* Yearly View (New in 2.0) 
* Floating, todo-style events with times, alarms and repeats
(Repeats, Automatic advance, New in 2.1) 
* Displaying and Editing Todo's from the Todo database (New in 2.0 -
vastly improved in V-2.1) 
* Categories  (New in 2.0) 
* Quick Entry Templates (Reminder Feature: New in 2.0) 
* Snooze Alarms (New in 2.1) 
* Miscellaneous improvements
* Variable Purge Date 
* Copy Entry 
* Event times to the nearest minute 
* Set end time by duration 
* Quick 1 or 7 day Advance (New in 2.0, for Todo's as well in 2.1L) 
* Zero duration events 
* Monthly View improvements (New in 2.0) 
* Custom Week Numbers 
* Start with any of 5 views 
* Quick jump to today's date (New in 2.0) 
* Untimed event sort order 
* Day of week buttons in Day View (New in 2.0) 
* Up/Down buttons can scroll AND move (New in 2.0) 
* Turning off the auto-scroll on today (New in 2.0) 
* Datebk3 Alarm handling (New in 2.0) 
* Eliminating all time bars in Daily View (New in 2.1) 
* Hiding End Times of Events (new in 2.1) 
* New Button inserts Appt., Float or ToDo (new in 2.1) 
* Selecting overlapped items in graphical Weekly View (new in 2.1p) 
* dbScan - Datebook Database Integrity Checker (New in 2.1) 

Weekly View with Text
The new weekly view offers an alternative to the graphical weekview
of the built-in Datebook application. Rather than showing
appointments graphically, the text of each appointment is shown in a
conventional "day-timer" type format. Note that the week follows the
European standard of starting the week on Monday (even if the system
preference setting is set at Sunday) because it yields a more
efficient usage of the available space. If only one event is present
on a day, the full text of the event is wordwrapped into multiple
lines, otherwise as much text as will show on each line is displayed
for each event. Todos' from the todo database can also be displayed
in this view and are recognizable because the priority is displayed
in a broken box at the start of the line. Todo's can be sorted ahead
of or after appointments (see preference settings).
The weekly view is also available in a standalone program called
WeekView. The cell containing today's date is always flashed gently
on and off in the display, so you can easily identify today's date.
If you find the blinking disturbing just tap the graffiti area twice
(as if entering the period character) and the blinking will stop.
When you next display a screen with today's date, a frame will be
drawn around the date instead of inverting it. This setting is
permanently remembered. Tap the screen again twice to re-enable the
blinking on the next screen refresh.
Navigating and Features of this View
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 Week Number item in
the Go 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. Note that there is a
preference option to adjust the starting week of the year to match
fiscal or non-ISO standard week numbers.

To jump to today's date, just tap the third view button (this is true
in all views - if you tap the button corresponding to the current
view it goes to today's date).
To jump to a day in the day view, 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). There is a preference option that allows you to
click anywhere in the day cell to go to the day view (instead of
going to the weekly view's own details dialog).

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.

To switch between the 1 week and 2 week view, tap the button in the
middle of the title bar and the legend will toggle between a 1 and a
2.

Text Wordwrapping. 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 (see Scroll button below)

Scrolling to More Appointments. If there are some appointments in one
or more days that are not being shown, there will be a down arrow in
the box just to the left of the GO button. Tap that button to scroll
forwards to the next set of events on those day(s). If there are
events before AND after those being shown, there will be both an up
and a down arrow in the display. When the last set of events is being
shown, there will be only an up-arrow in the scroll box. If you tap
the scroll box again, it will cycle back to the beginning. If there
is no arrow in the scroll box, that shows that all events in the
period being shown are being displayed. Note that each cell is
scrolled individually, so on each tap, all the appointments that are
displayed are new.

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. Note
that this view is really more useful in the standalone version of the
program - you may wish to set the preference option to go straight to
the Day View if you tap anywhere in the cell.

Tapping on the Title Line. In the Weekly view, the title line shows
the month and year of the week being displayed followed by the week
number. Tap on the title bar to briefly see the time and also an
indication of the +- offset in weeks from the current week in
parentheses after the time). Note that this feature (also in the
built-in Datebook application) may interfere with a hack like
MenuHack. This feature also works on V-1 PalmPilots (although this is
the only view which works that way on V-1 PalmPilots).
To specifically hide an appointment or floating appointment in the
2nd weekly view, put the text string ~HIDE~ anywhere in the note
field for the appointment. It will then not be displayed. This can be
done to supress repeating appointments too.
Weekly View's Details View
This view is displayed when you tap anywhere in a day cell in the
main weekly view (unless the preference setting to go to the day view
instead is checked). Note that you may well want to have that
preference setting checked.
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 day view with
that note displayed so you can modify the note. Repeat items are
flagged with the standard Repeat symbol (V-2 PalmPilots) or a diamond
(V-1 Pilots) after the time.

To jump to a specific appointment in the Day View (where you can
edit, make changes, etc.), tap on the appointment.

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.
Weekly View Preference Settings
To change the appearance or settings in this view, select the
Preferences item in the Options menu or stroke Command/P in the
graffiti area. In the preference dialog you can change the following
Items:
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. This refers to the time that is normally displayed in the
left margin in the main view.
Wordwrap. If checked, a single entry will be wordwrapped to multiple
lines. Normally, you would want this preference option checked. 

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. Since this version does not yet have scrolling, you will,
however, not want to check this option if you have a lot of events to
display on each day.
Condensed Font. If checked, a condensed font is used which will
display more text but with a corresponding loss of legibility. At
some point in the future, this may be replaced with a "better" small
font.
Show End Time. If checked, the ending time of each appointment will
be displayed in the Details view.
Hide Untimed Floating Events. If checked, untimed floating events or
done items will be hidden from the display. Timed floating events, or
done items will be displayed as usual.
Tap anywhere -> DayView. If checked, a tap anywhere in the day cell
will take you directly to that day in the Daily View. This option
will probably be checked by most users, but has been left unchecked
by default to maintain compatibility with prior versions (and prior
WeekView users who expect it to work that way).
Display uses non-Roman Chars. You will definitely need to check this
item if you are displaying Kanji or Hebrew characters on your Palm
Pilot. There is a special hack in fairly wide use in Japan to display
Kanji characters and without this option, they will not display
properly on the PalmPilot as certain optimizations for displaying
accented characters in Roman Fonts are not compatible with the
display of Kanji characters. There is a similar hack available for
displaying Hebrew. All of these hacks depend upon the application
program outputting full character strings and you must check this
option to ensure that these hacks see the entire string displayed at
once. If you enable this for Roman character sets, you may see the
top pixel row of certain characters clipped off (such as accents
etc.)
Todo's: Before | After | Hide. This option allows you to place Todo's
before regular appointments or after them. For those users who want
to primarily look at their schedule in the 2nd weekly view, the after
option will be preferred. The before option was the only option in
prior versions. The Hide option will hide all todo's in the 2nd
weekly view without affecting the display of todo's in the daily view
(which can be controlled through the Todo Preferences dialog).
Pilot Week# | Custom Wk#. Normally, Datebk3 will display week numbers
which match the numbers used in the PalmPilot's Datebook application.
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 that starting week number.

Monthly View with Icons
This view is invoked by tapping on the Icon pushbutton in the monthly
view. Rather than displaying spots to show where appointments occur
during the day, it displays graphical icons associated with each
appointment. Note that nothing will display until you actually assign
icons to events in the Daily View. Also, you must set up a record in
the Memo application that contains the bitmaps for all the icons. The
adventurous user can even design and incorporate their own custom
icons.
Up to three icons can be displayed in each day cell. As in the
standard monthly view, you can tap on any cell in the calendar to go
directly to that day in the Day View.
Setting up the Icon Bitmaps in the Memo Application
A sample set of icons has been included in the Datebk3.zip file in a
file called Bitmaps.txt. To install these on your PalmPilot so they
can be used by Datebk3, follow this procedure: 
1. Unzip the Bitmaps.txt from the Zip archive and place it in a
directory
2. Run the PalmPilot Desktop application, select Memo and click on
New to open up a new memo
3. Open up the Bitmaps.txt file with Notepad or similar, simple
editor
4. Select all the text in the file and copy to the clipboard
5. Switch to the Pilot Desktop, put the cursor in the memo area and
paste the contents of the file into a new memo
6. Close out the desktop and do a HotSync
7. Verify that you now have a new memo on your Pilot with just
DATEBK3 on the top line and all the bitmap records underneath it.
Make absolutely sure that the file is not touched in any way while
transferring it to your Pilot (especially if you are using some other
program to HotSync with). This is a common problem on MAC platforms,
so watch that carefully. If necessary, just call up the record on
your PalmPilot and fix any wordwrap problems that you may have
inadvertently caused while transferring the contents of the file.
Attaching Icons to Events
To attach an icon to an event, tap on the event in the Day View and
select the Attach Icon item in the Record menu. A dialog appears that
displays the graphical icons along with their description. If this
dialog does not appear when you tap on the menu command, this is a
clear indication that the icon bitmaps have not been properly
installed in the Memo database (see above). You should also see a
dialog telling you to install the icons. If they are installed, but
not correctly, you should see an error message indicating what icon
the program was looking for that it did not find. If there is no
description for an icon, you will see the graphic accompanied by the
legend: icon a where 'a' is a letter from a-z that corresponds to
that icon.
There are two pages of icons (1-26 with a-z, and 27-52 with A-Z)
which you can select by tapping the PushButtons at the bottom of the
screen. Note that the second page of icons is a new addition, so if
you are using the Shuji Fukumoto's Datebk3 Icon Editor, be sure to
download the new version that supports the second page of icons as
the old version would remove the second page. 
The Attach Icon command inserts the two character sequence #a (where
'a' is the letter that corresponds to the icon) in the note field for
the current appointment (creating a note if necessary). If there is
already an icon flagged in the note field, this command will update
the icon letter (rather than duplicating it). Note that the Attach
Icon command is really just a nice shorthand for inserting the #x
sequence into the note field. Also, this sequence can be placed in
the description field of an appointment too. Be careful not to delete
that sequence when you edit the note. Also, if you delete the note,
it will also remove the icon attached to the appointment.
Icons can be attached to templates. This is very handy as you can
create a birthday template which includes the icon for a birthday
cake and that will be attached whenever you create a birthday event
using that template.
Technical Details on Creating your Own Custom Icons
Special Note: This feature is intended for the more adventurous user,
so if  you are a novice computer user, don't be surprised if this
looks a bit daunting. However, the instructions are straightforward,
and even if you mess things up, it should not cause a problem on your
PalmPilot.
New Update: A third party developer has released an icon editor for
the Datebk3 icons that runs on the PalmPilot. There is also an
interactive icon editor written in Java on another website and
another user has created an Excel macro for generating the
hexadecimal strings. Consult the Pimlico WebPage FAQ's for further
information. Also, there are several websites that have collections
of Datebk3 icons that you can use.
Format of the Datebk3 Memo Record
The graphics for the monthly icons are stored in a memo record that
must begin with the text DATEBK3{eol} in capitals, where {eol}
represents the End of line character. The ZIP archive contains a memo
record with some suggested graphics.
This is then followed by 26 lines of Hexadecimal codes that describe
the icon, one icon per line. The first line sets the icon for #a, the
second for #b etc. Each line has the format:
#a{Description}={hexadecimal string}
#b{Description}={hexadecimal string}
#c{Description}=0000000000000000
#d{Description}={hexadecimal string}
...
No letters may be skipped, but you can have a line that has no icon
as shown for #c above. Use caution editing this memo record.
Obviously, if the format is corrupted, the icon display will not be
available and an error alert will be displayed. The
{Description}field has a 1-24 character description of the icon which
is terminated by the equals sign. If the {Description} field is
omitted, the legend 'Icon x' will be displayed instead (where 'x' is
the associated character for the icon).
The hexadecimal string consists of 16 hexadecimal characters. These
define the 8x8 bitmap graphic with the first hex character specifying
the left nibble for row 1, then the right nibble for row 1, then the
left nibble for line 2, right nibble for line 2, as shown below:
        01
        23
        45
        67
        89
        AB
        CD
        EF
For example, an small airplane could be described as:
18183C7EDB183C5A which would correspond to the following bitmap:
        ...xx...    18
        ...xx...    18
        ..xxxx..    3c
        .xxxxxx.    7e
        xx.xx.xx    db
        ...xx...    18
        ..xxxx..    3c
        .x.xx.x.    5a
Valentine Heart
        .xx..xx.    66
        x..xx..x    99
        x......x    81
        x......x    81
        x......x    81
        .x....x.    42
        ..x..x..    24
        ...xx...    18
For the hexadecimal characters, remember that:
        Bits        #
        ....        0
        ...x        1
        ..x.        2
        ..xx        3
        .x..        4
        .x.x        5
        .xx.        6
        .xxx        7
        x...        8
        x..x        9
        x.x.        A
        x.xx        B
        xx..        C
        xx.x        D
        xxx.        E
        xxxx        F
The sample memo record supplied in the file BITMAP.TXT contains these
graphics:
#a - airplane
#b - boat
#c - car
#d - Dollar sign (payday / pay bills)
#e - exclamation mark
#f - Flag
#g - big bullet
#h - happy face
#i - Racquet (Tennis/games)
#j - Birthday Cake
#k - knife and fork
#l - bomb (Deadline)
#m - man
#n - no symbol
#o - unhappy face
#p - phone
#q - question mark
#r - checkmark
#s - Star
#t - Tack (reminder)
#u - Checkbox
#v - Valentine's Heart
#w - Drink
#x - Big X
#y - Big Y
#z - Arrow

Yearly View
The yearly view displays an entire year all at once. Obviously with
the rather small screen of the Pilot, there are limitations to the
utility of this view, but with a bit of a care and careful
application of the preference items in this view, it can be
remarkably useful. When first displayed, today's date will be
flashing on and off in the calendar, and the current month's name is
displayed in bold. Significant items will cause a dot to be displayed
in that day. There are many different options to determine exactly
what constitutes a "significant" item (see description below in
preference settings).
To select a day, tap on the day in the calendar. The day you select
will gently flash on and off so you can determine whether or not you
tapped on the correct day. In the title of the window, just after the
year, the day of the month is displayed along with the text of the
first event that caused a dot to be displayed. Separating the day of
the month from the description will be a minus (-) sign if there was
just one significant event on that day, or a plus (+) sign if there
were two or more significant events on that day (only the text of the
first event is displayed on the title bar).
The left and right arrows in the bottom right corner of the screen
will move forwards and backwards by one day through the entire
calendar (including across years). These buttons repeat, so you can
hold them down to move the day quickly (and scan the appointments
which flash across the title line). The Up and Down buttons serve the
same function. Many touchscreens have noise, so don't be surprised
when you tap on a day that another day gets selected. You can hold
the pen down and drag it around on the screen and Datebk3 will show
you which date it thinks is selected based upon the data from the
touchscreen. You might also want to recalibrate your touchscreen
(digitizer) from time to time (Select Digitizer in the Prefs
application).
When a day is selected, you can tap on any of the four other view
buttons to jump directly to that view with the day in the yearly view
displayed in that new view. Tap on the last of the five pushbuttons
(Yearly View) to select today's date.
To move to a different year, tap on the left (previous year) or right
(next year) arrows at the right end of the title bar.
Filtering Significant Events in the Yearly View
To filter events in the yearly view, tap on the Show button at the
bottom of the screen. A preference dialog appears with these options:
Hide Float and Done Events. Floating events and done items will be
hidden if this item is checked (this is set by default). This does
not refer to todo's from the todo database which are never displayed
in the yearly view.
Hide Untimed Events. If checked, events which have no time assigned
to them will be hidden. This will not cause floating events or Done
items to be hidden (use the previous option to handle those).
Hide Zero Duration Events. If checked, events which are timed, but
which have no duration (i.e. the start time is the same as the end
time) will be hidden.
Hide Events < nnn Hr. This item has a popup list to select a cutoff
threshold for events whose duration is less than 0.5, 1, 2, 4, 8, or
12 hours. Select the desired cutoff in the list and then tap the
checkbox to set this option. The current selection is displayed.
Events whose duration is 1 minute or more (i.e. not zero duration
events) but less than the specified threshold will be hidden.
Hide Daily Repeating Events. If checked, daily repeating events
(which have a frequency of 1 - i.e. every day) will be hidden.
Hide Events with no Icons. If checked, only events that have icons
attached to them will be displayed. This is a very useful option as
icons are usually only attached to significant events (such as
holidays, business trips, birthdays, anniversaries, etc.).
Only Show Events with this Icon. If checked, an icon selector appears
and the currently selected icon will be displayed to the left of the
icon selector. To select a different icon, tap on the selector and
select the icon from the list that appears. Only events that have
that specific icon will be displayed. In the Yearly view, the
selected icon will be displayed to the left of the Show button in a
graphic button. You can tap on this button to bring up the icon
selector directly to select a different icon to view.

Floating Events ("Integrated Todo's")
Floating events are a hybrid -  in one way they are similar to todo's
from the todo database since they float forward day-by-day like an
undated todo, until they are checked off. On the other hand, they are
like events in that they can be timed, have alarms and can repeat.
These events were referred to as "integrated todo's" in prior
versions of Datebk3, but are now designated as "floating events" in
order to avoid confusion with todo's from the todo database.
A floating event can be created in two different ways. First, an
existing, normal event can be marked as a floating event by going
into the details dialog and tapping on the Float pushbutton at the
bottom of the dialog. If the event had a date earlier than today, it
will automatically be forwarded to today (since an incomplete
floating event can never be displayed on a date earlier than today).
Second, there is a menu option, new floating event, that creates an
untimed floating event. Note that there is a preference option to
make the New button create a new floating event rather than a normal
event.
Floating events always display an open circle in the time column (if
untimed) and in the right margin for untimed events (exception: Palm
V-1. devices cannot display a circle for timed events). A floating
event can be marked as done by simply tapping the circle (like
tapping a box in the todo application). Note that floating events
display a circle rather than a box and do not have a priority number
and can therefore be easily distinguished from todo's coming from the
todo database.
Datebk3 sorts all three kinds of events in order: todo's from the
todo database in priority order (with incomplete items preceding
checked-off items) are followed by floating events (again with
incomplete items first and done items last, sorted in alphabetic
order) followed finally by regular untimed events, also sorted in
alphabetic order.
Each day, Datebk3 checks to see if there are any floating events in
the database. If there are, you will see the legend scanning...
appear briefly in the top left of the screen as Datebk3 advances the
date of all incomplete floating events and checks for any repeat
floating events. When a floating event is marked as done, it will
stay on that date and will not be advanced. This scan only occurs if
there are one or more floating events in your datebook database.
Note that there are options in the daily, 2nd weekly views and yearly
views to determine whether or not floating events should be
displayed. The Todo Preferences item in the Options menu of the daily
view refers specifically to the todo's from the todo database and not
the floating events. Whether or not floating events that are marked
as done are displayed is handled by a checkbox in the More
Preferences item in the Options menu of the daily view (so they can
be controlled independently).
The default alarm preset does not apply to floating events, as
floating events by default are never assigned a preset alarm - you
have to go into the details dialog and explicitly set an alarm for a
floating event.
Floating events have a special flag which is stored "invisibly" in
the note field of the record. Normally, you would never see this
special flag using Datebk3, but if you examine the event in a desktop
application, or in the normal Datebook application, you will see a
three-character sequence: #~f  for a floating event, and #~c for a
done event. You should be careful to leave these alone if you edit
the note field of one of these events in an application other than
Datebk3. If it is really important to enter an floating event in the
desktop application, you can use this knowledge to do it - just put
#~f in the note field, and the event will be marked as a floating
event after you HotSync, or #~c to mark it as a done item (but that's
not really intended to be a "feature").
Note on rescheduling of Floating event. Floating events can be
rescheduled either when you run Datebk3, or can be triggered
automatically at a preset time (usually in the very early, morning
hours). The advantage of triggering the update automatically is that
any alarms set on floating events will be automatically rescheduled
even if the PalmPilot is never turned on. The disadvantage is that if
some kind of error condition is present, the machine will not shutoff
and will run the batteries down. In general, we recommend using the
automatic rescheduling feature unless you are somewhere where it
would be a disaster if you lost the batteries. By default, the
scheduling is done when you first run Datebk3 on the day which is the
safest approach. 
To set automatic scheduling, select the More Preferences Item in the
Options menu of the Daily View and tap on the time selector in the
bottom right corner. Set the number of hours and minutes after
midnight that you want the rescheduling to be performed. It's
probably a good idea to schedule it for as late as possible so if
there is a problem, there will be the least amount of time before you
notice it (say 04:00). If you happen to be awake at that time, you
will see your Pilot turn on and launch the Datebk3 application at
which time the legend "scanning" will appear briefly at the top left.
If left untouched, the Pilot will then automatically turn itself off
after the standard "Auto-Off" time has elapsed.
To remove the automatic scheduling, tap on the Cancel button in the
duration dialog, and the time selector will go back to displaying No
Time indicating that this feature has been disabled.
Note: this feature is not available if you use the Power On Password
feature to prevent any application from running on your pilot until
you put in your password. It will also not work if you are using the
built-in Datebook application to handle alarms.
Repeats on Floating Events
Repeats on floating events are somewhat different from repeats on
regular, scheduled events. Each day, when Datebk3 is scanning for
floating events, it checks for repeat events. If a repeat event is
found that has an occurrence on today's date, a duplicate of the
repeat event (except that it has no repeat status) is generated and
the start date of the repeat, floating event is re-scheduled to the
next occurrence of the repeat event. Note that this allows you to
mark that single occurrence as done without interfering with the
repeat event itself.
When would you use a repeat floating event rather than a regular
repeat event? A repeat floating event would be used for anything that
you have to do on a regular schedule, but which still needs to be
done if not completed on that day. For example, you use a repeat
event for a regular doctor's appointment because if you miss it you
can't just go in the next day. But for say, giving your dog its
monthly worm pill, a repeat floating event is better than an event,
because if you forget it on its scheduled day, it automatically
carries forward, reminding you on a daily basis until you get it
done. Also, you can set an alarm which will get rescheduled each day
and nag you about it until you check it off.
Another handy use for repeat floating events is to set up birthday or
anniversary reminders. For each event, set up a repeat floating event
that is scheduled say 10 days in advance. 10 days before the event, a
floating event is created that then floats day by day up to the event
until it is checked off. This repeat event can of course also include
an alarm, in which case the duplicated event will inherit that alarm
and nag you each day. Note that with the 24 hour snooze button,
however, you may find it easier to just put a 10 day advance alarm on
the event and snooze it each day until you cancel it.
If a repeat event has no further occurrences, it will be deleted (so
only set an end date if you expect to have the event eventually
disappear).
You cannot tap on the box in the daily view on a repeat floating
event to change its status. You must call up the repeat event by
tapping on the Details button so you can change the status and
specify whether that change is to be made to all occurrences of the
repeat event, or just a single occurrence.
Note that you would not normally want to make a repeat floating event
a daily repeat as the separate occurrences created by Datebk3 will
start to pile up quickly unless they are rigorously checked off each
day. Also, if you start a repeat floating event for the current day,
no exception will be created (they are created only at the start of
each day or at the floating advance time).

Including Todo's from the Todo Database
Todo's from the Todo database can be selectively included in the
Daily and second weekly views of Datebk3. To enable this feature,
select the Todo Preferences option in the Options menu of the either
the daily or 2nd weekly views. A dialog appears that lists all the
categories in the Todo database along with a priority number to the
right. The priority number specifies the priority level at, or above
which, the todo will be included in the Datebk3 views. Note that 0
means that no todo's in that category will be displayed while 5 means
that all todo's in that category will be displayed - 1 would mean
that only priority level 1 todo's will be included. To set the
priority level, just tap on the button to the right of the category
name. It will toggle 1,2,3,4,5 and then back to 1 again.
Note that Datebk3 has a more powerful display of categories than the
built-in todo application. The built-in application can only display
all categories or a single category, while Datebk3 can display any
combination of categories that you choose. Datebk3 tracks categories
in the Todo database completely separately from categories in the
Datebook database, so there is no need to match up categories, etc.
Tapping on the Hide All checkbox to set it will cause all categories
to display 0. Tapping on the checkbox to clear it automatically sets
all categories to 5 (include all). The Hide Undated checkbox if
checked will hide all todo's that have no due date. If checked, all
undated todo's are treated as if they are dated today and will appear
in the today's display. The Hide Done checkbox if checked means that
completed todo's are to be hidden. If unchecked, completed todo's are
displayed. The Hide Priority checkbox removes the priority level from
the display in the second weekly view (where text is very tight). The
Hide Priority checkbox setting does not apply to the Day View, nor
the details dialog of the 2nd weekly view.
Todo's from the todo database display a checkoff box in the left
margin and are treated as untimed events that are displayed at the
start of the day (sorted in order of priority). Todo's from the todo
database always precede floating events and can be further
distinguished because they have a priority number immediately
following the checkoff box (floating events have no priority levels).
To checkoff a todo (or uncheck a checked todo that is being
displayed), just tap on the box and it will change its setting. The
Todo database is automatically updated at this time too. On all but
Version 1 PalmPilots, Datebk3 reads the preference setting from the
Todo database for changing the due date to the completion date. If
this was set true, then Datebk3 will update the due date to today's
date and re-sort the todo into the correct position in the Todo
database. On V-1 PalmPilots, the due date is always preserved. Note
that checking off a todo without having this option set will cause a
past-due todo to disappear from the current day's view as it will be
moved back to display on its original due date.
A todo with a due date prior to today is always displayed in today's
schedule, but with an exclamation mark (!) to the left of the
check-off box to show that it is past due. Todo's with future due
dates will be displayed in the calendar on their due date.
Advance Display of Todo's. The Todo preference dialog allows you to
display future todo's in today's view. The Advance popup list at the
bottom of the Todo preferences dialog allows you to specify that
todo's from 0 (today only) to 9 days in advance of today are to be
included in the daily view. There is also a '+' option which
specifies that all future todo's are also to be displayed in the
daily view. Advance Todo's (i.e. todo's for days in the future)
appear after today's todo's but before any completed todo's. They are
then sorted in order of their appearance, then by priority and
finally alphabetically. A number from 1-9 or a '+' sign is displayed
to the left of the check-off box for the todo to mark it as an
advance todo. Note that advance todo's are also displayed on their
actual due date.
Todo's can be edited and handled directly by Datebk3. To change the
text, just tap on the text and modify it as it were a normal event.
To change the priority, due date or category, select the todo and tap
on the Details button and a dialog appears allowing you to make those
changes (this dialog is identical to the one in the Todo
application). The Attach Note and Delete Event menu commands work on
todo's from the todo database as well as Datebook events. To edit a
note in a todo, you can also tap on the note symbol at the end of the
line (in the same way you can with a regular appointment). To change
the priority of a todo, you can also tap the priority number to the
right of the check-off box which will display a popup list of
priorities.
Creating Todos. Creating a todo from Datebk3 raises some special
issues. If you are displaying today's calendar, the todo will be made
undated if your preference options are set to display undated todo's,
otherwise, it will be assigned today's date. If you are displaying a
future date, then the todo will be placed on that future date. If you
are displaying a past date, then the todo will be treated as if you
were creating it on today (i.e. it will be undated if you are
displaying undated todo's, or dated to today otherwise). If you were
viewing a past day in the calendar, the view will be changed to today
so you can see the new todo you have created and enter the text. This
probably sounds more complicated than it is - in general Datebk3
should be doing what you would expect it to do under these
circumstances. 
Note that if you really wanted to enter a past due todo, you can
always tap on the Details button and adjust the date accordingly
(after which today's schedule will appear so you can see it as a
past-due todo). The New button at the bottom of the screen can be
changed to insert a new Todo from the todo database (See preference
setting in the More Preferences dialog).
Todo's will be created in the default category as specified in the
Todo Preferences dialog (the default is Unfiled). If that category is
not visible because of the preference settings, the specified
category will be made visible for priority level 1 so the todo will
be visible.
Changing Todos. Changing the attributes of a Todo also raises some
special issues - but in most cases, Datebk3 will do what you would
expect it to do. If you change the priority or category of an
appointment such that it should no longer be displayed (based on your
preference settings), then it will disappear from the display when
you tap the Ok button in the Details dialog. If you change the date
of a todo to a future date, the todo will disappear from the screen
as Datebk3 will not move to that date (to facilitate advancing the
days of several todo's on the current day).. If you change the date
of an incomplete todo to a past date, then the date will be changed
to that day, but it will still be displayed in the current day's view
as a past-due item.
Changing Priority. The priority of a Todo can be conveniently changed
directly from the main screen by tapping on the priority number at
which point a popup list appears with numbers from 1-5 to set the new
priority.
Quick Advance Buttons. As with the Details dialog for regular events,
there are now buttons labelled 1 and 7 which will immediately advance
the due date of the todo by 1 day or seven days. They can be tapped
several times in succession (so tapping the '7' button twice would
reschedule it a fortnight in advance). If the todo has no assigned
date, then tapping one of these buttons treats the todo as if it was
scheduled on todays's date and advances it from there..
Todo's are also displayed in the second weekly view. They can be
distinguished easily because todo's begin with the priority number
from 1-5 in a broken box and they are usually displayed first in the
view. In the second weekly view, if you tap on the day to get to the
weekly view's details dialog, you can tap on the box to check the
item on or off (updating the Todo database as described earlier under
the Day View). Note that there is a preference setting in the 2nd
weekly view to sort todo's before regular appointments or after
regular appointments. There is also an option to Hide todo's in the
2nd weekly view which will prevent them from displaying altogether,
while still allowing todo's to be displayed in the daily view.
Note that checked-off todo's (if they are being displayed) are always
sorted after incomplete todo's in both views.

Categories
NOTE: Although the category feature is complete, it really requires a
custom conduit to be truly useful for most people. If you HotSync and
the standard conduit has to update a record which is in a category
other than Unfiled, it will be forced back into the Unfiled category
by the HotSync application. Pimlico Software is planning on releasing
a custom conduit for the Datebook database which will address this
issue, allow you to sync with categories in other PIM's (such as
Outlook) and also sync someone else's Datebook into a category in the
Datebook database. 
The Category feature allows events to be assigned to specific
categories. This feature is implemented in a manner consistent with
the other built-in PalmPilot applications, such as Todo, Memo and
Addressbook applications. The commands below specifically refer to
categories in the Datebook database and not categories in the Todo
database (which are only displayed in the Todo preferences menu and
the Details dialog when a Todo is selected). Category support is
provided by the following items under the Cat. (Category) menu:
Select Category. When this menu option is selected, a category
selection list appears in the top-right corner of the screen. Tap on
the category you want to select, or tap All to select all categories,
or Edit Categories to change or add a new category. This menu option
is available in all five views. When selected, the current view is
redrawn to reflect items in the new category.
Set Category Private. This menu option first checks that you have a
single category selected (if you have all categories selected, an
alert advises you to select a single category). It will then display
a confirmation alert to make sure that you want to make this change.
If you select OK, then every single event in that category will have
its Private flag set. At the conclusion, the current view is redrawn.
Note that if you have the system preference set to hide private
events, everything will now disappear from the screen and it will
appear blank.
Set Category Public. This menu option first checks that you have a
single category selected (if you have all categories selected, an
alert advises you to select a single category). It will then display
a confirmation alert to make sure that you want to make this change.
If you select OK, then every single event in that category will have
its Private flag cleared. At the conclusion, the current view is
redrawn. You can not issue this command if your security preference
setting is set to hide secret records (since all secret records in
that category will now be displayed).
Move Category. This menu option first checks that you have a single
category selected for the source of the move (if you have all
categories selected, an alert advises you to select a single
category). Datebk3 then displays the standard category-picker dialog
so you can pick the destination category. A confirmation dialog then
appears to check that you really want to proceed with the move. Tap
on the Move button to move all the items. Datebk3 then changes the
default display category to the destination category and redraws the
screen.
Delete Category. This menu option first checks that you have a single
category selected (if you have all categories selected, an alert
advises you to select a single category). It will then display a
confirmation alert to make sure that you want to proceed with the
deletion. If you select DELETE, then every single event in that
category will be deleted. At the conclusion, the current view is
redrawn with all categories selected.
Note on Invalid Categories. Some applications (like Birthday) place
events into the datebook with invalid category numbers. This was not
a problem with the regular datebook application because it simply
ignored categories, but Datebk3 will see these invalid categories. If
a category is not defined in Datebk3, the number of the category will
be shown in hexadecimal as 0xAB, where A is the high order nibble of
the attribute field in hexadecimal and B is the category number in
hexadecimal. No harm is done, and if you subsequently define a
category in that same index position, that name will be displayed
instead.
Note for V-1 PalmPilots. V-1 PalmPilots lack the feature of a
default, uneditable category called Unfiled. So when you edit
categories, you should really first define a category called Unfiled
before defining other category names.

Quick Entry Templates
A template feature makes it possible to keep a list of standard
appointments or events. A picklist of these events can be brought up
with a tap and directly inserted into the current day's schedule.
Creating a Template
To create a template, select an event and invoke the Save as Template
item in the Record menu to save the appointment as a template. A copy
of the event is made and stored in the database as an appointment on
January 1, 2020 (intentionally put far out of the way). This event
can be easily modified by tapping the Edit button in the template
dialog (which is invoked by tapping the Tp button on the bottom of
the screen in the Day View). This goes to January 1, 2020 where all
the template events are stored. Just modify the event as if it was a
normal event.
Using a Template
To insert a template, tap on the Tp button in the Day View. Select an
appointment from the dialog that appears and tap one of the following
three buttons: 
* Ok to insert the appointment with the cursor located for editing 
* Details to go directly to the DETAILS dialog to make changes to the
inserted appointment. 
* Remind to insert the appointment as a reminder type event (see
below) 
If no time was selected when the Tp button was tapped, the template
appointment will be inserted at the same time that the template has
assigned. If you tap on a time in the daily view and then tap the Tp
button, the template will be inserted on the time that you had
selected.
Repeat events can be saved as a template, but the repeat status is
removed from the template. Attempting to put the repeat back in by
editing the appointment in the 1-jan-2020 timeslot will not work as
any appointment found in that timeslot with a repeat will not be
included in the template list. All attributes (alarms, notes,
category, status etc.) are all saved in the template.
Reminder Feature
The Remind features makes it easy to set a future event based on the
current time. For example: you need to make a telephone call in
exactly 2 1/2 hours. First, set up a template with an alarm (if you
want an alarm which will usually be the case) and set the default
notification how you want it (i.e. if it says 5 mins, the alarm will
go off 5 mins before the 2 1/2 hours is up).
To use the reminder, tap on the Tp button and select the reminder and
then tap on the Remind button. A duration dialog will appear allowing
you to set the future time of the event from 5 minutes to 11:55. Tap
on 2 in the left column (hours) and 30 in the right column (minutes)
to set the 2 1/2 hour reminder. Tap on the Ok button to insert the
reminder. The selected template will be inserted at a time equal to
the current time plus 2 1/2 hours. Datebk3 will move the appointment
into the next day if necessary (i.e. if you specify 10 hours at 11pm,
the reminder will be set for 9am the next day).
You may want to set up a generic reminder (say with the text:
Remind:) as the first appointment (make it untimed etc.) in the
template so when you use this feature, you don't even have to select
an item in the list. To set a 2 hour reminder would then take only 4
taps (Tp, Remind, 2, Ok). Alternatively, you can set up templates for
common reminders (I have one labelled: Turn off Oven!).

Snooze Alarms
When an alarm goes off, the alarm dialog has a set of snooze buttons
that can be tapped. The main button in the bottom left corner snoozes
the alarm for 5 minutes (the Cancel and Snooze 5M buttons are
purposely designed to be big enough to easily hit with a finger so
you don't need to pull out the stylus to acknowledge the alarm).
Smaller buttons provide for 10, 20, 30, 60 minute 4, and 24 hour
snoozes. When an alarm is snoozed, the alarm dialog is canceled and
the alarm (and dialog) will re-appear at the snoozed time. When an
alarm dialog appears that was tripped by a snooze, the alarm icon in
the top left of the dialog changes to a set of Z's to indicate that
the alarm is one that was previously snoozed. Snoozed alarms will
still go off even if other alarms go off in the meantime, and will
also generate repeat sounds at the specified repeat interval (like
regular alarms) if they are not acknowledged.
On Palm III's, snoozes can also be assigned a different alarm sound
(see the Preferences item in the Options menu of the Daily View). The
selected sound for alarms or snoozes will be also be used for the
repeat sound if the dialog is not acknowledged right away.
Note that the 24 hour snooze can be a convenient way to deal with
daily reminders. For example, if you set a 10-day advance alarm for a
birthday, you can then just snooze the alarm by 24 hours to get a
daily reminder each day.
Snooze alarms will be canceled for an event if you make any change to
the event itself that involves alarms. This includes changing the
date, time or the alarm preset for an event. Also, if you delete an
event, any pending snooze will be removed as well. Although not
likely, it is possible to cause some strange events, by, for example,
setting a snooze, alarm, doing a hotsync, changing the alarm on the
desktop (where Datebk3 cannot see the change), and then hotsyncing
again etc. However, it was deemed more important NOT to lose snoozes
over a HotSync, so this type of "strangeness" is allowed as it does
no harm.
Be sure to run Datebk3 after doing a HotSync. If you do not run
Datebk3, it is barely possible that the built-in datebook application
may "grab" the alarms and ring them itself if the next alarm was
entered on the desktop prior to the HotSync.

Miscellaneous Improvements
There are several minor enhancements to the built-in Datebook
application that have been made:
Variable Purge Date and 'no-purge' events
An annoying limitation of the built-in Datebook application is its
inflexibility in specifying purge dates. With Datebk3, when you
select the Purge Event option, you get the standard Date picker
dialog so you can set any date as the purge date. By default, this
date is set to the last day of the month that precedes the prior
month, but you can change it to anything you like. Also, Datebk3
includes a warning if you try and purge events with the archive bit
clear just to make sure you understand that once this command is
issued, no record of the deleted event will be kept.
Sometimes, there are events that you never want to purge. In Datebk3,
you simply place the tag: <NP> (for No Purge) in the note field of
the appointment. That event will never be purged, even if it precedes
the purge date. Todo events from the Todo database are never purged
by this command.
Caution: Remember this is specifically a Datebk3 feature - if you go
back to the regular Datebook application and purge events, these
events tagged with <NP> will of course be purged along with
everything else.
If you have a specific category displayed, then only events in that
category will be purged - events in other categories will not be
touched.
Copy Event
There is a Copy Event item in the Record menu that makes a perfect
copy of an appointment, including all its attributes. Note that is
different from just using the Copy command in the Edit menu that only
copies text. Typical uses of this feature are (a) to make a quick
copy of another event, so all you have to do is make a minor editing
change and (b) to deal with appointments that span midnight - since
the architecture of the datebook database has no provision for
handling such events, the easiest way to deal with it is to use the
Copy Event command to duplicate the original event, tap the '1'
button to advance it to the next day and then tap the Time Selector
to set the new time for the event. To further facilitate this, you
can set up a template which starts at say 4am and ends at 23:59
(11:59p). If you insert this appointment at a specific time, the end
time, will be automatically adjusted so it stays at the largest
value, namely 23:59. 
The Copy event command can be used to copy normal or floating events
but not todo's.
Event Times to the Nearest Minute
Datebk3 uses its own custom time dialog rather than the standard Palm
OS time picker dialog. This dialog has the advantage that you can set
an appointment time to the nearest minute (handy for airplane and
train schedules etc.). Also, the layout of the hours eliminates the
need to scroll through a list that is too long to display all at
once. A duration button allows you to set the end time by specifying
a duration (see below). Also, if you touch the end time for an event,
you can then freely change the start time without having the end time
adjusted. If you adjust the start time first, the end time is
automatically adjusted to maintain the same event duration.
Set End Times by Duration
Occasionally, you enter an event where you know the duration, and it
is awkward to have to calculate the end time. Datebk3 caters to this
with a Duration button in the time dialog. When you tap on this
button, you can then enter the duration (hours in the left list,
minutes in the right list) and tap on Ok. On the return to the time
dialog, the end time will be automatically calculated for you. If you
tap on the Ok button when the dialog first appears, a zero duration
will be set for the event.
Quick 1 or 7 day advance
In the Details dialog, you will notice two buttons, one labeled '1'
and one labeled '7' to the right of the date selector. If you tap
this button, the date is advanced by one day or seven days - it's
just a quick way of handling the two most common schedule advances.
And of course you can tap the button repeatedly to keep on advancing
the date by that number of days. This is especially handy when you
want to re-schedule an event by a week, but the following week
happens to be in a new month or a new year.
Zero Duration Events
Datebk3 supports zero-duration events - i.e. events whose end time
matches the start time. First, a redundant time bar is not generated
for a zero duration event (as the current Datebook application does)
and only a single time is displayed in the details dialog.
Zero-duration events can be selectively filtered in the 2nd weekly,
monthly and yearly views. The zero duration can be easily set by
tapping on the time in the left column to bring up the time dialog,
tapping on the Duration button and then tapping the Ok button twice.
Note that there is also a preference option to make all new events
zero duration events rather than events of a default 1 hour duration.
Monthly View Improvements
A couple of small improvements were made to the normal monthly view.
First, instead of just three slots for morning, noon and afternoon,
there are six slots on the left (6a to noon) and six slots on the
right (noon to 6p). This makes it possible to see how busy a day is
and at what approximate time events are scheduled for.
The untimed event diamond is much larger and the daily repeat dots
are also more prominent, making it easier to see when such events are
displayed. There is also an option for both the monthly and 2nd
weekly views to suppress the display of zero-duration events.
Custom Week Numbers
As mentioned under the preference settings for the second weekly
view, there is a preference setting in that view that allows you to
set any week as the first week of the year. This week number will be
displayed in both weekly views.
Special Note: The Pilot appears to adhere to the ISO specification
for Week Numbers (the first week of the year is the first week in the
year that contains a Thursday). However, there is ambiguity if the
week starts on Sunday since the ISO standard also mandates that
Monday is the start of the week. The Psion, for example treats the
ISO specification as meaning the first week has 4 or more days of
that week. As a result, the Psion series PDA's have week numbers that
differ by 1 from the Palm Pilot 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, or have
week 1 mark the start of the academic year, etc.
Start with any View
A preference setting in the Day View allows you to select any one of
the five Datebk3 views to be used when the program is started. The
Day view and the second weekly views are the usual candidates for
this preference setting, but any other view can be selected too. Note
that the pushbuttons displayed in the preference dialog are identical
to the ones used to navigate between the views. Pressing the Datebook
button (when the Datebook button has been re-assigned to run Datebk3)
will therefore do one of two things:
If the pilot is powered on and Datebk3 is running, Datebk3 will move
to the next view in sequence. Exception: in the day view, if the
current date is not being displayed, Datebk3 will first move to today
in the Day view before going to the next view
If the Pilot was powered on with the Datebook button, Datebk3 will
start up with the view specified in the preference setting.
Quick Jump to Today's Date
To jump to today's date in any of the five views, simply tap the
button corresponding to the view that you are already in. Normally,
this button would have no function, so Datebk3 assigns a useful
function to it.
Untimed Event Sort order
Datebk3 sorts all untimed events at the start of the day and
separates them into categories, sorting them alphabetically within
each category. The order of these events is:
* Incomplete todo's from the Todo database 
* Completed todo's from the Todo Database 
* Incomplete floating events 
* Completed floating events 
* Untimed events 
Note that the alphabetic sorting can be used to sort the floating
events into priority order by the simple expedient of putting a digit
from 1-9 as the first character of the event description (i.e.
instead of Call John, Post letter, do: 1 Call John, 3 Post letter
etc.). Untimed events in the Datebook application are generally
displayed in two groups with non-repeat events preceding repeat
events (just a side-effect of the way that the code was written to
gather events). Within those two groups, items are displayed in the
order they occur in the database which usually (but not necessarily)
indicates the order in which they were entered. In Datebk3 all
untimed events (repeat and non-repeat) are sorted in alphabetic
order. This feature can be used to enforce a desired sort order by
simply tagging the event with a character. For example, it is handy
to tag all important repeat events with say an '*' at the start -
that guarantees they will sort ahead of all events that start with
normal alpha characters. By starting an event with a '~' you can sort
the events at the end of the list.
The sorting of untimed events could be deemed undesirable by some
people. If we have enough requests to revert back to the way the
Datebook application handles them, we could put in an option to
suppress the alpha sort on untimed events in a future version. Email
cesd if you have comments on this issue.
Day of Week Buttons in Day View
If you tap on the first day-of-the-week pushbutton, you are taken to
that day. If you tap it again, it will take you back one day more (to
the end of the previous week). In the same way, if you tap on the
last day-of-the-week button when that last day is displayed, it will
take you to the first day of the following week. It's just a nice
feature to move to the days adjacent to the first and last days of
the week while still using the stylus. 
Up/Down Buttons can scroll and then move
A preference option in the more preferences menu allows the Up and
Down buttons to scroll first before moving to the prior or next day.
If this option is checked, then when the Up button is pressed,
Datebk3 will first try and scroll to prior appointments on the same
day. If there are no prior appointments, then it will move to the
prior day. If the Down button is pressed, Datebk3 will first try and
and scroll to later appointments on the same day and will move to the
next day if there aren't any. 
If you choose to use this option, you may wish to uncheck the
following option.
Turning off the auto-scroll on today
The standard Datebook application has a feature to automatically
scroll the display on the current day when it is first viewed to try
and make sure that upcoming events on that day are not hidden below
the screen. Some people do not like this feature, so Datebk3 has an
option to turn it off. By default this feature is enabled. Note that
if you select the prior option (Up/Down Buttons can scroll and then
move) you may well want to turn this feature off, otherwise, when you
scroll forwards through today, you may miss some appointments/todo's.
On the other hand, some users will find this feature particularly
useful if there are a lot of todo's, as it will automatically scroll
the display so you can see upcoming events more easily.
Datebk3 Alarm Handling
Alarms set in the Datebook database have been handled by the built-in
Datebook application. With V-2.0, the default option is to have
Datebk3 handle alarms instead. By handling alarms itself, Datebk3 can
bring the features of a repeat interval and repeat count (as in the
Palm III built-in Datebook application) to all models of the
PalmPilot. However, there are some hacks and alarm add-ons that may
be expecting alarms to be set by Datebook and which therefore may not
work if Datebk3 handles the alarms. In that case, you may want to
uncheck the option: Datebk3 Handles Alarms in the Preference menu of
the Daily View. Whenever you change this option, be sure to do a Soft
Reset (just poke the reset button at the back of the Palm device) to
ensure that the switchover is made, otherwise, the two applications
could compete for handling alarms.
In V-2.1, you can also specify the number of times an alarm is to
sound in succession. On the Palm III, some of the custom alarms are
rather short, so this feature can be used to make them more
noticeable. The first alarm is sounded normally when the alarm
triggers. The remaining repeats continue after a short delay as they
are postponed until after the dialog appears. At that point, you can
cancel the repeats by pressing down on the screen with the stylus and
holding the stylus down until the alarm stops (a quick tap may not be
sufficient to stop the alarm).
It is possible that the first alarm that sounds after this option is
changed may not operate in the expected fashion, but it should be ok
for subsequent alarms (and may in fact almost always be correct for
the first alarm too).
After a reset or date change, the Palm OS signals the built-in
datebook application to reschedule its alarms. Datebk3 uses the same
database, but the built-in datebook application obviously does not
know about this. If you have the option set for Datebk3 to handle
alarms, Datebk3 attempts to kill any alarms set by the built-in
datebook application and reschedules them for Datebk3 so that all the
Datebk3 options apply.
The only known case where the built-in Datebook application can set
an alarm is if you enter a new event on the desktop application with
an alarm that qualifies as the very next alarm to go off, do a
HotSync, and then never run Datebk3 or do a soft reset. This is
considered such a remote possibility and is so complex to fix (it
would require an entire hack just to handle this one case), that it
has been ignored in Datebk3.
Eliminating all time bars in Daily View
If you set the start time equal to the end time in the Preferences
menu of the daily view and set both times to 12:00am (00:00 on a 24hr
clock), then Datebk3 will not display any time bars other than one's
associated with appointments. A day that has no appointments will
therefore be completely blank. Note that this only happens if you set
both times to 12:00am.
Hiding End Times of Events
This option removes the ending time bar in the daily view for an
event, so each event will never take up more than one time bar in the
daily view (unless its text wraps to more than one line). This option
replaces the Round Duration option of prior versions of Datebk3, as
it was generally used to accomplish this particular goal. The
advantage of this change in V-2.1 is that the ending time for the
event is not disturbed, while still achieving the desired display.
New Button inserts Appt., Float or ToDo 
The New button at the bottom of the screen in the Daily View can be
set to insert a new appointment, a new floating event or a new ToDo
from the ToDo database. The action is specified by the setting of the
preference pushbutton in the More Preferences dialog.
Selecting overlapped items in graphical Weekly View
If the start and end times for an event are identical, the built-in
datebook application makes it impossible to select the second and
subsequent events in the graphical weekly View. Datebk3 displays a
More button if there are two or more events with the same start and
end times, and allows you to view the details of each subsequent
event by tapping on the button.

dbScan - Datebook Database Integrity Checker
dbScan is a small utility program which performs an integrity check
on the Datebook Database. Just temporarily download the program to
your PalmPilot and tap on the dbScan icon in the application screen.
Press the Start button to run the program. If it finds an error, it
will display the error condition, record number, start date and the
first 24 characters of the description field. When you tap on the
Continue button, a second dialog appears where you have the option to
ignore the error or remove the record from the Datebook database.
The only thing you have to remember after running dbScan is to make
sure that if you remove some records, you set the preference for the
next HotSync so the PalmPilot overwrites the Desktop. Otherwise
HotSync will dutifully "restore" the records that you just removed.
It is 100% safe to run at any time, so you should have no concern
about running it. Most of the "errors" in the datebook database are
invisible because corruption usually means that the record won't be
displayed (example: record has an end date that precedes the start
date, etc.).
One of the more common "errors" is to have a repeat event that never
displays (and which therefore can never be deleted) because each
occurrence of the repeat event has a corresponding exception for the
same day.
If you experience some odd behavior in the Datebook or Datebk3
applications, it's a good idea to download this program and verify
that your database has no corruption or odd records in it.

Download Problems
You may encounter problems downloading a large application like
Datebk3, especially if you have a V-1 or V-2 PalmPilot as those
machines suffer from an OS that actually forces fragmentation of
memory(!). That serious design flaw was finally fixed in the Palm
III, so that should be much less of a problem.
HotSync is just not a stable application. As a developer, I probably
HotSync 30-40 times a day and it's truly amazing the number of
HotSync's that fail for no apparent reason. For example, I was
recently downloading version 2.0 of Datebk3 onto a 1mb V-1 Pilot that
had nothing loaded on it except the TRG defragger. I had defragged
the machine (I do that as a matter of course now as it does make a
difference) and still the HotSync failed with a fatal exception.
As near as we can tell, there are three main reasons why HotSync's
fail: 
* There is not enough contiguous memory - HotSync usually hangs or
gives a Fatal Exception error - I've NEVER seen it report the true
problem of being out of memory - clearly there's a silly bug in that
code. 
* An I/O error on the serial transmission. There is no easy way to go
about testing that, but it must surely happen and since HotSync seems
pretty poor at recovering from errors, this may well be one cause of
problems. 
* Time out. This appears to be more and more of a problem than
originally thought - if the host machine is busy, HotSync on the
Pilot can time out. 
This last item is significant. Some people attempt to do other things
while HotSync'ing, like downloading email, printing in the
background, loading programs etc. etc. and those can easily cause a
timeout condition on the HotSync. For that reason, we suggest that
you do not do anything else on your machine while you are HotSync'ing
- just leave it alone! This will reduce the number of problems you
see while HotSync'ing.
After resetting your Pilot, you may encounter the "looping reset"
problem where it keeps on flashing the splash screen over and over
again. There is no need to do a hard reset to recover from this
condition. Do a "warm" reset - hold down the UP button on your Pilot
while you poke the reset button and your Pilot will go to the
applications screen (with all hacks and the system OS disabled). You
can then find the partially downloaded program (you may see just the
name and no icon) and remove it with the MEMORY application. The
reason you see the looping reset is that whenever a reset is done, a
special RESET message is sent to all loaded applications, but the
Pilot does not, unfortunately, check to see if a program was loaded
properly(!) so the partially loaded application crashes when it gets
this message. The "warm" reset prevents this message from going out. 
There are two solutions to this problem: 
1. Use a defragger to defragment memory so you can load the
application. I use TRG's defragger which works very nicely. There is
also a defragger called Recycle by Deskfree. These programs are
available from Palm Archives. Since you've run into a low/fragmented
memory condition, you might find it worthwhile to get one of these
programs as this will not be the last time you run into this problem.
2. Perform a hard reset on your Pilot and download the LARGEST
programs first, followed by smaller programs. This will also solve
the problem as memory is not fragmented after a hard reset. If you do
a hard reset, you might want to read the Safe Hard Reset  procedure
below which tells you how to do a hard reset properly.
One final word of advice: do not do anything else on your PC or MAC
while HotSync'ing. Sometimes, errors can occur because the PC gets
tied up in some other activity (such as printing, loading a big
application, etc.) and the Pilot times out the HotSync application
running on the desktop. We recommend that you do nothing else while
HotSync'ing to download Datebk3.

Safe Hard Reset procedure
First, do a normal HotSync of your Pilot to your desktop. Then,
locate the PILOT directory on your desktop and the sub-directory that
is based on your HotSync name underneath it (if your hotsync was
"George", then there will be a directory called 'George'). In these
notes below, we will use GEORGE to represent the name of your hotsync
directory. Make sure that the HotSync completed normally, without
error
Make a copy of that entire directory (Select the \PILOT\GEORGE
directory and press CTRL/C to copy it, then select the PILOT
directory and press CTRL/V to paste it. A new directory with the
name: COPY OF GEORGE will be created. It's not a bad idea to make
copies of that directory from time to time JUST in case it gets
corrupted for some weird reason.
Do a hard reset on your pilot - Hold down the ON button while poking
a paper clip into the small RESET hole on the back of the pilot.
Release the ON button. You should now see a message on our Pilot
saying ERASE ALL DATA? Respond by pushing the UP button to confirm
that you want to do that. You will need to recalibrate the digitizer
screen. If you don't see the ERASE ALL DATA? message, just try the
reset again (let go of the paper clip BEFORE releasing the ON
button).
Click on the HotSync icon on the toolbar at the bottom right of the
screen (Windows95). Under Win3.11, you would have to locate the
HotSYnc program and launch it (I think! been a while since I used
Win3.11!). A popup menu appears, select the CUSTOM option and a
dialog appears. On the left is the name of a conduit (for each
application) and on the right is the action to take. Normally, the
action is to 'synchronize the files'. For each application that says
'syncrhonize the files', select the conduit and click on the CHANGE
button. In the new dialog that appears, click on the option that
says: DESKTOP OVERWRITES PALMPILOT and click on OK (make sure the SET
AS DEFAULT checkbox remains UNCHECKED!). DO the same thing for the
SYSTEM conduit. When you are done, click on the DONE button in that
dialog.
Now do a normal HotSync of your Pilot. At this point, you will have
restored your machine with a couple of exceptions:
1. Any system type preferences (time,date formats, etc.) will need to
be set again
2. Any 3rd party applications will now need to be re-installed.
You might start out by installing the largest applications first (in
particular, I suggest you install Datebk3 at this point).
If there are any third party applications whose data does not appear
to be present on your pilot, their data files should have been stored
in the \PILOT\GEORGE\BACKUP directory as *.PDB type files. Just use
the regular PalmPilot install program to install those databases from
that directory (or from your 'Copy of George' directory if they
appear to have been overwritten for some reason).

Registration Information
Datebk3 Registration:  $20
Upgrade from WeekView to Datebk3: $10
Register on-line through KAGI (http://order.kagi.com/?PUD). There is
a windows program called REGISTER.EXE that can be used to prepare an
order for emailing or faxing to Kagi. This program also encrypts the
credit card information to make it safe for transmission. Other
registration options are avaiable at
http://www.gorilla-haven.org/pimlico/order.htm 
For information on ordering, point your browser at: Datebk3 Ordering
Information, tap on the i symbol on the title bar of the Registration
Info dialog in the Options menu in Datebk3, email cesd or write to
this address:
Pimlico Software
2031 Lowery (Old Loving) Rd
Morganton, GA 30560

Suggested/Planned Enhancements
1. Ability to put an entry in bold text to make it stand out
2. A display-next-occurrence-only attribute for repeating
appointments (as on the Psion)
3. Display years since start year for anniversaries (yearly
appointments)
4. 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).
5. Further language support. All text is in resource files, so it
will not be difficult to generate customized versions for various
languages (German and Japanese has been done, French, Danish and
Norwegian are in-progress, and Spanish is also planned).
6. One-tap alarm (so you can set or clear an alarm without having to
invoke the Details dialog (3 taps).
7. A List type view which would list appointments in chronological
order with the date and time and be fully scrollable. Especially
useful if it could just show Todo's (the only thing that the todo
application is useful for)
8. 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.
9. Display a small dot in Yearly view to show that there is an event
there even if it is not significant (so a completely blank slot shows
that day to be completely empty.
10. Adjust display for left-handed users
11. Have two tables in Day View - one for Todo's and one for
appointments that can be swapped vertically and re-sized.
12. Allow selection of specific categories to be displayed. (Planned
for V-2.2)
13. Time Zone support (planned for V-2.2)
14. Appointments spanning midnight and lasting more than 24 hours.
(Planned for V-2.2)

(c), 1998 Pimlico Software. All Rights Reserved
