Goldenseal Pro Alpha 1 for Mac (Apr 27)

The first Goldenseal Pro Alpha is now available for Mac. It requires OS 10.11 (El Capitan) or 10.12 (Sierra). It will not run on older Mac OS versions.

To run the alpha version, follow these steps:

  1. Click the link above to download the software.
  2. It is compressed, so you may need to double-click to decompress it, if your browser does not do that automatically.
  3. Open the GS-Pro-Alpha1 folder, and double-click on the Goldenseal-Pro-Alpha1 app.
  4. Choose Open Business File from the File menu, and open Test-File.  The outline on the left contains all your accounts and transactions. Open the folders and click to see one or more types of records. They will appear in the main part of the window, with tabs at the bottom to navigate between them. You can also use separate windows like the current Goldenseal (right now the only one that works is Prospects, in the Records menu at the top of the screen).
  5. This is an ‘alpha’ version, which means that many things do not work yet. You are welcome to explore the app but some things will do nothing. Some may give error messages or crash the program. You probably will hear random beeps (we add them to unfinished code so we don’t forget). No need to report problems in this version.

To check how well your company file converts to the new format, follow these steps:

  1. Make a copy of your company file.
  2. If still running Goldenseal Pro, choose Quit from the Goldenseal Pro menu.
  3. Open the GS-Pro-Alpha1 folder, and double-click on the Goldenseal-Pro-Alpha1 app.
  4. Choose Open Business File from the File menu, and select the copy of your company file.
  5. Goldenseal Pro will ask you if you want to convert your old file, then will ask you where to save the new file, and what to name it.
  6. The conversion may take a minute or two.  When it finishes, choose Quit from the Goldenseal Pro menu.  If the conversion gives errors or can’t finish, please let us know so we can improve it before the final version.

Dennis Kolva
Programming Director

Goldenseal Pro Progress Report (Apr 18)

The Mac version of Goldenseal Pro has come to a good, temporary stopping point.

It shows most fields in the data entry screens, but we are still working on  breakdown tables.  They are by far the most complicated part of the interface. The Cocoa half of that code is ready, but the new tables are very different from the PowerPlant tables we used in regular Goldenseal.  We can probably delete 90% of our existing table code, and make a much simpler connection.

However, before we do anything that drastic, it’s time to see how tables work in the Windows version, using their MFC library.  So, we will switch to Windows programming for a while, and get it caught up to the Mac version again. Then we can design the new table classes so they work well on both platforms.

The Mac code is ready for an alpha version. We’ll release it next week, after we do more testing.  Nothing you can use to run your business yet, but it’s a chance for users to see (and comment on) the new interface.  Also, you can use it to convert your company file to the new format, and see how well the translator works.  That way we can see what breaks on real data, and fix it before the final release.

Dennis Kolva
Programming Director


Turtlesoft 30th Anniversary (Apr 10)

30 years ago this week, Turtlesoft sold its first copy of MacNail. It was a set of estimating templates for Macintosh Excel 1.03, spruced up from the spreadsheets we used for Turtle Creek Carpentry. MacNail came on one floppy disk. The label had a nail head that we whipped up in MacPaint, and printed at 72dpi dot matrix.

As we overhaul the Goldenseal source code this year, it’s fun to think about how much has changed since 1987.

Back then, the Mac Plus was an expensive, high-end machine that came with 1 megabyte of RAM. That was generous for the time (MS-DOS maxed at 640K), but programmers still had to be frugal. Our staff spent many hours thinking of ways to shrink the MacNail spreadsheets by 1 or 2K. It was a big deal, deciding whether to use 1 or 2 or 4 bytes for a value.

These days, programmers can count on a few 1000 megabytes of RAM. It’s often reasonable to use an 8-byte value, just in case that number gets too big in some weird future world. We wouldn’t want Goldenseal to fail when you start work on your 2-billionth project, right?

Back then, it took 3 minutes just to open the MacNail spreadsheet file.  Progress bars and spinning cursors were vital, to let people know the computer hadn’t frozen.  Having a big progress bar helped, so you could do something else across the room, and see when it was almost done.

These days, processors are 100x faster. This week we removed all the code that spins cursors, because modern machines are so fast they don’t need a rotating clock or hourglass. We kept the progress bars, but they’ll be a subtle little bar at the bottom, rather than a full-size window. There aren’t many things that will take more than a second or two.

When we first began programming Goldenseal in the mid 1990s, it took 7 minutes to rebuild the source code, even if just one word changed. Large changes had to run overnight, and complete project rebuilds took a whole weekend.

These days, Goldenseal rebuilds in 15 to 150 seconds, depending on how much changed. That means many more cycles of writing-and-testing per day. Practically speaking, programming is much less draining when you can make a change and just try it out, rather than triple-checking to make sure the logic is correct before daring to build it. Programmers can think more about large design issues, and less about punctuation and typos.

Back in the 80s, programming languages were still young. They broke a lot, and required complicated coding to accomplish anything.  Just drawing a button on the screen could easily take 30 lines of rather complex code.

These days, C++ and other languages have matured.  They’ve added well-tested libraries, so it’s possible to write code that runs fast, and won’t crash. There is still plenty of learning curve for each new library, but the Internet makes it relatively easy to find tutorials and answers.

Meanwhile, Goldenseal Pro is just starting to fill data into breakdown tables. Half the work seems to be throwing out all the old code that we don’t need any more.

Dennis Kolva
Programming Director