Goldenseal Pro Colors & Resources (Feb 1)

We just added color lookup tables to Goldenseal Pro (the coming update to our accounting and estimating software). They are the last of the resources that needed updating.

Color lookup tables (aka CLUTs) are pretty much a vestige of 1990s computing. To save space, 8-bit colors were common back then. To choose an 8-bit color, you select from a palette of 256 choices, rather than click on a full 32-bit color wheel. 

In the current version of Goldenseal accounting software, we use an 8-bit color palette for text and graphics in data entry layouts, printed forms and reports.  The system CLUT is mostly bright colors, so we replaced it with a custom version that includes more pastels (for field backgrounds) and dark colors (for text and borders).

32-bit color is close to the limits for human vision, and it’s worth having for photographs and videos. However it’s overkill for tiny color blobs like text and field borders. For those, 8-bit is perfectly fine. For example, Microsoft Excel shows a limited palette of colors for text and cell backgrounds. It’s easier to use than the full color wheel.

However, these days it is easier to program the standard color-choosers, rather than write custom code to show a palette. Goldenseal Pro still needs to support 8-bit colors so existing layouts read in correctly, but we will convert them to 32-bit colors when saved in the new format. It does mean you’ll have more choices for colors, especially if you want bright ones.

As for resources, they are a design feature that was first made common in the early Macintosh. Resources store program data that can be changed without any coding. It means that programmers (or users) can switch text to a different language, change field details, or add keyboard shortcuts to menus, without needing to rebuild the source code.

Mac OS 9 and earlier used a program called ResEdit to modify resources. It let users “hack” app resources, so they could change certain details of their software. We also used resources to set up most of the interface for Goldenseal.

Unfortunately, there is no equivalent resource editor for Windows, nor for current Mac OS. To update resources in the current version of Goldenseal, we actually have to go back and run Mac OS 9 on ancient hardware.

Goldenseal Pro uses modern Cocoa and MFC resources. That means they are user-accessible again, in both Mac and Windows version. Users or developers can translate the text to a different language, fiddle with colors, or tweak a small detail for a data field. Most of the resources are simple text files, but some use XML (eXtended Markup Language, similar to the HTML language used for websites).

It takes some effort to change resources, but that is how it should be. We don’t want it to be too easy for inexperienced users to accidentally mangle something important within the software.

The update to Goldenseal Pro is a long slog, but it does bring significant improvements. Better colors and resources are just a small part of that.

Dennis Kolva
Programming Director


Author: Dennis Kolva

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