Versions (Aug 13)

TurtleSoft released Goldenseal accounting/estimating software in 2000. It wasn’t long before we wanted to change it. New apps are never perfect in version 1.0. Heck, automobiles have been around for 138 years and they’re still getting big rewrites.

There’s a problem when we add new data fields. Users may already have records with the old setup, so the new code must accept two different arrangements. The solution is to use a file version number. When you read from disk, the code branches, depending on the version. Some data classes have changed many times: the current maximum is 9.

Layouts for data entry screens, reports and printed forms also need a version system. For example, we added help text to data fields in late 2000, then to buttons in 2001, then to breakdown tables in 2002. Each change added more data to read, so layouts also need different versions. The current max is 14.

For users, versions are invisible. For programmers, they are a PITA. Branches are easy to screw up. They clutter up the code base, and cause hard-to-find bugs.

Our new accounting software is a chance to start fresh. Once you convert your Goldenseal accounting file into the new app format, it bypasses all the old version branches. Some day we can delete them.

Likewise, new layouts are stored as text, not binary. Some day we can clear out the complicated code that reads Goldenseal layouts. In fact we won’t need many versions from now on, since text is less fussy than binary. We can add stuff at the end of a line and just continue if it’s not there.

Versions are one reason our staff has taken so long for the 64-bit replacement. We want to make all the big changes before the first release. Getting it right at the start avoids headaches later.

Meanwhile, our staff is still working on Custom Layouts. It’s now possible to add new fields and graphics. Colors can be partly transparent. Circles and ovals finally draw right, after much frustration. Lines are still a challenge. You’d think they’d be simpler than rectangles, but they’re not.

Dennis Kolva
Programming Director
TurtleSoft.com

Author: Dennis Kolva

Programming Director for Turtle Creek Software. Design & planning of accounting and estimating software.