Complexity (Nov 30)

Our accounting/estimating software is complex. There are all sorts of weird details that it must deal with: project dimensions, retainage, material returns, subcontractor insurance, plus a thousand other business quirks.

Fortunately, once we write code for those things, it stays put. No need to rewrite them as computers evolve.

Sometimes there are bugs: usually because we forgot to handle some specific situation. Those are easy fixes. It’s usually just a few lines of new code, with little risk that it will break something else.

Sadly, to make our accounting work, we need a GUI framework (Graphic User Interface) to handle mouse/keyboard inputs and screen display. The app also needs an OS (Operating System) to manage the GUI, memory, and hardware. Plus an IDE (Integrated Develop Environment) to compile and link our code into something you can download and use.

All those are way more complex. Our software is made up of about 2,000 files: source code, images, layout resources. The Qt GUI framework and IDE have about 400,000 files. For Mac, Qt uses Xcode with another 500,000 files.  There’s no easy way to count the OS code bases from Apple and Microsoft, but they must be in the millions. Probably tens of millions. Maybe even hundred millions.

I’ve ranted about this before, but modern computers and internet have become too complex. TurtleSoft is built like a comfy little house made of C++ text, but it sits atop a deep bed of quicksand. Apple and other huge companies make their living by adding pilings, posts, chains and matting to it, but the whole mess still is intrinsically unstable. There are too many layers of old code. Nobody understands more than a small slice of it.

Our staff ran into that fragility this week when we updated to the newest version of Qt. It gave a mystery error message when trying to build the new accounting app: “No rule to make target. Stop.”

We fiddled with things, to no avail. Posted to the Qt list. Tried various suggestions from other developers: some gave different error messages, but none worked. Finally we heard from someone else with the exact same problem. They fixed it with an update to the latest Xcode. We already did that, but a new version of Apple’s command-line tools solved it for us.

Desktop development is complex, but website development is even worse. It has just as many layers, but worse code in all of them.

Dennis Kolva
Programming Director
TurtleSoft.com

Software Progress (Nov 22)

Our staff is finally back at work on the new accounting software. The move to our new location took longer than expected: mostly because the weather stayed nice. It was too tempting to work outside, thank you climate change. This property is almost a half acre, and it was very overgrown. Now there’s less to do come Spring.

The first task is to fix about 20 small bugs that turned up from testing over the past few years. For example, one happens if you enter a purchase refund, then void the deposit, then change the amount on both, then un-void the deposit. It handles the money OK and it marks the purchase as Paid, but it shows the wrong payment method. Regular purchases work OK so we just need to put the same code into voided/unvoided refunds.

We’re tackling bugs first because the programming is in familiar code. It’s a good way to get back in the groove after a two-month absence. So much evaporates in that much time. Especially during the stress of house-hunting, closing and moving.

During the gap, I realized that the end results will be very hard to market. The project has taken far too long. It will be like trying to sell a ghost.

We are finishing the new software because we need it for our own bookkeeping, and because some users already paid for it long ago. But that doesn’t even come close to paying for the many programmer-hours we’ve invested over the past six years. It’s not obvious how to recoup that, let along become profitable again.

I think we will have a free beta version, then keep it free for a while. When there are folks using it and happy, then we can figure how to make money from the app. There are many possible options.

Dennis Kolva
Programming Director
TurtleSoft.com