An Incremental Implementation of Functionality:

A break down of the work to be done.

Note: All 3 stages are now complete… time permitting, I'll now do some of the optional work. Give me some feedback if a particular optional featureinterests you.

Initial Notes (before commencing):

Offline boolean variable

Single-user mode (initially)

Stage 1

support schedules (no contact support yet)

Support checking for valid alarms

checking alarms:

start announcing valid alarms with proper dialogs:

Stage 2

multi-user support

program settings dialog

Implement entering contacts (no company support yet)

Stage 3

Implement Company support

implement search facility:

implement online help:

implement installation program:

Memos about Optional Work

Task bar applet

Port to ODBC Socket Server

Working Offline



Initial Notes (before commencing):

These are the deadlines imposed by my university degree. I really hope to stay miles ahead of this schedule, and hence get to the optional functionality listed at the end of this document, which is where I get to have fun!

That having been said, though, the minimal "core" functionality promised is an software emulation of a pocket organiser, that runs on various MS Windows platforms, that allows users to share data to some extent.

Part of the learning curve for me is the discipline involved in keeping up with providing core functionality, balanced with treating extra, more exciting things as they come up… like compiling the program across multiple platforms, so that the multiple users don't all have to be sitting in front of computers running boring old MS Windows!

Offline boolean variable

From the very outset, all references to database classes should be conditionally linked to an "offline" boolean variable, which will stay set as true until the very end of the project. This will make the online support easier later on, and may make porting to another back end easier as well. Since this will use local ODBC drivers that support a local database file (in Access 97 format), this work about to be carried out forms the Windows 9x/NT platform dependant offline back-end, with the port to an "online" socket server happening later on.

Single-user mode (initially)

Establish an "everybody" user and group (using Access 97), and set the current group to "everybody" in a constructor or init function of the program for now. Later on the program will build its list of groups based on the current program user.


Stage 1

After contact manager prototype available (this is done, stage 1 is currently underway)

End: 24th July 2000

Establish Single-user version first


Note: Try to keep this code as "self-contained" as possible, so that it can later be ported to an "alarm-checking applet".




Stage 2

Start: 24th July 2000

End: 14th September 2000




Stage 3

Start: 14th September 2000

End: 7th November 2000









Optional Work

(email me if you have a suggestion):