Inside Macintosh Cocoa (Nov 25)

When we first started work on the Goldenseal accounting software, there was a set of printed books called Inside Macintosh. It was 7 or 8 volumes, about a foot wide, and pretty much the Bible for Mac developers.  Our copies grew battered from constant use, and we had a ‘cheat sheet’ that pointed to the pages we used most often.

These days, Apple’s documentation is all online. Unfortunately, it’s also more scattered. The Web makes it very easy to find answers quickly, when you know what question to ask. Unfortunately, it also seems to make discovery harder, when you don’t know if something exists in the first place. Hard to search, when you don’t know which words to use.

For example, last week we set up the record window layouts, but then stumbled upon a Cocoa class that makes record scrolling seem more like pages in a book. To use it, we had to throw out what we did, and start over.

To help discover what else we don’t know, we are now gathering all of the Cocoa classes into a spreadsheet.  It won’t be Inside Cocoa, but at least it will show everything it can do. There are already 250 rows, and it’s not even half-way done, yet. The project has already turned up several nifty classes that will improve the interface, without much effort.

Meanwhile, we also spent the last couple weeks improving the new database code. It was giving a few error messages after converting old files to the new format, and those bugs are now fixed.  It also does a better job of deciding how long records stay in RAM.

For a while, we were concerned that we might have made a mistake by writing our own database code, instead of licensing from someone else. However, so far it is working extremely well. It’s much simpler, and probably will be much more reliable. Between 1998 and 2015 we rewrote more than half the old NeoAccess code, so replacing the rest was not as overwhelming as it might have been. And, of course, alternatives like Core Data or SQLite have their own bugs, quirks and design flaws.

Dennis Kolva
Programming Director

Goldenseal Pro Progress Report (Nov 11)

We are now in the “middle” stage of the Goldenseal Pro project.  There are many different things we can work on, and it doesn’t matter which we do first.

When we removed blocks of obsolete code last year, we replaced them with one line of code that gives a beep. So, as we make progress on the interface, it also starts to beep a lot. Eventually that gets too annoying, so we go in and add code just to shut it up. For example, this week we added ‘new style’ code to handle dates, times, and error messages.

Judging by how the work has gone so far, I think we will have something ready to ship by late Winter 2017.

Dennis Kolva
Programming Director