Alpha 1 Changes:

The a1 release added the following:

File converter for older versions of HA.
The IAC Toolkit (which adds the Core Suite of Apple Events).
A print engine (prints only grided window data).
A Registration system.
A Save As Text system (allows you to use another application to print window data).
A Font Color menu (mainly for the Help system).
A general purpose Color Grid class (handles color correctly in a grid).
A functional Date Filter class.

The preference system was enhanced to include the following views:

Security, which now has three selections; None, File and Memory and File.
Print, which allows each window to have a different page setup.
Chart (only makes space available for this future feature).

The following improvements were made:

The calculator now has; compound, annuity, random and totalize functions as well as a description of the selected function.
The Progress window has been generalized.
The Help text is now editable and savable.
HA now creates a resource fork for files that it creates and adds system 7 Finder string resources and a version resource.
Errors are now reported after the startup process completes.
The RDF (Rainy Day Fund) is now functional.
An animated beach ball is used in many areas that require a lot of processing time.
Home Accounting was updated to CPX 1.0.2 and compiled with version 1.0.3.

Alpha 2 Changes:

The a2 release converted HA from a window centric application to a view centric application. This means that view classes were used to break up the code into smaller and more manageable pieces. This also reduced the size of the window sections (which reduced the chances of corruption).

The a2 release added the following:

A reconcile function.
A Palette Manager system (manages color resources).
Window Manager and View Manager classes to isolate HA's classes from the ABC's.
A Percent Filter class.

The following improvements were made:

Help resources can be added and deleted.
The Register window was redesigned to work on a 9" monitor which required functions to broken up into functional groups selectable from a popup-menu.
The Register view was expanded to show the entry number, cash account, budget account and budget type of data base records. Also, the cleared balance, starting balance and budget balance for displayed records is shown.
The Color Grid class methods were rewritten so that they can be accessed from other classes.

Alpha 3 Changes:

The a3 release was a major rewrite that took eight months to complete. Up to this version the data managed by HA was contained in persistants and managed by each method that referenced the data. As requests for new features rolled in, maintaining the data and code became a nightmare. A single change in the structure of any data item ended up requiring most of the code to be rewritten. This design is reflective of a procedural type language. A procedural type language generally couples the interface (user interaction) and model (data interaction) layers together which intern creates the previously described problem.

The largest change in the a3 version was the separation of the interface and model layers. The model layer is composed mostly of the data base engine. The data base engine manages many data bases in HA. I created an application, Home Video Library, to efficiently create and test the data base engine. The data base engine was then imported into HA.

The next largest change was in making HA handle multiple open data bases. This required a complete rewrite of the window management, security, preference, error management and document management systems. The application classes had to be rewritten to handle multiple documents differently than the ABCs.

The Menu system was rewritten and is managed mostly by the application class. The window classes only manage those functions specific to them (which are few). The application class enables and disables menu items based on context. There are several menu items that now deal with manipulating multiple data bases and future window features such as, tiling and iconizing.

The following highlites several additions of the a3 release:

A Documents Manager class allows the user to close a data base or select the active data base (the data base that receives menu actions).
A Date and Time management system.
A Window Info Manager class which manages a data base's window information.
An Address book to connect budget account creditors to a creditor data base.
New preference views; Address, Errors and Layout.
A Check Number Filter class (prevents multiple entries of a check number).
Created a popup-menu class that disabled metacharacters so those characters can be used in account names.
A dynamic Memory Monitor floating window to help the user (and my testers) watch memory consumption during use.
A bug reporting/status system.

The following highlites several improvements:

The application class now recognizes and works with both multiple year and single year data bases.
The error management system now allows delayed reporting of errors for failures that occur deep inside filters (or any other code). There are now two error window's available, small and large. User defined error codes are now allowed.
The application preferences and data base preferences are now separate preference systems.
Many window items are now enabled and disabled based on context.
The Budget and Budget-Monthly windows now operate independently of each other.
The Window Bar window is switchable between horizontal and vertical positions.
The 50 entry limitation was removed from all development releases.
The reconcile function is now a separate function of the Register window.
Separated the application password from the data base encryption password.
The class structure of the source code was relayed out into functional sections.

Alpha 4p1 and a4p2 Changes:

The alpha 4 version is the final conversion step in converting Home Accounting from a procedural type application to an OO (object oriented) type application. The current version of the data base engine is designed around a record number rather than entry position.

The following highlites several additions of these releases:

A window item flasher system.
Created a multiple column scroll list class (Prefs Grid View).
A functional help button to windows that have multiple function views.
A tutorial (SimpleText format).

The following highlites several improvements:

Ported to CPX 1.2.2 (never ported to 1.1).
Most query windows now allow button selection from the keyboard by their first character.
The About window can be closed by pressing any typeable key.
The Cash and Budget preferences have been split into separate preference views (Cash and Budget).
The Print and Save As Text preferences have been split into separate views (Print and Text).
Removed the non-budgeted account system.
You can now enter negative dollar amounts with the reconcile function.
Modified the reconcile function to work on the register display list rather than the sort list.

Alpha 4p3 Changes:

Ported to CPX 1.3.
The Prefs Grid View now handles the mouse button being held down on the arrow buttons of it's scroll bar.
The color controls in the Palette Manager now handle the mouse button being held down on the arrow buttons.
All Apple Events, Core Suite, are now implemented. This required the creation of the IAC Manager class.
The Transfer function in the register window is now active and allows you to make a single entry to transfer funds from one cash account into another.
You can now assign a page setup for a window directly in the Print preferences view.
HA can now be compiled with the latest version of the Power PC Compiler (1.0b6) if the complexity of a single method in the Budget-Monthly window is reduced. There are now three versions of HA available; 68k, PPC and FAT binaries. The heap resource has been adjusted for all four memory models.

Alpha 4p4 Change Status:

HA's code has been relayed out (by sections with new naming conventions) to eliminate as much ABC fixes as possible.
Mac Toolbox code has been moved to universal sections for the Windows port.
Many functions have been moved to stand alone sections and are packaged as extension sets which makes them easier to use in other applications.
Modified the search engine to do either an exact or approximate match.
Modified the account preferences views to use an exact search function when dealing with account names.
Most Find and Find Again functions use the approximate search function.
Reduced the size of the Budget-Monthly window.
Added code to the Budget and Budget-Monthly classes in preparation for charting their data.
Added a year selection popup-menu to the Budget and Budget-Monthly windows, which allows selection of the year of the data to be displayed. This year selection now appears on the printouts.
Added a Dynamic Multiple View Editor.

I expect to have the Register Layout system, ICC Manager system and have HA access the data base engine completely by record number in the February release.

Author: David Bishop


Last updated: Mar 4, 2011