The Official WaterMark Homepage

January 17, 1998

Soon to be the premier personal finance application on your Linux desktop.

Intro to this page

Yes this page is pretty stark. It won't be very nice at all until we have a presentable application. Info maybe out of date, and as of this writing the code available here is NOT meant for anyone to actually try to use. As stated below it is for developers and curiousity seekers. When you start seeing things like a nice logo on this page, a nice layout, user docs, etc. then you will know it's progressing pretty well.

  1. Introduction to WaterMark
  2. Introduction to KDE and GNOME
  3. Stages of Development
  4. Recruiting
  5. Who's Who

Introduction to WaterMark

WaterMark is a fresh start on a personal finances application for X. We are attempting to deploy WaterMark on the KDE and GNOME environments in parallel, but central development will be Gtk based without regard for desktop environment.

WaterMark will be a fully functional personal account manager with full graphing and reporting capabilities. It will handle account registers, budgeting, and reporting. By deploying on GNOME and KDE, we will present a uniform look and feel with the free desktop of your choice, depending on your definition of free.

Without getting into the technical details (you will be able to get those details as they appear here on this page), the WaterMark developers aim to support at least XML and QIF data formats, full KDE/GNOME User Interface Compliance(eventually... primary focus is a nice looking Gtk interface), and optional OpenGL/Mesa 3D graphing capability (Quicken uses a pseudo-3D view for graphing, I say go for the whole enchilada.)

WaterMark is released under the GNU General Public License (GPL). You will find this license with the distribution and should be aware of two primary points. This software comes with NO warranty, and it is copyright by Brian H. Cooper and all developers who contribute to the software. We pass along all rights of the GPL to you.

Introduction to KDE and GNOME

I have no interest in the whole licensing issue between these two environments, but here is the basic difference:

KDE uses the Qt GUI toolkit which is a commercial product though free (in money terms) for free software. GNOME uses the Gimp ToolKit (GTK) which falls under the LGPL.

You can find all the information you want about either system on their homepages:

Stages of Development

First, please do not harrass me with suggestions or wishlists for WaterMark. From the description above you should have a good idea of what it will become. I have done a little work on coding the internal structures and barely started on the GUI, but we still have much design work to do.
Second, though I am providing source on this page, this is ALPHA code. It may not compile, may not run, may not untar even. Please do not send bug reports. We know there are problems and there is a long way to go on this project. Code is provided for potential developers and curiousity seekers. It comes with no warranty or guarantee. You play with this code at your own risk.

  1. Checkbook Program
    Stage 1 creates a usable checkbook register. Supported account types are "Checking" and "Cash". The "Other" account type will be available but will in most cases become obsolete in favor of the real account types provided in later stages. Functions are adding and deleting new accounts, editing account entries, administrative (help, quit, currency and other options, etc.) This is our core account handling and the most used User Interfaces. No file handling is provided. So even though I say "usable" it's not really since you can't save your work. You shouldn't be trying to at this point anyway.
  2. File Import/Export
    Stage 2 provides file handling. The implication of moving to Stage 2 is that Stage 1 is believed to be a stable core and we actually think it is a good idea to save the info coming out of it. A general Import/Export scheme is devised so that modules for different formats can be added. Current goals aim to support XML (Extensible Markup Language) and QIF (Quicken Interchange Format). Other formats may be added through the general import/export support. The special cases "Open File" and "Save File" map to importing and exporting XML format files.
  3. Graphing and Reporting for Stage 1
    Stage 3 is just what it says. This stage is where we will really need some help to flesh out all the graphs and reports that users want. When Stage 3 is complete (subject to definition, there will always be new reports added) you will have a useful account manager and tracker with pretty graphics to boot.
  4. Budgeting Program
  5. Graphing and Reporting for Stage 4
  6. Review and Redesign
  7. Extended Account Types
  8. Graphing and Reporting for Stage 6
  9. TBD
    To Be Determined
Version Numbering convention is [Stage #].X where a Stage number as major component indicates full completion of that stage. The X's are chosen at my mad whim. The current version is 0.1.


If you are interested in contributing to this project, please send me (my address appears at the bottom of this document) a description of what you would like to work on. In my Code Manager role I will try to coordinate work and will integrate patches that are sent to me. Please do not send patches without getting in touch with me first.

For GUI contributions: It will be greatly appreciated if these are submitted as pairs, a patch to support both Gtk and KDE/Qt versions. Jan 17 Mod: Although this would be nice, we are really only gung-ho about Gtk at this point...

WaterMark is being developed in C/C++. Don't bother suggesting that the C portions be converted to C++ and all the cutesy things it can do. Work with either as you see fit.

Preferably you will choose one of the tasks outlined below. Other tasks and features that you really, really think I haven't thought of and are applicable to the current stage are eligible for discussion (An example is to offer to write non-XML non-QIF Import/Export routines after Stage 1 is complete. Here are the needs I foresee:

Who's Who

Okay, here it is. The current Stage 0 version. This is really just for developers to bounce ideas off of:

Brian H. Cooper, 1997