Outline View (Dec 28)

The Goldenseal Pro ‘outline view’ is now working, and it looks very snazzy! It will reduce clutter and make navigation much easier. Still rudimentary, but we’ll refine it.

The Macintosh interface is far enough along now that we’ve switched over to Windows programming for a while, to get that code caught up to the Mac version. After that, we will work on both, approximately in parallel.

After 3 months of grappling with Cocoa libraries, we now understand why it was so hard to find contractors to do the Mac update. Cocoa is rather programmer-unfriendly, especially for existing apps written in C++.  As a result, Microsoft is just starting to use it for Office, and Intuit is abandoning QuickBooks for Mac, rather than update it. We kinda assumed there would be a huge cottage industry of experienced Cocoa converters by now, but in fact they don’t exist.

Doing the work ourselves is definitely slower, but the good news is that we can try new approaches, and improve the interface as we go.

The fact that Mac programming has grown more difficult also has its bright side.  It sucks to spend months of programming just to stay in the same place, but there is less competition now, than 10 years ago. There are a few big apps and many small ones, but not much in the middle. That leaves many empty niches to fill.

Dennis Kolva
Programming Director

Goldenseal Pro Menu Commands (Dec 16)

Right now, Goldenseal has 316 different menu commands which each open a different type of window.  There are 17 accounts, 51 transactions, 95 lists, 24 action dialogs, and 129 reports.  Running a business is complicated! We probably can eliminate a few commands, but nearly all are needed by at least some users.

In Goldenseal Pro we plan to reduce the number of menu commands and windows, to make navigation easier.  As a start, we just finished a Preferences command that consolidates 8 menu commands into a single window, with tabs. The new Preferences window looks nice and works well.

Using the same approach, we can probably convert those 316 menu commands to 30 or 40 windows with tabs. It will reduce clutter, and group related items together. For example, the Estimating command will show Estimates, Allowances, Bids, Project Phases, Cost Items and Assemblies all in one window, with tabs to switch between them.

There is another approach we are working on, that consolidates the menus even further. It has a column of accounts, transaction types and lists on the left, grouped in folders that can be opened or closed. Click on one, and that type of record fills the rest of the window, on the right. It works the same as tabs, but handles more choices.

Once we finish the Macintosh data entry windows, we will get caught up to the same place in the Windows version, and then release them as a ‘pre-alpha’ version so users can try out the new interface(s). There are many fussy details to address, so it probably will take a month or 2 until we get to that point.

Dennis Kolva
Programming Director


Smart Fields (Dec 5)

Back in 1985 we started to write estimating and accounting software in Lotus 1-2-3 on a Tandy 1000, and then in MS Excel on a Mac Plus. It first sold in 1987 as MacNail 1.0.

At the beginning, the spreadsheets had vendors, cost categories and jobs as plain text fields.  Unfortunately, reports would show Smith and Snith as separate jobs if you made a typo.  Even worse, an extra space character also split it into a different job, even though it looked identical on the screen. OK for perfect typists, but not for humans.

We switched to number codes, but that was hard to remember.  So we added “lookups” that showed the name next to the number.  Better, but you still had to memorize hundreds of numbers, or use a cheat sheet, or guess a lot. The lookup formulas were also very fragile.

Back then, Bruce Tognazzini was the “interface guru” for Apple.  He wrote about a hypothetical disambiguating field, designed to choose items from a list by typing the first few letters.  It also had a popup button so you could enter data with the mouse. The setup sounded ideal for accounting data. There was nothing at all like that in Excel, which was one reason why we decided to develop Goldenseal as a stand-alone accounting app.

Apple never added the disambiguating field to its standard controls, so we wrote one from scratch.  Disambiguating seemed too odd a term, so we called them clairvoyant fields.

When we started the Cocoa update this year, we were excited to see a class called NSComboBox. It looks like a disambiguating field, with text and a popup button.  Unfortunately, when we tried using it, it turned out to be just the opposite.  For accounting, everything needs to go into a specific vendor account, job and cost category.  It’s nice to have an easy way to add new accounts, but you do not want to create a new account every time you make a typo.  Unfortunately, the combo box gives suggestions, but is happy to accept whatever you type. We tried hacking it, but it is just not meant to have other behavior.

So, we are now in the middle of redoing clairvoyant fields to work with Cocoa native controls.  It will be a text field next to a popup button, just like before. Type a few letters and it shows a list.

Clairvoyant fields sound too complicated, so they’ll become smart fields.

It will take some experimenting to come up with a new look for them. Probably a gray border? It needs to look good on Mac, Windows, Android and iOS.

As a boon to data entry, popup fields will also become smart fields. That way, you can do all data entry from the keyboard, and never touch the mouse. It will be a Preferences option, so you can keep the original popup appearance, if you prefer.

Dennis Kolva
Programming Director